Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
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
Archives
Today
Total
관리 메뉴

Leeyanggoo

[CSS] CSS의 문자 스타일 속성을 알아보자!! 본문

2023/CSS

[CSS] CSS의 문자 스타일 속성을 알아보자!!

Leeyanggoo 2023. 3. 1. 20:49

문자 Font

 

웹 페이지 제작에 있어 문자를 꾸미고 다루는 것은 매우 중요한 부분입니다.

오늘은 CSS에서 문자를 꾸미는 여러 방법에 대해 알아보겠습니다!


font-family

 

문자에 사용할 글꼴을 정하는 속성입니다.

글꼴의 이름이 한글인 경우는 따옴표로 감싸고, 여러 개의 글꼴이 있다면 쉼표로 구분합니다.

font-family의 속성값이 여러 개인 경우 순서대로 글꼴을 읽어 들입니다.

font-family: "나눔고딕", Arial, sans-serif;

 

font-size

 

문자의 크기를 정하는 속성입니다.

기본적인 문자의 크기는 16px이며, CSS에서 사용하는 단위는 아래와 같습니다.

 

px 해상도에 따라 상대적으로 달라지는 기본 단위입니다.
font-size: 20px;
% 부모 요소의 글자 크기를 100%로 계산한 단위입니다. 특별한 설정이 없다면 16px이 100%가 됩니다.
font-size: 200%;
em 부모 요소의 글자 크기를 100%로 계산한 100분의 1 단위입니다. 특별한 설정이 없다면 16px이 1em이 됩니다.
font-size: 2.5em;
rem rem은 부모 요소가 아닌 최상위 요소의 크기를 100%로 기준을 삼습니다. rem의  r은 'root'로 HTML 요소에서 지정한 글자 크기가 1rem입니다.
font-size: 1.5rem;
vw, h vw는 뷰포트 너비값의 100분의 1, vh는 뷰포트 높이값의 100분의 1 단위입니다.
뷰포트란 현재 화면에 보여지고 있는 다각형의 영역을 말하며, 웹 브라우저에서는 현재 창에서 문서를 볼 수 있는 부분(전체화면이라면 화면 전체)을 말합니다.
font-size: 20vw;

 

font-weight

 

문자의 두께를 정하는 속성입니다. 다음과 같이 표현합니다. 해당 문서

font-weight: bold;	/*두껍게*/
normal 기본값이다. 숫자 400과 같다.
bold 문자의 두께를 기본값보다 두껍게 한다. 숫자 700과 같다.
bolder 부모 요소보다 두께를 굵게 한다.
lighter 부모 요소보다 두께를 얇게 한다.
number 문자의 두께를 normal과 bold 외의 숫자형으로 가중치를 설정한다.
initial 문자의 두께를 기본값으로 설정한다.
inherit 부모 요소의 문자 두께를 상속받는다.

 

font-style

 

문자의 기울기를 정하는 속성입니다. 주로 이텔릭체로 사용합니다.

font-style: italic;	/* font-style: normal;은 기울어지지 않은 기본 속성 */

 

font-variant

 

문자에 포함된 영문자 중 모든 소문자를 작은 대문자(small-caps)로 설정합니다.

작은 대문자 글꼴이란 문자의 기존 대문자보다 약간 작은 대문자를 의미하며, 대문자는 기존 크기 그대로 출력합니다.

 

 

line-height

 

line-height는 줄간격을 설정하는 속성입니다.

기본값은 1.0 ~ 1.2로 설정되어 있으며 숫자 단위, 길이 단위(px, em)나 퍼센트(%)로 설정합니다.

이는 부모 요소의 font-size를 기준으로 계산됩니다.

line-height: 120%	/* 부모 요소의 font-size가 16px이라면 line-height는 16px*120%인 19.2px이다.*/

 

font-

 

"font-"로 시작하는 속성들은 "font: "로 한 줄로 붙여 쓸 수 있습니다.

이런 경우 반드시 순서에 맞춰 써야 하며, 글자 크기와 글꼴은 생략할 수 없습니다.

/* font: [font-weight, font-style, font-variant][font-size/line-height][font-family]; */
font: 20px "나눔고딕" /* 두 속성은 생략할 수 없음 */

 

 

