Snippet/CSS ์Šค๋‹ˆํŽซ

๐Ÿš€ ํ…์ŠคํŠธ ๋ง์ค„์ž„ํ‘œ(...) ๊ฐ„๋‹จ ์ ์šฉํ•˜๊ธฐ

์ธํŒŒ_ 2023. 3. 11. 16:30

css-ellipsis

๊ธ€์ž ellipsis ์ ์šฉํ•˜๊ธฐ

์ผ์ •ํ•œ ์˜์—ญ ๋‚ด์— ๋ฌธ๋‹จ์„ ๋„˜์น˜์ง€ ์•Š์œผ๋ฉด์„œ ์ƒ๋žต ๊ธฐํ˜ธ๋ฅผ ์“ฐ๊ณ  ์‹ถ์–ด ๋ง์ค„์ž„ํ‘œ(...)๋ฅผ ์ ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, CSS ์†์„ฑ์˜ text-overflow: ellipsis ๋ฅผ ์ ์šฉํ•˜๋ฉด ๋œ๋‹ค. ๋‹ค๋งŒ ์ด ์†์„ฑ์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„  ๋ช‡๊ฐ€์ง€ ์‚ฌ์ „ ์ž‘์—…์ด ๊ผญ ํ•„์š”ํ•˜๋‹ค.

  1. ์ ์šฉํ•  ํ•ด๋‹น ์š”์†Œ๋Š” display ์†์„ฑ์ด block / inline-block ์ด์–ด์•ผ ํ•œ๋‹ค (๊ทธ๋ž˜์•ผ width๋ฅผ ์ ์šฉํ• ์ˆ˜๊ฐ€ ์žˆ๋‹ค)
  2. ์ ์šฉํ•  ํ•ด๋‹น ์š”์†Œ๋Š” width๋ฅผ ์ง€์ •ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. (๊ทธ๋ž˜์•ผ ๋„˜์น˜๋Š” ๊ธฐ์ค€์„ ์ •ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค)
  3. ์ ์šฉํ•  ํ•ด๋‹น ์š”์†Œ๋Š” overflow๊ฐ€ hidden ์ด์–ด์•ผ ํ•œ๋‹ค. (๊ทธ๋ž˜์•ผ ๋„˜์น˜๋Š” ๋ถ€๋ถ„์ด ๊ฐ€๋ ค์ง€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค)
  4. ๋งˆ์ง€๋ง‰์œผ๋กœ text-overflow๋ฅผ ellipsis ๋กœ ์ฒ˜๋ฆฌํ•˜๋ฉด ๋œ๋‹ค

 

์‹ฑ๊ธ€ ๋ผ์ธ ๋ง์ค„์ž„ํ‘œ ์ ์šฉ

.ellipsis {
    display: inline-block; /* ํŠน์ • ๋„ˆ๋น„๋ฅผ ๊ฐ€์ง€๋„๋ก ์ƒํ™ฉ์— ๋”ฐ๋ผ block or inline-block ์œผ๋กœ ๋ณ€๊ฒฝ */
    width: 200px; /* inline-block์ฒ˜๋Ÿผ ์ฝ˜ํ…์ธ ์— ๋”ฐ๋ผ ์œ ๋™์ ์ธ ๋„ˆ๋น„๋ฅผ ๊ฐ€์ง„๋‹ค๋ฉด ์ง์ ‘ ๋„ˆ๋น„๋ฅผ ์„ค์ • */
    overflow: hidden; /* ๋„˜์น˜๋Š” ๋ถ€๋ถ„ ๊ฐ€๋ฆฌ๊ธฐ */
    text-overflow: ellipsis; /* ... ์ฒ˜๋ฆฌํ•˜๊ธฐ */
    
    white-space: nowrap; /* ์ค„๋ฐ”๊ฟˆ ์•ˆํ•˜๊ธฐ (ํ•œ ์ค„ ๋ฐ‘์ค„์ž„ํ‘œ ์ ์šฉ) */
}

 

๋ฉ€ํ‹ฐ ๋ผ์ธ ๋ง์ค„์ž„ํ‘œ ์ ์šฉ

๋งŒ์ผ ํ•œ์ค„ ์ค„์ž„์ด ์•„๋‹Œ ์—ฌ๋Ÿฌ ์ค„์„ ์ ์šฉํ•˜๊ณ  ์–ด๋Š ๋ผ์ธ ๊ธฐ์ „์— ๋ง์ค„์ž„์„ ์ ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ํŠน๋ณ„ํ•œ ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ์•ผ ํ•œ๋‹ค.

.ellipsis-multi {
    display: block;
    width:22%;
    overflow:hidden;
    text-overflow:ellipsis;

	/* ์—ฌ๋Ÿฌ ์ค„ ๋ฐ‘์ค„์ž„ํ‘œ ์ ์šฉ */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3; /* 3๋ฒˆ์งธ ์ค„๊นŒ์ง€๋งŒ ๊ธ€์ž๋ฅผ ํ‘œํ˜„ํ•˜๊ณ  ๊ทธ ์ดํ›„๋Š” ์ค„์ž„ ์ฒ˜๋ฆฌ */
}

See the Pen text ellipsis by barzz12 (@inpaSkyrim) on CodePen.