CSS 입문 | CSS 기본 속성 | CSS 텍스트 (text)


CSS에서 사용할 수 있는 대표적인 text 속성은 다음과 같다.

속성 설명
color 텍스트의 색상을 설정함.
direction 텍스트가 쓰이는 방향을 설정함.
letter-spacing 텍스트 내에서 문자 사이의 간격을 설정함.
word-spacing 텍스트 내에서 단어 사이의 간격을 설정함.
text-indent 단락의 첫 줄을 들여쓰기할지 안 할지를 설정함.
text-align 텍스트의 수평 방향 정렬을 설정함.
text-decoration 텍스트에 여러 가지 효과를 설정하거나 제거함.
text-transform 텍스트에 포함된 영문자에 대한 대소문자를 설정함.
line-height 텍스트의 줄 간격을 설정함.
text-shadow 텍스트에 그림자 효과를 설정함.
unicode-bidi direction 속성과 같이 사용하여 텍스트의 기본 출력 방향을 설정함.
vertical-align HTML 요소 내의 수직 방향 정렬을 설정함.
white-space HTML 요소 내의 여백을 설정함.

color 속성

color 속성은 텍스트의 색상을 설정한다.

웹 페이지에서 텍스트의 기본 색상은 검정색이다. <body> 태그에 명시된 color 속성값은 웹 페이지 내의 모든 텍스트 요소에 적용된다. 하지만 각 요소별로 따로 명시된 color 속성값이 있다면, 해당 속성값이 <body> 태그에 명시된 속성값보다 우선 적용된다.

<style>
    body { color: red; }
    p { color: maroon; }
</style>

direction 속성

direction 속성은 텍스트가 써지는 방향을 설정한다.

웹 페이지에서 텍스트는 기본적으로 왼쪽에서 오른쪽 방향으로 써진다. direction 속성이 left-to-right(ltr)일 때는 기본 설정처럼 텍스트가 왼쪽에서 오른쪽 방향으로 써진다. 하지만, direction 속성이 right-to-left(rtl)일 때는 텍스트가 반대 방향인 오른쪽에서 왼쪽 방향으로 써진다.

<style>
    .rightToLeft { direction: rtl; }
</style>

letter-spacing 속성

letter-spacing 속성은 텍스트 내에서 글자 사이의 간격을 설정한다.

<style>
    .decLetterSpacing { letter-spacing: -3px; }
    .incLetterSpacing { letter-spacing: 10px; }
</style>

word-spacing 속성

word-spacing 속성은 텍스트 내에서 단어 사이의 간격을 설정한다.

letter-spacing 속성과는 달리 문자 간의 간격이 아닌 단어 간의 간격을 기준으로 설정한다.

<style>
    .decWordSpacing { word-spacing: -3px; }
    .incWordSpacing { word-spacing: 10px; }
</style>

text-indent 속성

text-indent 속성은 단락의 첫 줄에 들여쓰기 할지 안할지를 설정한다.

웹 페이지에서 단락은 기본적으로 들여쓰기가 설정되어 있지 않다.

<style>
    .paraIndent { text-indent: 30px; }
</style>

text-align 속성

text-align 속성은 텍스트의 수평 방향 정렬을 설정한다.

text-align 속성으로 설정된 정렬 방향은 text-direction 속성과는 상관없이 우선적으로 적용된다.

<style>
    h2 { text-align: left; }
    h3 { text-align: right; }
    h4 { text-align: center; }
</style>

text-decoration 속성

text-decoration 속성은 텍스트를 몇가지 형태로 꾸밀 수 있다.

<style>
    h2 { text-decoration: overline; }
    h3 { text-decoration: line-through; }
    h4 { text-decoration: underline; }
    a { text-decoration: none; }
</style>

text-decoration 속성값을 none으로 설정하여 링크(link)가 설정된 텍스트의 밑줄을 제거하는데 자주 사용한다.

text-transform 속성

text-transform 속성은 텍스트에 포함된 영문자에 대한 대소문자를 설정한다.