웹폰트

 

기본 글꼴이 아닌 경우 글꼴 파일이 없는 사용자의 화면에서는 페이지에 사용한 글꼴이 제대로 표시되지 않습니다.

웹폰트를 사용하면 언제 어디서나 원하는 글꼴로 페이지가 표시되도록 할 수 있습니다.

CSS는 글꼴 파일을 업로드해 사용하는 "@font-face" 방식과 이미 업로드 된 폰트를 "url"를 이용해 불러오는 방식이 있습니다.

 

@font-face 방식은 글꼴 파일을 업로드하여 사용하므로 글꼴 파일의 용량이 크면 페이지의 로딩 속도가 느려지거나, 용량이 작은 경우는 글자가 뭉개져 보일 수 있으므로 주의가 필요합니다.

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  src: local('Open Sans'), local('OpenSans'), url('font/Open Sans.woff');}

 

다른 방식으로는 url을 통해 이미 업로드된 폰트를 연결하는 방식입니다.

대표적으로 구글 웹폰트가 있으며 사용법은 다음과 같습니다.

 

/* @import 방식 */
@import url('https://fonts.googleapis.com/css2?family=Nanum+Gothic&display=swap');

/* link 방식 */
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Nanum+Gothic&display=swap" rel="stylesheet">

 

최근엔 @import 방식 보다 <link> 방식을 선호합니다. 이유는 다음과 같습니다.

@import를 많이 사용한다면, 익스플로러에서는 다운로드 순서가 다르게 작동하여 문제가 발생할 수 있으며, 병렬방식이 아닌 직렬방식으로 다운로드 하기때문에 전체 로딩시간이 길어지는 문제점이 있기에, 추천하는 방법은 아니다.

<link> 태그는 하나의 파일에 여러 페이지의 스타일을 일괄 수정 및 추가 등 유지/보수에 용이하며, 직렬방식이 아닌 병렬방식으로 다운로드 하기에 로딩속도가 빠르고, CSS파일 여러개를 Link 방식으로 다운로드 하더라도 익스플로러에서 순서가 동일하게 작동한다. (관련 문서)

 

color

 

문자의 색상을 지정하는 속성입니다. 다음과 같이 표현합니다.

color: red;

색상명을 표현하는 방법은 여러 가지가 있습니다.

해당 색상을 의미하는 고유명사를 속성값으로 사용하거나, 00~ff 사이의 수치로 표현하는 16진수를 사용할 수도 있습니다. 자세한 건 관련 문서에서 색상을 소개하고 있습니다. (관련 문서)

또한 rgb(red, green, blue)나 hsl(hue, saturation, lightness)에 alpha 값을 추가한 rgba, hsla 등도 사용할 수 있습니다. (관련 문서)

 

letter-spacing, word-spaing

 

글자 간의 간격은 letter-spacing, 단어 간의 간격은 word-spacing 속성으로 값을 부여합니다.

자간(letter-spacing)은 음수를 부여하면 원래 자간이 넓은 글꼴의 경우 더욱 밀착시킬 수 있습니다.

letter-spacing: -10px;
word-spacing: 20px;

 

text-decoration

 

문자에 밑줄, 윗줄, 가운데줄을 치거나 쳤던 줄을 없애는 속성입니다.

 

underline 밑줄
overline 윗줄
line-through 가운데줄
none 줄 없음

 

text-transform

 

대소문자의 변경을 입력하는 속성입니다.

 

uppercase 대문자
lowercase 소문자
capitalize 첫 글자만 대문자

 

text-shadow

 

text-shadow는 그래픽 프로그램 없이 글자에 그림자를 주는 속성입니다.

text-shadow: 6px 7px 2px rgba(0,0,0,20);

부여되는 속성의 순서는 다음과 같습니다.

 

6px 그림자가 원본에서 떨어지는 가로 거리
7px 그림자가 원본에서 떨어지는 세로 거리
2px 그림자가 흐릿하게 퍼지는 정도(쓰지 않으면 생략 가능)
rgba 그림자의 색상(다른 색상명으로도 가능하다)

 

위의 text-shadow의 적용 예시입니다.

 

See the Pen CSS_text-shadow by leeyanggoo (@leeyanggoo) on CodePen.