Share
Sign In
🔟

폰트 rem, em, px에 대한 고찰

참고할만한 사이트
가변 글꼴 em과 rem
우선 em과 rem 모두 길이가 유연한 가변 단위로서, 디자인에 설정된 폰트 크기에 따라 브라우저에 의해 픽셀값으로 변환된다. 만약에 1em 혹은 1rem 값을 지정했다면, 브라우저에 의해 16px부터 160px 까지, 아니면 기타 다양한 값으로 변환될 수 있다.
가변 글꼴 em
em은 해당 속성 값이 적용된 태그의 부모의 px값에서 설정한 em값을 곱해 나온 결과 px이 화면에 표시되는 크기이다.
다음 예를 살펴보자.
em 속성값이 적용되어있는 <div> 태그의 크기는 부모 태그의 크기값*em값 이다.
따라서 위에서는 1.5px*2em = 3px 이 된다.
• em 단위의 픽셀값 변환은 사용된 요소의 폰트 크기에 따라 결정된다. 이 폰트 크기 또한 상속에 구애를 받지 않는 절대 단위를 가지고 명시적으로 덮어씌우지 않았다면, 상위 요소로부터 상속의 영향을 받는다.
가변 글꼴 rem
rem은 해당 속성값이 적용된 태그의 최상위 부모의 크기를 곱한 값이 표시되는 크기이다.
다음 예제를 살펴보자.
rem 속성값이 적용되어있는 div 태그의 최상위 부모의 px에 em값을 곱하면
3px*2em = 6px이 된다.
왜 rem을 사용해야 하는가?
rem을 사용함으로써 사용자가 설정한 폰트 크기에 따라 사이트에 배치된 모든 구성 요소가 적절하게 반응한다는 장점이 있다.
위의 이유로 rem 단위를 사용하는 주된 목적은 사용자가 브라우저의 기본 폰트 크기를 어떤 값으로 설정했든 간에, 이에 따른 가변 텍스트 크기에 맞춰서 사이트 레이아웃이 적절히 조정 될 수 있도록 하려는 것이다.
(일반적으로 처음엔 브라우저 기본 폰트 크기인 16px에 맞춰서 디자인 한다.)
rem단위를 사용하면, 사용자가 폰트 크기를 늘리더라도, 레이아웃은 그대로 온전하게 보전될 수 있고, 텍스트 또한 작은 텍스트에만 어울리는 빽빽한 공간 에서 찌그러져 버리는 불상사가 생기지 않을 것이다.
사용자가 여러가지 이유로(시력, 사용 장비 등에 따른) 폰트의 크기를 설정하는데, 이러한 설정에 적절히 대응한다면 훨씬 나은 사용자 경험을 제공할 수 있다.
💡
일반적인 기본 브라우저의 글꼴 크기는 16px이다. 이렇게 되면 웹 접근성을 해치며, 개발자가 rem단위로 계산하기 어렵다.

