장문의 글에서는 가독성을 위해서 글 사이의 간격을 띄우기도 합니다.
이때 행간을 조정한다고 하는데요.
line-height 속성을 이용해 이 행간을 조정할 수 있습니다.
그러나 정확하게 line-height는 줄의 높이를 의미하는 것이고, 이를 이용해서
행간을 조정할 수 있는 것입니다.
line-height
line-height는 텍스트 라인의 높이를 의미하는 것으로 주로 행간을 제어할때 이용합니다.
행간을 제어할 때 사용하는 속성이라 해서 줄 간격으로 생각해 오해하기 쉬울 수가 있습니다.
줄 바꿈이 되었을 때, 윗줄의 텍스트 하단과 아랫줄의 텍스트 상단까지의 간격이라고 생각할 수도 있지만,
line-height로 제어되는 부분을 line-box라고도 하며 이는 타이포그래피 구조에서 배웠던 [em 박스] + [상하단의 여백]까지를 의미합니다.
또한 line-height를 적용할 때 적용할 기준 브라우저를 확인해야합니다.
예를 들어 { Font-size :17px; line-height:20px; } 일때, 행간으로 적용되어야 하는 3px가 font 위 아래 부분에 각각 어떻게 적용되는지가 브라우저에 따라 달라지기 때문입니다.
< 속성 값 >(기본값:noramal)
normal |
기본값으로 브라우저의 기본 속성을 따릅니다. 폰트에 따라 브라우저에 따라 다르지만 보통 1.2 정도로 할당되어 있습니다. |
number |
number는 단위가 없는 숫자만 입력 가능하며 font-size를 기준으로 설정한 숫자만큼 배율로 적용합니다. |
length |
px, em 등 고정 수치로 할당할 수 있습니다. |
% |
font-size를 기준으로 설정한 퍼센트만큼 배율로 적용합니다. |
주의할 점은, line-height의 값으로 number를 선언할 때와 %로 선언할 때의 차이입니다.
두 값 모두 font-size를 기준으로 동작하기 때문에 1이나 100%를 같은 것이라고 오해할 수 있습니다.
하지만 두 값은 큰 차이가 있습니다. 바로 line-height의 값이 자식 요소로 상속되었을 때의 계산 방식입니다.
- number 부모 요소의 숫자 값이 그대로 상속됩니다. 즉, 자식 요소에서도 또 한 번 자식 요소의 font-size를 기준으로 계산된 값을 가집니다.
- % 부모 요소에서 %값이 그대로 상속되는 것이 아니고, %에 의해 이미 계산된 px값이 상속됩니다.
number를 선언할 때 계산된 값이 아닌 숫자값을 상속하기 때문에 숫자값을 사용하면 부모 엘리먼트에 계산된 값 대신 비율을 그대로 상속 받을 수 있으므로 가능하면 단위가 없는 값을 사용하는 것이 좋습니다.
{line-height:2;} 와 {line-height:200%} 은 둘다 font-size의 두배를 갖기 때문에 20px*2 = 40px라는 line-height값이 나왔습니다.
이 상태에서 자식요소인 <p>의 line height를 보시면
{부모요소에 number로 선언된 경우} -> 동일한 값을 부여 받아 <p>의 font-size의 두배인 10px*2=20px가 되었습니다.
{부모요소에 %로 선언된 경우} -> 부모 font-size의 두배인 40px를 그대로 적용하였습니다.
이처럼 상속 시 발생하는 차이점 때문에 가급적 number로 선언하는 것이 좋습니다.
'Spec UP - Frontend > 부스트코스_UI 개발' 카테고리의 다른 글
CSS속성_font-weight(글꼴 굵기) (0) | 2020.03.27 |
---|---|
CSS속성_font-size(폰트사이즈) (0) | 2020.03.27 |
CSS속성_font-family & generic-family (0) | 2020.03.26 |
CSS속성_Typhography(타이포그래피) (0) | 2020.03.26 |
CSS속성_width & height (Boxmodel part.2) (0) | 2020.03.26 |
댓글