CSS

CSS 문자 관련 스타일에 대해서 알아보자

Kim do hyun 2023. 3. 1. 19:06
728x90
반응형

문자 관련 스타일

 

 

01. font-family

문자의 글꼴을 지정하는 속성입니다.

 

여러 단어이거나 한글 글꼴인 경우는 따옴표로 감싸고 여러 개의 글꼴을 쉼표로 구분하여, 지정한 글꼴이 없을 경우 그 다음 글꼴로 지정할 수 있습니다.

font-family: '돋움', Dotum, Helvetica, sans-serif ;

 

 

02. font-size, 단위의 고찰

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

 

글자 크기는 명시하지 않을 경우 16px이 기본값입니다. CSS에서 유용하게 사용하는 단위에는 다음과 같은 것들이 있습니다.

 

▶px

해상도에 따라 상대적으로 달라지는 기본 단위로서, 다음과 같이 표현합니다.

font-size: 12px;

 

▶%

부모 요소의 글자 크기를 100% 기준으로 계산한 % 단위로서, 다음과 같이 표현합니다.

font-size: 150%;

 

▶em

부모 요소의 글자 크기를 100% 기준으로 계산한 100 분의1 단위로서, 다음과 같이 표현합니다.

font-size: 1.5em;

특별한 설정이 없다면 16px이 1em이 되므로, 1.5em은 24px (16px x 1.5=24px)이 됩니다. 만약 부모 요소가 10px이었다면 1.5em은 15px이 될 것입니다.

 

▶rem

rem은 em과 비슷하지만 부모 요소가 아닌 최상위 요소의 크기를 100% 기준으로 계산합니다. rem의 r은 root 즉, html 요소를 뜻하므로, html 요소에서 지정한 글자 크기가 1rem이 됩니다.

font-size: 1.5rem;

 

▶vw, vh

vw는 뷰포트 너비값의 100분의 1 단위, vh는 뷰포트 높이값의 100분의 1 단위이며, 다음과 같이 표현합니다.

font-size: 10vw;

위 예문은 글자 크기가 뷰포트 너비의 10% 크기라는 의미입니다.

 

 

 

▶font-weight

문자를 굵게 하거나 굵은 문자를 보통으로 재설정하는 속성으로, 다음과 같이 표현합니다.

굵은 문자로 설정 보통 문자로 설정
font-weight: bold; font-weight:normal;

 

 

▶font-style

문자를 기울어지게 하거나 기울어지지 않게 재설정하는 속성으로, 다음과 같이 표현합니다.

기울어지게 설정 기울어지지 않게 설정
font-style:italic; font-style:normal;

 

 

▶font-variant

문자를 작은 대문자로 설정하거나 원래 문자로 재설정하는 속성으로, 다음과 같이 표현합니다.

작은 대문자로 설정 원래대로 설정
font-variant: small-caps; font-variant: normal;

 

 

 

06. line-height

줄간격을 px, %, em 등의 단위로 지정할 수 있으며, 다음과 같이 표현합니다.

line-height: 1.4;

단위를 생략하면 em으로 처리됩니다. 1.4em은 140%입니다. 줄간격 없이 딱 붙이고자 할 경우에는 100%, 또는 1em 값을 지정하면 됩니다.

 

부모 요소의 font-size를 기준으로 계산되며, height와 같은 수치를 주면 세로 중앙정렬을 할 수 있습니다.

height: 50px;
line-height: 50px;

 

 

07. font

'font~'로 시작하는 속성들은 line-height와 함께 'font:~' 한 줄로 붙여 쓸 수 있는데 그럴 경우 반드시 다음 세 가지 순서에 맞추어 써야 하며, 글자 크기와 글꼴은 결코 생략할 수 없습니다.

 

font:[font-weight, font-style, font-variant][font-size/line-height][font-family];

body { font: 12px/1.4 '굴림', Gulim; }
맞는 예 틀린 예
font: 12px Times; font: bold 12px/1.5; (글꼴을 쓰지 않았음)
  font: 12px/1.5 bold Times; (bold를 맨 앞에 써야 함)

 

 

 

08. 웹폰트

기본 글꼴이 아닌 경우 글꼴 파일이 없는 사용자의 화면에서는 페이지에 사용한 글꼴이 제대로 표시되지 않을 수 있으므로, 언제 어디서나 원하는 글꼴로 페이지가 표시되도록 하려면 웹폰트를 사용하는 것이 좋습니다.

웹폰트는 라이센스가 필요한 유료 폰트도 많이 있으므로 반드시 확인하고 사용하도록 합니다.

 

▶font-face