따라서 html 폰트 사이즈를 62.5%로 설정하는 방법이 있다.
html 폰트 사이즈를 62.5%로 설정하게 되면, 여젼히 1.6rem = 16px로 계산이 가능하게 된다. 또한 사용자가 기본 글씨 크기를 변경할 수 있고, 픽셀 단위처럼 문제가 생기지 않는다.
폰트가 아닌 rem 단위를 사용해야하는 경우
폰트의 크기에 따라 그 크기가 변해야하는 곳에는 모두 사용한다.
일반 디자인 거의 모두에 해당하는 높이, 너비, 패딩, 마진, 테두리 너비, 폰트 크기, 그림자 등이 기본적인 레이아웃에 해당한다.
우선 픽셀 단위로 생각하고 결과는 나중에 rem 단위로 환산하면 쉽다.
미디어 쿼리에도 rem 단위를 사용하자.
rem단위를 사용하여 일정한 비율로 크기가 변해야 하는 경우, media queries에도 꼭 rem 단위를 사용하는 것이 중요하다. 이는 사용자가 지정한 브라우저의 폰트 크기에 맞춰 올바로 반응하면서 레이아웃이 자동으로 조정 될 것이다.
만약
rem과 em 모두 쓰지 말아야 하는 경우
다중 칼럼 레이아웃의 너비
레이아웃의 다중 칼럼은 보통 % 기반의 단위를 쓰도록 해서 예상치 못한 화면 크기에도 유동적으로 반응할 수 있도록 해야한다.
칼럼이 하나일 경우에도 max-width에 rem을 지정해 놓아도 원만하게 작동될 것이다.
이렇게 하면 칼럼의 크기는 유동적으로 변하지만, 동시에 그 안에 있는 글이 읽기 불편할 정도로 너무 넓어지는 것도 막을 수 있다.
요소의 크기가 절대 변하면 안 되는 상황
일반 웹 디자인에선 레이아웃 구성 요소 중에 크기가 변한다고 부적절한 상황을 초래할 일은 별로 없다. 하지만 간혹 크기가 변하는 것을 막기 위해 고정된 값을 지정해야 하는 상황이 생길 수도 있다.
고정된 크기의 값을 지정하기 전에 미리 고려해야 할 사항이라면 해당 요소의 크기가 변할 경우 레이아웃이 망가져 버릴 때이다. 하지만 이런 경우는 별로 없으므로, px 단위를 꺼내 들기 전에 정말로 필요한 것인지 한번 더 검토해 보시기 바란다.
CSS 홈으로 돌아가기
CSS3
메인으로 돌아가기
참고할만한 사이트
가변 글꼴 em과 rem
우선 em과 rem 모두 길이가 유연한 가변 단위로서, 디자인에 설정된 폰트 크기에 따라 브라우저에 의해 픽셀값으로 변환된다. 만약에 1em 혹은 1rem 값을 지정했다면, 브라우저에 의해 16px부터 160px 까지, 아니면 기타 다양한 값으로 변환될 수 있다.
가변 글꼴 em
em은 해당 속성 값이 적용된 태그의 부모의 px값에서 설정한 em값을 곱해 나온 결과 px이 화면에 표시되는 크기이다.
다음 예를 살펴보자.
em 속성값이 적용되어있는 <div> 태그의 크기는 부모 태그의 크기값*em값 이다.
따라서 위에서는 1.5px*2em = 3px 이 된다.
• em 단위의 픽셀값 변환은 사용된 요소의 폰트 크기에 따라 결정된다. 이 폰트 크기 또한 상속에 구애를 받지 않는 절대 단위를 가지고 명시적으로 덮어씌우지 않았다면, 상위 요소로부터 상속의 영향을 받는다.
가변 글꼴 rem
rem은 해당 속성값이 적용된 태그의 최상위 부모의 크기를 곱한 값이 표시되는 크기이다.
다음 예제를 살펴보자.
rem 속성값이 적용되어있는 div 태그의 최상위 부모의 px에 em값을 곱하면
3px*2em = 6px이 된다.
왜 rem을 사용해야 하는가?
rem을 사용함으로써 사용자가 설정한 폰트 크기에 따라 사이트에 배치된 모든 구성 요소가 적절하게 반응한다는 장점이 있다.
위의 이유로 rem 단위를 사용하는 주된 목적은 사용자가 브라우저의 기본 폰트 크기를 어떤 값으로 설정했든 간에, 이에 따른 가변 텍스트 크기에 맞춰서 사이트 레이아웃이 적절히 조정 될 수 있도록 하려는 것이다.
(일반적으로 처음엔 브라우저 기본 폰트 크기인 16px에 맞춰서 디자인 한다.)
rem단위를 사용하면, 사용자가 폰트 크기를 늘리더라도, 레이아웃은 그대로 온전하게 보전될 수 있고, 텍스트 또한 작은 텍스트에만 어울리는 빽빽한 공간 에서 찌그러져 버리는 불상사가 생기지 않을 것이다.
사용자가 여러가지 이유로(시력, 사용 장비 등에 따른) 폰트의 크기를 설정하는데, 이러한 설정에 적절히 대응한다면 훨씬 나은 사용자 경험을 제공할 수 있다.
💡
일반적인 기본 브라우저의 글꼴 크기는 16px이다. 이렇게 되면 웹 접근성을 해치며, 개발자가 rem단위로 계산하기 어렵다.

