[ css ] 글꼴 사이즈를 반응형으로 만들기 > html&css

본문 바로가기
사이트 내 전체검색

html&css

[ css ] 글꼴 사이즈를 반응형으로 만들기

페이지 정보

작성자 웹지기 댓글 0건 조회 17,234회 작성일 18-10-23 10:14

본문

 반응형 웹에서 골치 아픈 문제 중 하나가 글꼴 사이즈

화면 크기에 비례하는 글꼴 사이즈를 지정할 수 있도록 하기 위해 CSS3 에는 rem(root em) 이라는 단위를 제공

루트 요소인 <html> 요소에 지정한 글꼴 크기를 기준으로 특정 요소의 글꼴 크기를 결정하는 방식으로써 

부모 요소의 글꼴 크기를 기준으로 삼는 em 이라는 단위보다 계산하기 편리

또한 페이지 전체적으로 적용되어 있는 서로 다른 크기의 글꼴을 동일한 비율을 적용하여 일괄 변경할 수 있는 방식

[code]

@media (max-width:360px){html{font-size:10px;}}

@media (min-width:361px) and (max-width:399px){html{font-size:11px;}}

@media (min-width:400px) and (max-width:439px){html{font-size:12px;}}

@media (min-width:440px) and (max-width:479px){html{font-size:13px;}}

@media (min-width:480px) and (max-width:519px){html{font-size:14px;}}

@media (min-width:520px) and (max-width:559px){html{font-size:15px;}}

@media (min-width:560px) and (max-width:599px){html{font-size:16px;}}

@media (min-width:600px) and (max-width:639px){html{font-size:17px;}}

@media (min-width:640px) and (max-width:679px){html{font-size:18px;}}

@media (min-width:680px) and (max-width:719px){html{font-size:19px;}}

@media (min-width:720px) and (max-width:759px){html{font-size:20px;}}

@media (min-width:760px) and (max-width:799px){html{font-size:21px;}}

@media (min-width:800px) and (max-width:839px){html{font-size:22px;}}

@media (min-width:840px) and (max-width:879px){html{font-size:23px;}}

@media (min-width:880px){html{font-size:24px;}}

[/code]

자바스크립트로 window.width()를 구해서 html 요소의 글꼴 크기를 변경한다면 좀 더 멋져 보이고 코드 양을 줄일 수 있을 것 같기함.


.btn-small{font-size:1.1rem;}

.btn-medium{font-size:1.2rem;}

.btn-large{font-size:1.4rem;}


.btn-small 버튼을 예로 들면 1.1rem 으로써 360px 이하 너비 단말에서 루트 요소인 html{font-size:10px;} 코드의 영향으로 인해 11px으로 계산됨. 

10px 크기의 1.1배 이기 때문에 11px 으로 계산되는 원리

만약 단말 해상도가 720px 이라면 루트 요소의 글꼴 크기가 html{font-size:20px;} 이기 때문에 .btn-small 버튼의 글꼴 크기는 20px 크기의 1.1배 즉 22px 으로 계산됨


위 코드는 화면 크기에 비례해서 약 40px 정도의 간격을 기준으로 루트 요소의 글꼴 크기가 1px씩 증감하도록 미디어 쿼리로 설정해 놓은 것.


rem 단위는 font-size에 한정해서만 사용할 수 있는 것은 아님.

border-width:0.1rem; width:10rem 등과 같이 length 값을 제공할 수 있는 속성의 값 단위로 얼마든지 사용할 수 있다.


IE 8 브라우저가 지원하지 않으므로 국내 데스크톱 단말에 대응하는 서비스에 사용하기에는 무리가 있지만 모바일 단말에 한한다면 상용으로 적용해도 좋을 것입니다.

추천0 비추천0

댓글목록

등록된 댓글이 없습니다.

