CSS로 최대 라인 수와 최소 라인 수를 고정하는 방법을 알아보자

2025. 1. 1. 20:21·웹 프론트엔드

들어가면서

안녕하세요. 요즘에 플러피(fluffy)라는 온라인 시험 문제 제작 및 관리 서비스를 만들고 있습니다.

 

이 서비스에는 시험 목록을 보여주는 부분이 많습니다. 시험 목록에는 아래와 같은 카드가 존재하고, 여기에 시험을 설명하는 글이 들어갑니다. 시험 설명 글의 줄 수에 따라 카드의 높이가 달라지게 됩니다. 저는 카드마다 높이가 다른 것은 일관성이 없어 보기가 불편했습니다.

이러한 이유로 시험 설명의 최대 라인 수와 최소 라인 수를 고정해보았습니다.

최대 라인 수 고정

먼저, 최대 라인 수를 고정하는 법을 알아보겠습니다.

이 속성을 적용할 경우, 줄 수는 최대 3줄까지 늘어나고, 그것을 넘어가면 "..."으로 처리하게 됩니다.

{
    overflow: hidden; // 넘치는 부분을 숨김
    display: -webkit-box; // 텍스트 수직 정렬
    -webkit-box-orient: vertical; // 텍스트 수직 정렬
    -webkit-line-clamp: 3; // 텍스트 줄 수 및 줄 수 초과 시 생략 부분 처리 ex) "..."
}

최소 라인 수 고정

다음으로, 최소 라인 수를 고정하는 방법을 알아보겠습니다.

line-clamp만을 적용할 경우 특정 라인 수보다 적을 경우는 높이가 줄어들게 됩니다. 그렇기 때문에 라인 당 높이와 줄 수를 곱한 값을 높이로 지정해주어야 합니다. 이렇게 할 경우 line-clamp 값보다 적은 줄 수여도 카드가 줄어들지 않습니다.

{
    font-size: 0.875rem; // 예시
    line-height: 1.25rem; // 20px
    height: 3.75rem; // 라인 당 높이 1.25rem X 3줄 = 3.75rem
}

적용 결과

다음의 이미지에서 좌측 상단 카드와 같이 줄 수가 3줄을 넘어갈 경우 "..."처리됩니다. 참고로 이 카드의 시험 설명도 높이가 60px입니다.

중앙 하단의 카드는 한 줄만 있음에도 높이가 60px로 높이가 3줄과 동일하게 되었습니다.

높이를 고정한 카드 이미지

 

'웹 프론트엔드' 카테고리의 다른 글

React에서 Zustand 기반 Event Bus로 SSE(Server-Sent Events) 이벤트 깔끔하게 관리하기  (0) 2025.05.21
마크다운 에디터에서 이미지 업로드 후 링크로 삽입하는 방법  (0) 2025.02.03
낙관적 업데이트와 디바운스로 [좋아요 기능] 사용자 경험 향상시키기 with Tanstack Query  (0) 2025.01.22
모바일에서 vh대신 svh를 사용해서 주소창을 제외한 높이를 구해보자  (0) 2024.12.22
'웹 프론트엔드' 카테고리의 다른 글
  • React에서 Zustand 기반 Event Bus로 SSE(Server-Sent Events) 이벤트 깔끔하게 관리하기
  • 마크다운 에디터에서 이미지 업로드 후 링크로 삽입하는 방법
  • 낙관적 업데이트와 디바운스로 [좋아요 기능] 사용자 경험 향상시키기 with Tanstack Query
  • 모바일에서 vh대신 svh를 사용해서 주소창을 제외한 높이를 구해보자
alstn113
alstn113
웹 프론트엔드, 서버 개발에 관한 이야기를 다룹니다 :D
  • alstn113
    alstn113's devlog
    alstn113
  • 전체
    오늘
    어제
    • 분류 전체보기 (50)
      • 서버 (21)
      • 웹 프론트엔드 (5)
      • 협업 (2)
      • 우아한테크코스 6기 백엔드 (12)
      • 책, 영상, 블로그 정리 (8)
      • 회고 (1)
  • 블로그 메뉴

    • 홈
  • 링크

    • Github
  • 공지사항

  • 인기 글

  • 태그

    우아한테크코스
    회고
    글쓰기
    플러피
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
alstn113
CSS로 최대 라인 수와 최소 라인 수를 고정하는 방법을 알아보자
상단으로

티스토리툴바