따라서 html 폰트 사이즈를 62.5%로 설정하는 방법이 있다.
html 폰트 사이즈를 62.5%로 설정하게 되면, 여젼히 1.6rem = 16px로 계산이 가능하게 된다. 또한 사용자가 기본 글씨 크기를 변경할 수 있고, 픽셀 단위처럼 문제가 생기지 않는다.
폰트가 아닌 rem 단위를 사용해야하는 경우
폰트의 크기에 따라 그 크기가 변해야하는 곳에는 모두 사용한다.
일반 디자인 거의 모두에 해당하는 높이, 너비, 패딩, 마진, 테두리 너비, 폰트 크기, 그림자 등이 기본적인 레이아웃에 해당한다.
우선 픽셀 단위로 생각하고 결과는 나중에 rem 단위로 환산하면 쉽다.
미디어 쿼리에도 rem 단위를 사용하자.
rem단위를 사용하여 일정한 비율로 크기가 변해야 하는 경우, media queries에도 꼭 rem 단위를 사용하는 것이 중요하다. 이는 사용자가 지정한 브라우저의 폰트 크기에 맞춰 올바로 반응하면서 레이아웃이 자동으로 조정 될 것이다.
만약
rem과 em 모두 쓰지 말아야 하는 경우
다중 칼럼 레이아웃의 너비
레이아웃의 다중 칼럼은 보통 % 기반의 단위를 쓰도록 해서 예상치 못한 화면 크기에도 유동적으로 반응할 수 있도록 해야한다.
칼럼이 하나일 경우에도 max-width에 rem을 지정해 놓아도 원만하게 작동될 것이다.
이렇게 하면 칼럼의 크기는 유동적으로 변하지만, 동시에 그 안에 있는 글이 읽기 불편할 정도로 너무 넓어지는 것도 막을 수 있다.
요소의 크기가 절대 변하면 안 되는 상황
일반 웹 디자인에선 레이아웃 구성 요소 중에 크기가 변한다고 부적절한 상황을 초래할 일은 별로 없다. 하지만 간혹 크기가 변하는 것을 막기 위해 고정된 값을 지정해야 하는 상황이 생길 수도 있다.
고정된 크기의 값을 지정하기 전에 미리 고려해야 할 사항이라면 해당 요소의 크기가 변할 경우 레이아웃이 망가져 버릴 때이다. 하지만 이런 경우는 별로 없으므로, px 단위를 꺼내 들기 전에 정말로 필요한 것인지 한번 더 검토해 보시기 바란다.
CSS 홈으로 돌아가기
CSS3
메인으로 돌아가기
참고할만한 사이트
가변 글꼴 em과 rem
우선 em과 rem 모두 길이가 유연한 가변 단위로서, 디자인에 설정된 폰트 크기에 따라 브라우저에 의해 픽셀값으로 변환된다. 만약에 1em 혹은 1rem 값을 지정했다면, 브라우저에 의해 16px부터 160px 까지, 아니면 기타 다양한 값으로 변환될 수 있다.
가변 글꼴 em
em은 해당 속성 값이 적용된 태그의 부모의 px값에서 설정한 em값을 곱해 나온 결과 px이 화면에 표시되는 크기이다.
다음 예를 살펴보자.
em 속성값이 적용되어있는 <div> 태그의 크기는 부모 태그의 크기값*em값 이다.
따라서 위에서는 1.5px*2em = 3px 이 된다.
• em 단위의 픽셀값 변환은 사용된 요소의 폰트 크기에 따라 결정된다. 이 폰트 크기 또한 상속에 구애를 받지 않는 절대 단위를 가지고 명시적으로 덮어씌우지 않았다면, 상위 요소로부터 상속의 영향을 받는다.
가변 글꼴 rem
rem은 해당 속성값이 적용된 태그의 최상위 부모의 크기를 곱한 값이 표시되는 크기이다.
다음 예제를 살펴보자.
rem 속성값이 적용되어있는 div 태그의 최상위 부모의 px에 em값을 곱하면
3px*2em = 6px이 된다.
왜 rem을 사용해야 하는가?
rem을 사용함으로써 사용자가 설정한 폰트 크기에 따라 사이트에 배치된 모든 구성 요소가 적절하게 반응한다는 장점이 있다.
위의 이유로 rem 단위를 사용하는 주된 목적은 사용자가 브라우저의 기본 폰트 크기를 어떤 값으로 설정했든 간에, 이에 따른 가변 텍스트 크기에 맞춰서 사이트 레이아웃이 적절히 조정 될 수 있도록 하려는 것이다.
(일반적으로 처음엔 브라우저 기본 폰트 크기인 16px에 맞춰서 디자인 한다.)
rem단위를 사용하면, 사용자가 폰트 크기를 늘리더라도, 레이아웃은 그대로 온전하게 보전될 수 있고, 텍스트 또한 작은 텍스트에만 어울리는 빽빽한 공간 에서 찌그러져 버리는 불상사가 생기지 않을 것이다.
사용자가 여러가지 이유로(시력, 사용 장비 등에 따른) 폰트의 크기를 설정하는데, 이러한 설정에 적절히 대응한다면 훨씬 나은 사용자 경험을 제공할 수 있다.
💡
일반적인 기본 브라우저의 글꼴 크기는 16px이다. 이렇게 되면 웹 접근성을 해치며, 개발자가 rem단위로 계산하기 어렵다.

