티스토리 뷰
안녕하세요 찐망고입니다.
오늘은 폰트 단위 관련 포스팅을 시작해볼게요
HTML에서 단위는 상대적인수치와 절대적인수치로 나뉘는데요.
div {
width: 200px;
height: 200px;
font-size: 16px;
}
div > span {
display: block;
width: 100%;
height: 80%;
font-size: 1em;
}
span이 div의 자식이라고 가정할 때 %는 부모요소의 크기를 기준으로 들어갑니다.
width와 height모두 200px이 되겠죠?
본인이 absolute인 경우엔 relative의 크기를 상속받기도 합니다.
참고로 height요소를 %로 지정할 경우 무조건 상속받을 부모에게 높이값이 존재해야 합니다.
px말고 가장 많이 사용하는 폰트 단위는 em과 rem인데
이 단위들은 font-size속성에 따라 달라지는 단위입니다.
div {
width: 200px;
height: 200px;
font-size: 16px;
}
div > span {
display: block;
width: 100%;
height: 80%;
font-size: 1em; // 16px
}
이 코드에서 span의 폰트사이즈는 16px입니다.
부모요소인 div요소가 18px이면 18px이 되고, 20px이면 20px이 됩니다.
그래서 em단위는 마진이나 패딩 여백 혹은 border-radius에도 많이 사용합니다.
텍스트를 기준으로 여백을 잡기 좋거든요.
rem단위는 root의 font-size속성을 따라가는데요.
html요소의 font-size에 영향을 받아요.
기본 브라우저 html폰트사이즈가 16px이기 때문에 1rem은 16px입니다.
html {
font-size: 62.5%;
}
div {
font-size: 20px;
}
div > p {
font-size: 1em; // 20px
}
div > p > span {
font-size: 1rem; // 10px
}
하지만 16px은 계산하기가 힘들잖아요.
그래서 html에 font-size속성을 10px로 맞추는 작업을 하기도 합니다.
16px이 100%니까 계산을 해보면 10px은 62.5%가 나오겠죠?
저 요소들끼리 상속되어 있다고 가정하면
div > p 요소인 1em은 그 부모요소의 20px을 고대로 받을 것이고
div > p > span 요소는 html의 font-size인 10px을 고대로 받겠죠?
'WEB > CSS' 카테고리의 다른 글
사이트 내 유용한 기능! Sticky 속성의 매력 (0) | 2024.04.18 |
---|---|
새로운 구글 머티리얼 심볼 활용법: 웹아이콘의 모든 것 (1) | 2024.04.17 |
CSS 그리드로 메이크샵 레이아웃 클론코딩하기 (0) | 2024.04.15 |
모바일 환경에서의 뷰포트 높이: vh에서 dvh로 전환하기 (0) | 2024.04.09 |
마우스 호버 CSS 밑줄 효과, CSS hover 밑줄 애니메이션 (0) | 2024.04.08 |
- Total
- Today
- Yesterday
- Slick
- css4
- 포토샵합성
- 웹표준
- 슬라이드플러그인
- JavaScriptTips
- 웹접근성
- css그리드
- css
- slickAPI
- 코딩교육
- 피그마플러그인
- uidesign
- JavaScript
- 시멘틱마크업
- 프로그래밍기초
- padding
- 웹디자인
- 자바스크립트숫자카운트
- uiux
- 스마트폰해상도
- margin
- CSS3
- boxmodel
- uxdesign
- UI디자인
- 반응형웹
- Border
- 크로스브라우징
- 디자인팁
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |