ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CSS 입문 (4) 폰트, 텍스트
    Frontend/CSS 2023. 7. 26. 23:36

    1) typography

    • Baseline: 소문자 ‘x’의 하단 라인 (소문자 ‘x’가 기준)
    • ex: 소문자 ‘x’의 높이 (소문자 ‘x’가 기준)
    • Descender: Baseline 아래로 넘어가는 영역 . ex) xgypqjx … 에서 x뒤에 나오는 문자들의 꼬리가 위치하는 영역
    • Ascender: ex 위로 넘어가는 영역. ex) xTbAldkiJhx ….. 에서 x뒤에 나온 문자들의 상단이 위치하는 영역
    • em: 폰트의 전체 높이.

    2) font-family

    글꼴을 결정하는 속성. font-family: family-name, generic-family

      • 이름 중간에 공백이 있거나 한글명일 때에는 작은따옴표(’) 로 묶어서 선언.
      • 한글 글꼴을 지정할 때에는 반드시 영문으로된 글꼴명도 같이 선언해줄 것.
      • ex) font-family: Dotum, ‘돋움’, sans serif;
      • serif: 삐침이 있는 기본 글꼴. sefit라는 단어 자체가 삐침이라는 의미를 가짐.
      • sans serif: 삐침이 없는 기본 글꼴. 프랑스어로 without과 동일한 의미.family-name: 글꼴명. 쉼표(,) 를 이용하여 1개 이상 선언할 수 있고 앞순서부터 우선순위가 높다. 

    • generic-family: 글꼴명을 값으로 가지며, font-family 마지막에 오는 값이 generic-family가 된다. 앞에 나열된 family-name 글꼴이 모두 지원되지 않을 때 적절한 대체되어 사용되는 글꼴. 항상(상속받은 family-name이 있다고 하더라도) 반드시 사용해줄 것.

     

     

    3) line-height

    줄의 높이를 의미하는 속성. 행간을 조절할 때 사용.

    font-size + 위, 아래 여백(=[em 박스] + [상하단의 여백])을 포함한 높이

    line-height로 제어되는 부분을 line-box라고 한다. 모든 텍스트는 line box를 갖는다.

    • normal : Default 값. 브라우저마다 조금씩 다르지만 기본적으로 폰트 크기 대비 1.2
    • length: px, pt 처럼 높이를 고정값으로 지정. font-size가 커져도 여백은 그대로일 때.
    • percent: 상속 받은 font-size 대비 계산. 상속 시 부모 요소 기준으로 계산된 line-height의 px 값이 상속됨.
    • number: 단위 없이 숫자만 적음. 현재 font-size 기준으로 설정한 숫자만큼 배율 계산. 상속 시 number 값 자체가 상속됨. 자식요소에서 상속된 line-height 의 number 값을 가지고 재계산.
      • percent와 number의 차이
      <!-- <body>의 자식요소로 <p>가 있을 때-->
      
      body{font-size: 20px; line-height: 2;}
      p{font-size: 10px;}    /* 실제 적용되는 line-height: 20px */
      
      body{font-size: 20px; line-height: 200%;}
      p{font-size: 10px;}    /* 실제 적용되는 line-height: 40px */
      

    4) font-size

    • Keyword로 지정 : absolute-size / relative-size(부모 요소 글자 크기 대비), 기본 값은 medium. 브라우저에 따라 지정된 Keyword 별 크기가 다를 수 있으므로 실무에서는 잘 사용하지 않음.
    • length: px, pt, em 등 고정 값 사용.
      • em: 부모 요소의 font-size에 em 값을 곲한 크기.
      • rem: 루트의 font-size에 rem 값을 곱한 크기
    • percent: %. 글자 크기에서는 em과 동일한 동작을 보임.
    • viewport: vw, vh 단위 사용. 뷰표트 기준(?, 강의에서는 설명 X), 유동적인 font-size를 만들 때 사용. 반응형 Web 을 만들 때 사용되는 것 같음.
    • font-size가 지정되지 않을 경우 기본적으로 글자 크기는 16px(=1em) 이다.

    5) font-weight

    글꼴의 굵기를 지정하는 속성

      • Keyword: normal(Default), bold, bolder, lighter, initial, inherit… - bolder와 lighter는 부모 요소에 의존적이므로 실무에서는 잘 사용하지 않음
      • number: 100 ~ 900 (100 단위). 기본적으로 400이 normal. normal과 bold만 지원한는 글꼴은 100 ~ 500 이 normal 그 이상은 bold로 인식함.
    • 특정 symetic Tag들은 기본적으로 font-weitht 속성을 갖고 있는 경우도 있음. ex) <strong></strong>, 강조의 의미는 주고싶지만 굵기는 바꾸고 싶을 때 font-weight을 별도로 선언하면 됨.

    6) font-style

    글꼴 스타일 지정

    • 값: normal, italic (여기까지 가장 많이 사용), oblique-각도를 세밀하게 조절하여 기울일 수 있음.
    • initial / inherit

    7) font-variant

    글꼴 변환. 값이 small-caps일 때 소문자를 작은 대문자 형태로 표현하는 기능

    • normal: 기본 값
    • small-caps: 소문자를 작은 대문자로 변환.

    8) font

    font와 관련된 속성들을 축약형으로 사용할 수 있는 속성. 그러나 선언 순서나 반드시 사용되어야 하는 필수 속성(font-size, font-family) 등의 제약이 있어 실무에서는 사용 지양함.

    font: font-style font-variant font-weight font-size/line-height font-family|……

    9) 웹 폰트 (@font-face)

    • 시스템 폰트: font-family로 선언한 글꼴이 사용되는 폰트(기기에서 해당 폰트를 지원할 때)
    • 이미지 폰트: 이미지로 표현하는 글꼴. 실제로는 이미지임.
    • 웹폰트: 서버에 저장했다가 제공하거나 웹 경로를 import시켜 사용하는 폰트. 폰트 파일 자체를 웹에서 제공하는 것이 특징. → 사용자 지정 font를 사용하려면 src 속성으로 경로를 제공하는 것이 필수임.
    @font-face{ font-familyL: webTmpfont; /*자체제작 폰트*/ src: url(~); /*필요에 따라 속성 추가*/ } body{ font-family: webTmpfont; }
    • 설치형폰트: 사용 시 사용자의 로컬 한경에 글꼴을 다운로드 받아 적용하는 폰트. ex) 나눔고딕. 웹폰트와 유사. 명확한 차이점은 아직 모르겠음.

     

    댓글

Designed by Tistory.