따라서 html 폰트 사이즈를 62.5%로 설정하는 방법이 있다.
html 폰트 사이즈를 62.5%로 설정하게 되면, 여젼히 1.6rem = 16px로 계산이 가능하게 된다. 또한 사용자가 기본 글씨 크기를 변경할 수 있고, 픽셀 단위처럼 문제가 생기지 않는다.
폰트가 아닌 rem 단위를 사용해야하는 경우
폰트의 크기에 따라 그 크기가 변해야하는 곳에는 모두 사용한다.
일반 디자인 거의 모두에 해당하는 높이, 너비, 패딩, 마진, 테두리 너비, 폰트 크기, 그림자 등이 기본적인 레이아웃에 해당한다.
우선 픽셀 단위로 생각하고 결과는 나중에 rem 단위로 환산하면 쉽다.
미디어 쿼리에도 rem 단위를 사용하자.
rem단위를 사용하여 일정한 비율로 크기가 변해야 하는 경우, media queries에도 꼭 rem 단위를 사용하는 것이 중요하다. 이는 사용자가 지정한 브라우저의 폰트 크기에 맞춰 올바로 반응하면서 레이아웃이 자동으로 조정 될 것이다.
만약
rem과 em 모두 쓰지 말아야 하는 경우
다중 칼럼 레이아웃의 너비
레이아웃의 다중 칼럼은 보통 % 기반의 단위를 쓰도록 해서 예상치 못한 화면 크기에도 유동적으로 반응할 수 있도록 해야한다.
칼럼이 하나일 경우에도 max-width에 rem을 지정해 놓아도 원만하게 작동될 것이다.
이렇게 하면 칼럼의 크기는 유동적으로 변하지만, 동시에 그 안에 있는 글이 읽기 불편할 정도로 너무 넓어지는 것도 막을 수 있다.
요소의 크기가 절대 변하면 안 되는 상황
일반 웹 디자인에선 레이아웃 구성 요소 중에 크기가 변한다고 부적절한 상황을 초래할 일은 별로 없다. 하지만 간혹 크기가 변하는 것을 막기 위해 고정된 값을 지정해야 하는 상황이 생길 수도 있다.
고정된 크기의 값을 지정하기 전에 미리 고려해야 할 사항이라면 해당 요소의 크기가 변할 경우 레이아웃이 망가져 버릴 때이다. 하지만 이런 경우는 별로 없으므로, px 단위를 꺼내 들기 전에 정말로 필요한 것인지 한번 더 검토해 보시기 바란다.
CSS 홈으로 돌아가기
CSS3
메인으로 돌아가기
참고할만한 사이트
가변 글꼴 em과 rem
우선 em과 rem 모두 길이가 유연한 가변 단위로서, 디자인에 설정된 폰트 크기에 따라 브라우저에 의해 픽셀값으로 변환된다. 만약에 1em 혹은 1rem 값을 지정했다면, 브라우저에 의해 16px부터 160px 까지, 아니면 기타 다양한 값으로 변환될 수 있다.
가변 글꼴 em
em은 해당 속성 값이 적용된 태그의 부모의 px값에서 설정한 em값을 곱해 나온 결과 px이 화면에 표시되는 크기이다.
다음 예를 살펴보자.
em 속성값이 적용되어있는 <div> 태그의 크기는 부모 태그의 크기값*em값 이다.
따라서 위에서는 1.5px*2em = 3px 이 된다.
• em 단위의 픽셀값 변환은 사용된 요소의 폰트 크기에 따라 결정된다. 이 폰트 크기 또한 상속에 구애를 받지 않는 절대 단위를 가지고 명시적으로 덮어씌우지 않았다면, 상위 요소로부터 상속의 영향을 받는다.
가변 글꼴 rem
rem은 해당 속성값이 적용된 태그의 최상위 부모의 크기를 곱한 값이 표시되는 크기이다.
다음 예제를 살펴보자.
rem 속성값이 적용되어있는 div 태그의 최상위 부모의 px에 em값을 곱하면
3px*2em = 6px이 된다.
왜 rem을 사용해야 하는가?
rem을 사용함으로써 사용자가 설정한 폰트 크기에 따라 사이트에 배치된 모든 구성 요소가 적절하게 반응한다는 장점이 있다.
위의 이유로 rem 단위를 사용하는 주된 목적은 사용자가 브라우저의 기본 폰트 크기를 어떤 값으로 설정했든 간에, 이에 따른 가변 텍스트 크기에 맞춰서 사이트 레이아웃이 적절히 조정 될 수 있도록 하려는 것이다.
(일반적으로 처음엔 브라우저 기본 폰트 크기인 16px에 맞춰서 디자인 한다.)
rem단위를 사용하면, 사용자가 폰트 크기를 늘리더라도, 레이아웃은 그대로 온전하게 보전될 수 있고, 텍스트 또한 작은 텍스트에만 어울리는 빽빽한 공간 에서 찌그러져 버리는 불상사가 생기지 않을 것이다.
사용자가 여러가지 이유로(시력, 사용 장비 등에 따른) 폰트의 크기를 설정하는데, 이러한 설정에 적절히 대응한다면 훨씬 나은 사용자 경험을 제공할 수 있다.
💡
일반적인 기본 브라우저의 글꼴 크기는 16px이다. 이렇게 되면 웹 접근성을 해치며, 개발자가 rem단위로 계산하기 어렵다.