Total 42건 1 페이지
  • 42 [ css ] css를 이용하여 글자 강조 깜빡거리게 하기
  • css를 이용하여 글자 강조 깜빡거리게 하기 keyframes 를 이용하여 활용이 가능하다. 아래의 코드를 css에 적용시켜 주면 된다. @keyframes blink-effect { 50%{ opacity:0; } } .blink { animation: blink-effect 1s step-end infinite; /* 다른 기능을 원한 다면 이부분의 주석을 해제. animation-name: blink-effect; animation-durat...
  • 웹지기 11-17 3369 0 0 댓글 0
  • 35 [ css ] border style 종류
  • border style 종류 - solid, dotted, dashed, double, groove, ridge, inset, outset
  • 웹지기 01-12 3035 0 0 댓글 0
  • 34 [ css ] box-sizing - 요소의 크기를 화면에 표시하는 방식
  • 박스사이징(box-sizing) - 요소의 크기를 화면에 표시하는 방식 - 컨텐츠 기준으로 바뀜 div{ margin:10px;width:150px;} #small{border:10px solid #000;} #large{border:30px solid #000;} &lt;div id="small"&gt;small&lt;/div&gt; &lt;div id="large"&gt;large&lt...
  • 웹지기 01-11 3235 0 0 댓글 0
  • 33 [ css ] 마진 상쇄 현상
  • 마진 상쇄 현상 마진과 마진이 만났을 때 큰 마진이 작은 마진을 먹어버리는 현상 .a{margin:100px;} .b{margin:50px;} 일때 .b 클래스의 margin-top:50px은 .a의 margin-bottom:100px에 의해 상쇄된다.
  • 웹지기 01-11 3107 0 0 댓글 0
  • 32 [ css ] 공간분할 태그
  • 공간분할 태그 - 경계를 분할하거나 영역을 나눌 때 사용하는 태그 블록형식 태그 인라인형식 태그 태그종류 div, h1~h6, p, ul, ol, li, tr, th, td span, a, input, b, i, small, sub, sup, ins, del ...
  • 웹지기 01-11 3142 0 0 댓글 0
  • 31 [ css ] css 명시도 계산법
  • CSS는 명시도 계산법에 따라 점수를 계산해서 마지막에 실행 !import 인라인 방식 내부 외부 임포트 최우선 1000 ...
  • 웹지기 01-11 3151 0 0 댓글 0
  • 30 [ css ] 반응 선택자
  • 반응 선택자 - 사용자의 반응으로 생성되는 특정한 상태를 선택 선택자형태 설 명 :active 마우스로 클릭할 때 선택 :hover 마우스를 올린 태그를 선택
  • 웹지기 01-11 2496 0 0 댓글 0
  • 29 [ css ] css 의 크기 단위
  • 크기단위 - 요소 또는 텍스트의 크기를 지정하는 단위 px - 화소 하나의 크기에 대응되는 단위(고정값) em - 부모요소 크기에 따른 배수단위 rem - html 태그의 요소 크기의 몇배인지 지정하는 단위
  • 웹지기 01-11 2584 0 0 댓글 0
  • 28 [ css ] CSS : Cascading Style Sheets
  • Cascading Style Sheets(CSS)는 HTML이나 XML(SVG, XHTML 같은 XML 방언(dialect) 포함)로 작성된 문서의 표현을 기술하기 위해 쓰이는 스타일시트 언어입니다. CSS는 요소가 화면, 종이, 음성이나 다른 매체 상에 어떻게 렌더링되어야 하는지 기술합니다. CSS는 오픈 웹의 핵심 언어 중 하나이며 W3C 명세에 따라 브라우저끼리 표준을 맞춥니다. 레벨 단위로 개발한 CSS1은 더 이상 사용하지 않고, 다음 레벨인 CSS2.1은 권고안이며, 레벨보...
  • 웹지기 01-11 2533 0 0 댓글 0
게시물 검색

회원로그인

접속자집계

오늘
290
어제
5,664
최대
33,828
전체
8,390,013

그누보드5
Copyright © funyphp.com. All rights reserved.