CSS3에서는 글꼴 파일을 업로드하여 사용하는 @font-face를 사용할 수 있습니다. 글꼴 파일과 용량이 크면 로딩되는 속도가 느리고, 용량이 적으면 글자가 약간 뭉개져 보일 수 있으므로 여러 번 테스트하여 결정합니다.

 

 

▶구글 웹폰트

글꼴 파일을 구해 업로드하지 않고도 구글 웹폰트를 이용하면 이미 업로드되어 있는 경로를 통하여 무료 웹폰트를 사용할 수 있습니다.

 

 

09. color. 색상 코드 고찰

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

color: blue;

CSS의 색상은 글자색( color )뿐 아니라 배경생( background), 테두리색 ( border ) 등 다양한 CSS 속성들에 적용됩니다.

 

 

▶ 색상명

해당 색상을 의미하는 고유명사를 속성값으로 사용합니다. 사용할 수 있는 속성값으로는 red, green, blue, aqua, corel, ...등 여러 가지가 있으나 해당 색상값을 의미하는 단어를 미리 알고 있어야 합니다.

속성 값 속성 설명
color: orange; 글자를 오렌지색으로 표현
background: beige; 배경을 베이지색으로 표현
border-color: tomato; 테두리를 토마토색으로 표현

 

 

▶ HEX값

red, green, blue의 세 가지 색을 16진수 00~ff 사이의 수치로 표현하는 것으로서 #rrggbb형태로 기술합니다.

#aabbcc와 같이 세 가지 색 모두 두 자리 값이 같으면 #abc라고 한자리로 줄여 쓸 수 있습니다. 

red, green, blue는 빛의 3원색이므로 값이 커지면 더 밝은 색이 됩니다. 따라서 최대값 #ffffff는 흰색을 의미하고, 최소값 #000000은 검정색을 의미하며, 가운데 자리만 최대값인 #00ff00 은 green색을 의미합니다.

이와 같이 red, green, blue의 16진수 두 자리 값을 적절히 배합하면 어떤 색이 나올지 예상할 수 있습니다.

 

 

▶ RGB값

rgb( red, green, blue ) 형태로 기술하며 red, green, blue는 10진수 0~255 사이의 수치로 표현합니다.

속성 값 속성 설명
color: rgb[255, 128, 0]; 글자를 red:255, green:128, blue:0 색상으로 표현

 

▶HSL 값

hsl( hue, saturation, lightness ) 형태로 기술하며 hue ( 색상 )는 0~360 색상환 값, saturation( 채도 )과 lightness( 명도 )는 %값으로 표현합니다.

 

HSL 값으로 색상 속성을 부여한 예입니다.

속성 값 속성 설명
color: hsl[300, 100%, 50%] 글자를 hue:300도, 채도:100%, 명도:50% 로 표현

 

▶RGBA값

rgba( red, green, blue, alpha ) 형태로 기술하며 alpha는 0~1 사이의 투명도를 나타냅ㅈ니다.

속성 값 속성 설명
background: rgba[255, 0, 0, 0.5]; 배경을 빨간색으로 반투명으로 표현

 

▶HSLA값

hsla( hue, saturation, lightness, alpha ) 형태로 기술하며 alpha는 0~1 사이의 투명도를 나타냅니다.

속성 값 속성 설명
background: hsla[0, 100%, 100%, 0.5]; 배경을 빨간색으로 반투명으로 표현

 

 

 

10. letter-spacing, word-spacing

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

 

letter-spacing 에 음수를 부여하면 원래 자간이 떨어진 글꼴의 경우 더욱 밀착시킬 수 있습니다.

letter-spacing: -1px;

 

 

 

 

11. text-decoration

글자에 밑줄, 윗줄, 가운데줄을 치거나 쳤던 줄을 없애줍니다.

속성 값 속성 설명
underline 밑줄
overline 윗줄
line-through 가운데줄
none 줄 없음

 

 

 

12. text-transform

대소문자 변경을 실행합니다.

속성 값 속성 설명
uppercase 대문자
lowercase 소문자
capitalize 첫글자만 대문자

 

 

13. text-shadow

CSS3 에서는 그래픽 프로그램의 도움 없이도 글자에 그림자를 주는 속성을 부여할 수 있습니다.

text-shadow: 2px 3px 5px rgba( 0, 0, 0, 0.4 );

 

위 예문의 의미는 다음과 같습니다.

속성 값 속성 설명
2px 그림자가 원본에서 떨어지는 가로 거리
3px 그림자가 원본에서 떨어지는 세로 거리
5px  그림자가 흐릿하게 퍼지는 정도 ( 쓰찌 않으면 퍼지는 효과 없음 )
rgba( 0, 0, 0, 0.4 ) 그림자의 색상( red, green, blue, alpha )