따라서 html 폰트 사이즈를 62.5%로 설정하는 방법이 있다.
html 폰트 사이즈를 62.5%로 설정하게 되면, 여젼히 1.6rem = 16px로 계산이 가능하게 된다. 또한 사용자가 기본 글씨 크기를 변경할 수 있고, 픽셀 단위처럼 문제가 생기지 않는다.
폰트가 아닌 rem 단위를 사용해야하는 경우
폰트의 크기에 따라 그 크기가 변해야하는 곳에는 모두 사용한다.
일반 디자인 거의 모두에 해당하는 높이, 너비, 패딩, 마진, 테두리 너비, 폰트 크기, 그림자 등이 기본적인 레이아웃에 해당한다.
우선 픽셀 단위로 생각하고 결과는 나중에 rem 단위로 환산하면 쉽다.
미디어 쿼리에도 rem 단위를 사용하자.
rem단위를 사용하여 일정한 비율로 크기가 변해야 하는 경우, media queries에도 꼭 rem 단위를 사용하는 것이 중요하다. 이는 사용자가 지정한 브라우저의 폰트 크기에 맞춰 올바로 반응하면서 레이아웃이 자동으로 조정 될 것이다.
만약
rem과 em 모두 쓰지 말아야 하는 경우
다중 칼럼 레이아웃의 너비
레이아웃의 다중 칼럼은 보통 % 기반의 단위를 쓰도록 해서 예상치 못한 화면 크기에도 유동적으로 반응할 수 있도록 해야한다.
칼럼이 하나일 경우에도 max-width에 rem을 지정해 놓아도 원만하게 작동될 것이다.
이렇게 하면 칼럼의 크기는 유동적으로 변하지만, 동시에 그 안에 있는 글이 읽기 불편할 정도로 너무 넓어지는 것도 막을 수 있다.
요소의 크기가 절대 변하면 안 되는 상황
일반 웹 디자인에선 레이아웃 구성 요소 중에 크기가 변한다고 부적절한 상황을 초래할 일은 별로 없다. 하지만 간혹 크기가 변하는 것을 막기 위해 고정된 값을 지정해야 하는 상황이 생길 수도 있다.
고정된 크기의 값을 지정하기 전에 미리 고려해야 할 사항이라면 해당 요소의 크기가 변할 경우 레이아웃이 망가져 버릴 때이다. 하지만 이런 경우는 별로 없으므로, px 단위를 꺼내 들기 전에 정말로 필요한 것인지 한번 더 검토해 보시기 바란다.
CSS 홈으로 돌아가기
CSS3
메인으로 돌아가기
참고할만한 사이트
가변 글꼴 em과 rem
우선 em과 rem 모두 길이가 유연한 가변 단위로서, 디자인에 설정된 폰트 크기에 따라 브라우저에 의해 픽셀값으로 변환된다. 만약에 1em 혹은 1rem 값을 지정했다면, 브라우저에 의해 16px부터 160px 까지, 아니면 기타 다양한 값으로 변환될 수 있다.
가변 글꼴 em
em은 해당 속성 값이 적용된 태그의 부모의 px값에서 설정한 em값을 곱해 나온 결과 px이 화면에 표시되는 크기이다.
다음 예를 살펴보자.
em 속성값이 적용되어있는 <div> 태그의 크기는 부모 태그의 크기값*em값 이다.
따라서 위에서는 1.5px*2em = 3px 이 된다.
• em 단위의 픽셀값 변환은 사용된 요소의 폰트 크기에 따라 결정된다. 이 폰트 크기 또한 상속에 구애를 받지 않는 절대 단위를 가지고 명시적으로 덮어씌우지 않았다면, 상위 요소로부터 상속의 영향을 받는다.
가변 글꼴 rem
rem은 해당 속성값이 적용된 태그의 최상위 부모의 크기를 곱한 값이 표시되는 크기이다.
다음 예제를 살펴보자.
rem 속성값이 적용되어있는 div 태그의 최상위 부모의 px에 em값을 곱하면
3px*2em = 6px이 된다.
왜 rem을 사용해야 하는가?
rem을 사용함으로써 사용자가 설정한 폰트 크기에 따라 사이트에 배치된 모든 구성 요소가 적절하게 반응한다는 장점이 있다.
위의 이유로 rem 단위를 사용하는 주된 목적은 사용자가 브라우저의 기본 폰트 크기를 어떤 값으로 설정했든 간에, 이에 따른 가변 텍스트 크기에 맞춰서 사이트 레이아웃이 적절히 조정 될 수 있도록 하려는 것이다.
(일반적으로 처음엔 브라우저 기본 폰트 크기인 16px에 맞춰서 디자인 한다.)
rem단위를 사용하면, 사용자가 폰트 크기를 늘리더라도, 레이아웃은 그대로 온전하게 보전될 수 있고, 텍스트 또한 작은 텍스트에만 어울리는 빽빽한 공간 에서 찌그러져 버리는 불상사가 생기지 않을 것이다.
사용자가 여러가지 이유로(시력, 사용 장비 등에 따른) 폰트의 크기를 설정하는데, 이러한 설정에 적절히 대응한다면 훨씬 나은 사용자 경험을 제공할 수 있다.
💡
일반적인 기본 브라우저의 글꼴 크기는 16px이다. 이렇게 되면 웹 접근성을 해치며, 개발자가 rem단위로 계산하기 어렵다.

