본문 바로가기
CSS

CSS-문단(paragraph) 관련 스타일

by Hrin_0820 2020. 8. 12.

1. text- align : 문단 정렬. 블록 요소에만 적용되는 속성

속성 값 설명
left 왼쪽 정렬
center 가운데 정렬
right 오른쪽 정렬
justify 양쪽 정렬

2. vertical-align : 이미지나 폼 요소 정렬. img, input, select, label, 테이블의 tr, td 등에 사용

속성 값 설명
top 위쪽 정렬
middle 세로 중앙 정렬
bottom 아래쪽 정렬

3. text-indent : 문자의 첫머리를 들여쓰기 해주는 속성. 블록요소에만 적용.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>align</title>
    <style>
        .align{width: 600px; height: 400px; padding: 0 5px 5px; border: 1px solid #000;}
        .align p:nth-child(1){text-align: left;}
        .align p:nth-child(2){text-align: center;}
        .align p:nth-child(3){text-align: right;}
        .align p:nth-child(4){text-align: justify;}
        .align p:nth-child(5){text-indent: 10px;}
        img{width: 250px;}
        .valign img{vertical-align: middle}
    </style>
</head>
<body>
   <div class="align">
        <p>왼쪽으로! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sint architecto, eveniet dolorem quos perspiciatis optio vero soluta voluptatibus omnis repellat libero eaque at ipsam saepe quas alias, voluptatem ullam itaque?</p>
        <p>중앙으로! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sint architecto, eveniet dolorem quos perspiciatis optio vero soluta voluptatibus omnis repellat libero eaque at ipsam saepe quas alias, voluptatem ullam itaque?</p>
        <p>오른쪽으로! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sint architecto, eveniet dolorem quos perspiciatis optio vero soluta voluptatibus omnis repellat libero eaque at ipsam saepe quas alias, voluptatem ullam itaque?</p>
        <p>~양쪽으로~ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sint architecto, eveniet dolorem quos perspiciatis optio vero soluta voluptatibus omnis repellat libero eaque at ipsam saepe quas alias, voluptatem ullam itaque?</p>
        <p>들여쓰기! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sint architecto, eveniet dolorem quos perspiciatis optio vero soluta voluptatibus omnis repellat libero eaque at ipsam saepe quas alias, voluptatem ullam itaque?</p>
    </div>
       
        <p class="valign">강아지 네마리 <img src="img/dog.jpg" alt="dog"></p>
        
</body>
</html>

출력 이미지

4. word-wrap : 한 단어의 길이가 길어서 부모 영역을 벗어난 텍스트의 처리 방법을 정의.

단어를 어느 정도는 고려하여 개행

word-wrap: break-word;

5. word-break : 부모 영역을 벗어난 텍스트의 처리 방법을 정의.

속성 값 설명
nomal 기본값
break-all 글자가 넘치면 줄바꿈
keep-all 단어를 끊어 줄바꿈하지 않음

word-break: break-all;은 단어를 고려하지 않고 부모 영역에 맞추어 강제 개행

제일 이상적인 방법 : 단어도 유지되고 부모 영역을 벗어난 텍스트도 없게 처리
{  word-break: keep-all; word-wrap: break-wrod;  }
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>word-wrap, break</title>
    <style>
        .word p{width: 150px; border: 1px solid #000;}
        .word1{word-wrap: break-word;}
        .word2{word-break: normal;}
        .word3{word-break: break-all;}
        .word4{word-break: keep-all;}
        .word5{word-break: keep-all; word-wrap: break-word;}
    </style>
</head>
<body>
    <h2>기본값</h2>
    <p>Loremipsum dolorsitamet, consecteturadipisicingelit.</p>
    <h2>word-wrap</h2>
    <p class="word1">Loremipsum dolorsitamet, consecteturadipisicingelit.</p>
    <h2>word-break: nomal</h2>
    <p class="word2">Loremipsum dolorsitamet, consecteturadipisicingelit.</p>
    <h2>word-break: break-all</h2>
    <p class="word3">Loremipsum dolorsitamet, consecteturadipisicingelit.</p>
    <h2>word-break: keep-all</h2>
    <p class="word4">Loremipsum dolorsitamet, consecteturadipisicingelit.</p>
    <h2>word-wrap & word-break: keep-all</h2>
    <p class="word5">Loremipsum dolorsitamet, consecteturadipisicingelit.</p>
</body>
</html>
word-wrap, break

기본값

Loremipsum dolorsitamet, consecteturadipisicingelit.

word-wrap

Loremipsum dolorsitamet, consecteturadipisicingelit.

word-break: nomal

Loremipsum dolorsitamet, consecteturadipisicingelit.

word-break: break-all

Loremipsum dolorsitamet, consecteturadipisicingelit.

word-break: keep-all

Loremipsum dolorsitamet, consecteturadipisicingelit.

word-wrap & word-break: keep-all

Loremipsum dolorsitamet, consecteturadipisicingelit.

6. white-space : 공백(space), 들여쓰기(tab), 줄바꿈(line break)을 의미.

html은 기본적으로 연속된 공백(space), 들여쓰기(tab)는 1번만 실행되며 줄바꿈(line break)은 무시된다.

또한 텍스트는 부모의 가로 영역을 벗어나지 않고 자동 줄바꿈(wrap)된다.

속성 값 line break(줄바꿈) space(공백)/tab(들여쓰기) wrapping(자동줄바꿈)
nomal 무시 1번만 반영 O
nowrap 무시 1번만 반영 X
pre 반영 그대로 반영 X
pre-wrap 반영 그대로 반영 O
pre-line 반영 1번만 반영 O
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>white-space</title>
    <style>
        div{width: 150px; height: 150px; padding: 10px; margin: 40px; border: 1px dashed red;}
        .white1{white-space: normal}
        .white2{white-space: nowrap}
        .white3{white-space: pre}
        .white4{white-space: pre-wrap}
        .white5{white-space: pre-line}
    </style>
</head>
<body>
    <h1>white-space</h1>
    <div class="white1"><h3>normal</h3>Lorem   ipsum

    dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div>
    <div class="white2"><h3>nowrap</h3>Lorem   ipsum

    dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div>
    <div class="white3"><h3>pre</h3>Lorem   ipsum

      dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div>
    <div class="white4"><h3>pre-wrap</h3>Lorem   ipsum

    dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div>
    <div class="white5"><h3>pre-line</h3>Lorem   ipsum

    dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</div>
</body>
</html>
white-space

white-space

normal

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

nowrap

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

pre

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

pre-wrap

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

pre-line

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

7. text-overflow :부모 영역을 벗어난 wrapping(자동줄바꿈)이 되지 않은 텍스트의 처리 방법 정의.

  • width 속성이 지정되어 있어야 한다. 필요할 경우 block 레벨 요소로 변경해야 한다.
  • 자동 줄바꿈을 방지하려면 white-space 속성을 nowrap으로 설정한다.
  • overflow 속성에 반드시 "visible"이외의 값이 지정되어 있어야 한다.
속성 값 설명
clip 영역을 벗어난 텍스트를 표시하지 않는다. (기본값)
ellipsis 영역을 벗어난 텍스트를 보이지 않게 하고 밑줄임표(...)로 표시
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>text-overflow</title>
    <style>
        .clip, .ellipsis{width: 150px; height: 150px; padding: 10px; margin: 40px; border: 1px dashed red; white-space: nowrap; overflow: hidden}
        .clip{text-overflow: clip}
        .ellipsis{text-overflow: ellipsis}
    </style>
</head>
<body>
    <h1>text-overflow</h1>
    <div class="clip">
    <h3>clip</h3>
    Lorem ipsum dolor sit amet, consectetur adipisicing elit
    </div>
    <div class="ellipsis">
    <h3>ellipsis</h3>
    Lorem ipsum dolor sit amet, consectetur adipisicing elit
    </div>
</body>
</html>
text-overflow

text-overflow

clip

Lorem ipsum dolor sit amet, consectetur adipisicing elit

ellipsis

Lorem ipsum dolor sit amet, consectetur adipisicing elit

'CSS' 카테고리의 다른 글

CSS-배경(background)  (0) 2020.08.16
CSS-display, visibility, opacity 속성  (0) 2020.08.13
CSS-Font & Text 2  (0) 2020.08.11
CSS-Font & Text  (0) 2020.08.10
CSS-선택자(selector)4 : 가상요소 선택자  (0) 2020.08.08

댓글