이 속성은 텍스트에 포함된 모든 영문자를 대문자나 소문자로 변경시켜 줍니다.
또한, 단어의 첫 문자만을 대문자로 변경시킬 수도 있다.

<style>
    h2 { text-transform: uppercase; }
    h3 { text-transform: lowercase; }
    h4 { text-transform: capitalize; }
</style>

text-transform 속성은 한글에는 영향을 주지 않으며, 오직 영문자에만 적용된다.

line-height 속성

line-height 속성은 텍스트의 줄 간격을 설정한다.

<style>
    .narrowLineHeight { line-height: 0.8; }
    .wideLineHeight { line-height: 1.8; }
</style>

text-shadow 속성

text-shadow 속성은 텍스트에 간단한 그림자 효과를 설정한다.

<style>
    h2 { text-shadow: 2px 1px #3399CC; }
</style>

CSS3 텍스트

CSS3에서는 HTML 문서 내에 존재하는 텍스트를 더욱 다양한 방법으로 조작할 수 있게 되었다. CSS3에서 새롭게 추가된 텍스트에 관한 속성은 다음과 같다.

속성 설명
text-overflow 콘텐츠(content) 영역을 벗어난 텍스트를 어떻게 표현할지를 설정함.
word-wrap 길이가 긴 단어가 콘텐츠(content) 영역을 벗어나면 그 단어를 다음 줄에 나누어 표현할 수 있도록 함.
word-break 긴 단어를 나누어 표현해야 할 때 해당 단어가 나뉘는 기준을 설정함.
text-emphasis 사용자가 강조 표현을 설정할 수 있도록 함.
text-align-last 텍스트의 마지막 줄의 정렬 방법을 설정함.
text-justify 텍스트의 정렬이 양끝 맞춤으로 되어 있을 때 그 정렬 방법을 설정함.

CSS3 텍스트 속성 지원 버전

CSS3 텍스트 속성을 지원하는 주요 웹 브라우저의 버전은 다음과 같다.
또한, 브라우저별로 벤더 프리픽스(vendor prefix)를 이용해 이 기능을 최초로 지원한 버전도 같이 표기했다.

속성 ie chrome firefox safari opera
text-overflow 6.0 4.0 7.0 3.1 11.0 / 9.0 -o-
word-wrap 5.5 23.0 3.5 6.1 12.1
word-break 5.5 4.0 15.0 3.1 15.0

text-overflow 속성

text-overflow 속성은 콘텐츠(content) 영역을 벗어난 텍스트를 어떻게 표현할지를 설정한다.
영역을 벗어난 텍스트 부분을 자를 수도 있으며, 생략 부호(…)를 사용하여 표현할 수도 있다.

<style>
    p { white-space: nowrap; width: 250px; overflow: hidden; }
    #p_01 { text-overflow: clip; }
    #p_02 { text-overflow: ellipsis; }
</style>

overflow 속성값을 visible로 설정하면, 사용자에게 콘텐츠 영역을 벗어나 생략된 텍스트까지 보여줄 수 있다.

<style>
    #p_01:hover, #p_02:hover { overflow: visible; }
</style>

word-wrap 속성

word-wrap 속성은 콘텐츠 영역을 벗어난 길이가 긴 단어를 다음 줄에 나누어 표현할 수 있도록 해준다.

<style>
    p { border: solid 1px black; width: 130px; }
    #p_01, #p_03 { word-wrap: break-word; }
</style>

word-wrap 속성은 영문자로 구성된 단어에만 적용되며, 한글에는 적용되지 않는다.

word-break 속성

word-break 속성은 길이가 긴 단어를 나누어 표현해야 할 때 단어가 나뉘는 기준을 설정한다.
단어를 문자별로 나눌 수도 있으며, 하이픈(-)을 기준으로 나눌 수도 있다.

<style>
    p { border: solid 1px black; width: 130px; }
    #p_02 { word-break: break-all; }
    #p_03 { word-break: keep-all; }
</style>

위의 예제에서 word-wrap 속성과 word-break 속성의 차이를 확인할 수 있다.

word-break 속성은 영문자로 구성된 단어에만 적용되며, 한글은 자동으로 속성값이 break-all로 적용된다.