따라서 html 폰트 사이즈를 62.5%로 설정하는 방법이 있다.
html 폰트 사이즈를 62.5%로 설정하게 되면, 여젼히 1.6rem = 16px로 계산이 가능하게 된다. 또한 사용자가 기본 글씨 크기를 변경할 수 있고, 픽셀 단위처럼 문제가 생기지 않는다.
폰트가 아닌 rem 단위를 사용해야하는 경우
폰트의 크기에 따라 그 크기가 변해야하는 곳에는 모두 사용한다.
일반 디자인 거의 모두에 해당하는 높이, 너비, 패딩, 마진, 테두리 너비, 폰트 크기, 그림자 등이 기본적인 레이아웃에 해당한다.
우선 픽셀 단위로 생각하고 결과는 나중에 rem 단위로 환산하면 쉽다.
미디어 쿼리에도 rem 단위를 사용하자.
rem단위를 사용하여 일정한 비율로 크기가 변해야 하는 경우, media queries에도 꼭 rem 단위를 사용하는 것이 중요하다. 이는 사용자가 지정한 브라우저의 폰트 크기에 맞춰 올바로 반응하면서 레이아웃이 자동으로 조정 될 것이다.
만약
rem과 em 모두 쓰지 말아야 하는 경우
다중 칼럼 레이아웃의 너비
레이아웃의 다중 칼럼은 보통 % 기반의 단위를 쓰도록 해서 예상치 못한 화면 크기에도 유동적으로 반응할 수 있도록 해야한다.
칼럼이 하나일 경우에도 max-width에 rem을 지정해 놓아도 원만하게 작동될 것이다.
이렇게 하면 칼럼의 크기는 유동적으로 변하지만, 동시에 그 안에 있는 글이 읽기 불편할 정도로 너무 넓어지는 것도 막을 수 있다.
요소의 크기가 절대 변하면 안 되는 상황
일반 웹 디자인에선 레이아웃 구성 요소 중에 크기가 변한다고 부적절한 상황을 초래할 일은 별로 없다. 하지만 간혹 크기가 변하는 것을 막기 위해 고정된 값을 지정해야 하는 상황이 생길 수도 있다.
고정된 크기의 값을 지정하기 전에 미리 고려해야 할 사항이라면 해당 요소의 크기가 변할 경우 레이아웃이 망가져 버릴 때이다. 하지만 이런 경우는 별로 없으므로, px 단위를 꺼내 들기 전에 정말로 필요한 것인지 한번 더 검토해 보시기 바란다.
CSS 홈으로 돌아가기
CSS3
메인으로 돌아가기
참고할만한 사이트
가변 글꼴 em과 rem
우선 em과 rem 모두 길이가 유연한 가변 단위로서, 디자인에 설정된 폰트 크기에 따라 브라우저에 의해 픽셀값으로 변환된다. 만약에 1em 혹은 1rem 값을 지정했다면, 브라우저에 의해 16px부터 160px 까지, 아니면 기타 다양한 값으로 변환될 수 있다.
가변 글꼴 em
em은 해당 속성 값이 적용된 태그의 부모의 px값에서 설정한 em값을 곱해 나온 결과 px이 화면에 표시되는 크기이다.
다음 예를 살펴보자.
em 속성값이 적용되어있는 <div> 태그의 크기는 부모 태그의 크기값*em값 이다.
따라서 위에서는 1.5px*2em = 3px 이 된다.
• em 단위의 픽셀값 변환은 사용된 요소의 폰트 크기에 따라 결정된다. 이 폰트 크기 또한 상속에 구애를 받지 않는 절대 단위를 가지고 명시적으로 덮어씌우지 않았다면, 상위 요소로부터 상속의 영향을 받는다.
가변 글꼴 rem
rem은 해당 속성값이 적용된 태그의 최상위 부모의 크기를 곱한 값이 표시되는 크기이다.
다음 예제를 살펴보자.
rem 속성값이 적용되어있는 div 태그의 최상위 부모의 px에 em값을 곱하면
3px*2em = 6px이 된다.
왜 rem을 사용해야 하는가?
rem을 사용함으로써 사용자가 설정한 폰트 크기에 따라 사이트에 배치된 모든 구성 요소가 적절하게 반응한다는 장점이 있다.
위의 이유로 rem 단위를 사용하는 주된 목적은 사용자가 브라우저의 기본 폰트 크기를 어떤 값으로 설정했든 간에, 이에 따른 가변 텍스트 크기에 맞춰서 사이트 레이아웃이 적절히 조정 될 수 있도록 하려는 것이다.
(일반적으로 처음엔 브라우저 기본 폰트 크기인 16px에 맞춰서 디자인 한다.)
rem단위를 사용하면, 사용자가 폰트 크기를 늘리더라도, 레이아웃은 그대로 온전하게 보전될 수 있고, 텍스트 또한 작은 텍스트에만 어울리는 빽빽한 공간 에서 찌그러져 버리는 불상사가 생기지 않을 것이다.
사용자가 여러가지 이유로(시력, 사용 장비 등에 따른) 폰트의 크기를 설정하는데, 이러한 설정에 적절히 대응한다면 훨씬 나은 사용자 경험을 제공할 수 있다.
💡
일반적인 기본 브라우저의 글꼴 크기는 16px이다. 이렇게 되면 웹 접근성을 해치며, 개발자가 rem단위로 계산하기 어렵다.

따라서 html 폰트 사이즈를 62.5%로 설정하는 방법이 있다.
html 폰트 사이즈를 62.5%로 설정하게 되면, 여젼히 1.6rem = 16px로 계산이 가능하게 된다. 또한 사용자가 기본 글씨 크기를 변경할 수 있고, 픽셀 단위처럼 문제가 생기지 않는다.
폰트가 아닌 rem 단위를 사용해야하는 경우