[HTML/CSS] ์ค๋ฐ๊ฟ(๊ฐํ๋ฌธ์) ํ์ / ๋์น๋ ํ ์คํธ ์๋ต ๊ธฐํธ ํ์ ๋ฐฉ๋ฒ
๐ก ๋ฏธ๋ฆฝ์ ํ : textarea ํ๊ทธ์ readonly ์์ฑ์ ์ถ๊ฐํ๋ฉด ์ฝ๊ธฐ๋ง ๊ฐ๋ฅํ๊ณ ์ฐ๊ธฐ๋ ๋ถ๊ฐ๋ฅํ๋ค. ๋ก๊ทธ์ธํ์ง ์์ ์ ์ ๋ ๋๊ธ์ ์ฐ์ง ๋ชปํ๊ฒํ ๋ ์ ์ฉํ๋ค. `<textarea readonly></textarea>`
์ค๋ฐ๊ฟ ์ ์ฉํ๊ธฐ
textarea
ํ๊ทธ์ ์ํฐํค(๊ฐํ๋ฌธ์)๋ฅผ ๋๋ฌ ์ค๋ฐ๊ฟ์ ์ ์ฉํด๋, ์
๋ ฅํ value๋ฅผ p
ํ๊ทธ ๋ฑ์ ์ถ๋ ฅํด๋ณด๋ฉด ์ค๋ฐ๊ฟ์ด ํ๋๋ ์ ์ฉ๋์ง ์๋๋ค. ๊ฐ์ฅ ๊ฐ๋จํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ํ
์คํธ๋ฅผ ํ์ํ ํ๊ทธ์ ์คํ์ผ์ white-space
์์ฑ์ ์ถ๊ฐํ๋ ๊ฒ. white-space
๋ ๊ณต๋ฐฑ ๋ฌธ์๋ฅผ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ ์ง ๊ฒฐ์ ํ๋ ์์ฑ์ด๋ค.
white-space: normal
— ๊ธฐ๋ณธ๊ฐ
- ์ฌ๋ฌ ๊ณต๋ฐฑ :
X
(1๊ฐ๋ก ํ์) - ๆน่ก๋ฌธ์
\n
ํํ :X
- Wrap :
O
white-space: nowrap
— normal๊ณผ ๋์ผํ๋ wrap์ด ์๋จ
- ์ฌ๋ฌ ๊ณต๋ฐฑ :
X
(1๊ฐ๋ก ํ์) - ๆน่ก๋ฌธ์
\n
ํํ :X
- Wrap :
X
white-space: pre
— <pre>
ํ๊ทธ์ฒ๋ผ ๋์
`<pre>` ํ๊ทธ์ ์ ๋ ฅํ ์ค๋ฐ๊ฟ, ๊ณต๋ฐฑ ๋ฑ์ ๊ทธ๋๋ก ํํ๋๋ฉฐ, ์์คํ ์ ์ง์ ๋ ๊ณ ์ ํญ ๊ธ๊ผด์ ์ฌ์ฉํ๋ค. ๋ง์ฝ `<pre>` ํ๊ทธ ์์ ๋ค๋ฅธ (์์)ํ๊ทธ๊ฐ ์๋ค๋ฉด ํด๋น ์์ ํ๊ทธ์ ์์ฑ์ ๊ทธ๋๋ก ์ ์ง๋๋ค(pre ํ๊ทธ ์์ h1 ํ๊ทธ๊ฐ ์๋ค๋ฉด h1 ์์ฑ์ ๊ทธ๋๋ก ๊ฐ์ง).
- ์ฌ๋ฌ ๊ณต๋ฐฑ :
O
(๊ตฌํ์ง... ๋ท ๋ถ๋ถ์ด ์ฌ๋ฌ ๊ณต๋ฐฑ) - ๆน่ก๋ฌธ์
\n
ํํ :O
- Wrap :
X
white-space: pre-line
— pre์ ๋์ผํ๋ wrap ๊ฐ๋ฅ
- ์ฌ๋ฌ ๊ณต๋ฐฑ :
X
(1๊ฐ๋ก ํ์) - ๆน่ก๋ฌธ์
\n
ํํ :O
- Wrap :
O
white-space: pre-wrap
— pre-line๊ณผ ๋์ผํ๋ ์ฌ๋ฌ ๊ณต๋ฐฑ ํ์ ๊ฐ๋ฅ
- ์ฌ๋ฌ ๊ณต๋ฐฑ :
O
- ๆน่ก๋ฌธ์
\n
ํํ :O
- Wrap :
O
ํ ์คํธ ๋์น ๋ ์๋ต ๋ถํธ ํ์
ํน์ ์์ ์์ ์๋ ํ
์คํธ๊ฐ ๊ธธ์ด์ง ๋ ...
์๋ต ๋ถํธ๋ก ํ์ํ๋ ๋ฐฉ๋ฒ. text-overflow
์์ฑ์ ์ฌ์ฉํ๋ฉด ๊ฐ๋จํ๊ฒ ํด๊ฒฐํ ์ ์๋ค. text-overflow
์์ฑ์ ์ฌ์ฉํ๋ ค๋ฉด ์๋ ์กฐ๊ฑด์ ๋ง์กฑํด์ผ ํ๋ค.
- display ์์ฑ์ด
block
ํน์inline-block
์ผ ๋ (p ํ๊ทธ๋ ๊ธฐ๋ณธ๊ฐ block ์ํ margin์ 1em) - ํ
์คํธ๋ฅผ ํ์ํ๋ ์์์
width
height
๋ช ์ overflow: hidden
์ผ๋ก ๋์น๋ ์์ญ ๊ฐ์ถ๊ธฐwhite-space: nowrap
์ ์ฌ์ฉํด ํ ์คํธ๊ฐ ๋ค์์ค๋ก ๋์ด๊ฐ๋ ๊ฒ ๋ฐฉ์ง(ํ ์ค๋ง ํ์ํ ๋)
ํ ์ค ์ผ๋ (์ ๋ชฉ์ ์ ์ฉํจ)
pํ๊ทธ ์คํ์ผ ์์ฑ ์์
/* ํฌ๊ธฐ๊ฐ ์ ํด์ ธ ์๋ div ํ๊ทธ ์์ ์๋ pํ๊ทธ๋ผ๋ฉด width, height๋ฅผ 100%๋ก ํด๋ ๋ฌด๋ฐฉ */
width: 300px;
height: 100px;
overflow: hidden;
text-overflow: ellipsis; /* ์ง์ ํ ๋๋น ์ด๊ณผํ๋ฉด ... ์๋ต๋ถํธ ํ์ */
white-space: nowrap;
๋ ์ค ์ด์์ผ ๋ (ํธ์ํฐ ๊ฐ์ ์ ํ๋ ๋ณธ๋ฌธ์ ์ ์ฉ)
display ์์ฑ์ -webkit-box
๋ก ๋ณ๊ฒฝํ๋ฉด -webkit-line-clamp
์์ฑ์ ํตํด ํด๋น ์์์ ์ฝํ
์ธ ์ค(line) ์๋ฅผ ์ ํํ ์ ์๋ค. 5๋ฅผ ์คฌ๋ค๋ฉด 5์ค๊น์ง๋ง ํ์๋จ. ์ด๋ -webkit-box-orient
์์ฑ์ vertical๋ก ์ค์ผํ๋ค.
ํ
์คํธ๊ฐ ๊ธธ์ด์ง๋ค๋ฉด ์ค๋ฐ๊ฟ์ด ๋์ผํ๋ฏ๋ก white-space
์์ฑ์ pre-line
๋ฑ์ผ๋ก ๋ฐ๊ฟ์ค๋ค. ์๋ต ๋ถํธ ํจ๊ณผ๋ฅผ ํ์คํ๊ฒ ์ฃผ๊ธฐ ์ํด line-height
์์ฑ์ ์ฌ์ฉํด ์ค ๋์ด๋ฅผ ์ ์ ํ ์กฐ์ ํ ์ ์๋ค.
width: 300px;
height: 100px;
line-height: 21px;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 5;
-webkit-box-orient: vertical;
text-overflow: ellipsis;
white-space: pre-line;
์ฝ๋ํ ์ค์ต
See the Pen textarea ๊ฐํ๋ฌธ์ ํ์ / ์๋ต ๊ธฐํธ ํ์ by ColorFilter (@colorfilter) on CodePen.
๋ ํผ๋ฐ์ค
- textarea๋ก ์ ๋ ฅ ๋ฐ์ ๊ธ์ ๊ณต๋ฐฑ๊ณผ ์ค๋ฐ๊ฟ์ ์ด๋ ค ์ถ๋ ฅํ๊ธฐ
- [CSS] text-overflow ํ ์คํธ๊ฐ ๋ง์ ๊ฒฝ์ฐ ์๋ต๊ธฐํธ๋ก ๋ณด์ฌ์ฃผ๊ธฐ
- -webkit-line-clamp ์์ฑ ์ฌ์ฉ์ ์ฃผ์์ฌํญ
๊ธ ์์ ์ฌํญ์ ๋ ธ์ ํ์ด์ง์ ๊ฐ์ฅ ๋น ๋ฅด๊ฒ ๋ฐ์๋ฉ๋๋ค. ๋งํฌ๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์
'๐ช Programming' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[HTML/CSS] CSS ํ์ ์ ๋๋ฉ์ด์ ๋ง๋ค๊ธฐ (0) | 2024.04.25 |
---|---|
[HTML/CSS] ์์ดํฐ ์ฌํ๋ฆฌ์์ ์ ๋ ฅ์ฐฝ ์๋ํ๋ ๋ฐฉ์ง (0) | 2024.04.25 |
[JS] ์๋ฐ์คํฌ๋ฆฝํธ ๊ฒฝ๊ณผ ์๊ฐ ํ์ / UTC / ISO 8601 (0) | 2024.04.25 |
[JS] ์๋ฐ์คํฌ๋ฆฝํธ ๋๋ค ์ซ์, ๋ฐ์ดํฐ ์์ฑ ์์ (0) | 2024.04.25 |
[JS] ์บ๋ฒ์ค Canvas ๋ํ ํ๋ ์ถ์ ํ ์์ ์กฐ์ ํ๊ธฐ (0) | 2024.04.24 |
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote
๋ค๋ฅธ ๊ธ
-
[HTML/CSS] CSS ํ์ ์ ๋๋ฉ์ด์ ๋ง๋ค๊ธฐ
[HTML/CSS] CSS ํ์ ์ ๋๋ฉ์ด์ ๋ง๋ค๊ธฐ
2024.04.25 -
[HTML/CSS] ์์ดํฐ ์ฌํ๋ฆฌ์์ ์ ๋ ฅ์ฐฝ ์๋ํ๋ ๋ฐฉ์ง
[HTML/CSS] ์์ดํฐ ์ฌํ๋ฆฌ์์ ์ ๋ ฅ์ฐฝ ์๋ํ๋ ๋ฐฉ์ง
2024.04.25 -
[JS] ์๋ฐ์คํฌ๋ฆฝํธ ๊ฒฝ๊ณผ ์๊ฐ ํ์ / UTC / ISO 8601
[JS] ์๋ฐ์คํฌ๋ฆฝํธ ๊ฒฝ๊ณผ ์๊ฐ ํ์ / UTC / ISO 8601
2024.04.25 -
[JS] ์๋ฐ์คํฌ๋ฆฝํธ ๋๋ค ์ซ์, ๋ฐ์ดํฐ ์์ฑ ์์
[JS] ์๋ฐ์คํฌ๋ฆฝํธ ๋๋ค ์ซ์, ๋ฐ์ดํฐ ์์ฑ ์์
2024.04.25