[Sass] mixin์œผ๋กœ ๋ง์ค„์ž„ํ‘œ ๋งŒ๋“ค๊ธฐ
728x90

mixin

Scss์—์„œ๋Š” ๋ฏน์Šค์ธ์ด๋ผ๋Š” ๋ฌธ๋ฒ•์ด ์žˆ๋‹ค.
๋ฐ˜๋ณต์ ์œผ๋กœ ์žฌ์‚ฌ์šฉํ•  CSS ์Šคํƒ€์ผ์„ ํ•˜๋‚˜์˜ ํ•จ์ˆ˜์ฒ˜๋Ÿผ ์ง€์ •ํ•ด๋†“์„ ์ˆ˜ ์žˆ๋‹ค.

๋งŽ์€ mixin์„ ์ƒ์„ฑํ•ด๋„ ํ˜ธ์ถœํ•˜์ง€ ์•Š์œผ๋ฉด ์ฝ”๋“œ์˜ ๊ธธ์ด์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์ด ์žˆ๋‹ค.


๊ธฐ๋ณธ์ ์œผ๋กœ ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

@mixin ๋ฏน์Šค์ธ์ด๋ฆ„(ํ•„์š”์— ๋”ฐ๋ผ ๋ณ€์ˆ˜์ง€์ •๋„ ๊ฐ€๋Šฅ){
    ๋‚ด์šฉ
}

ํ˜ธ์ถœ์€ include ํ‚ค์›Œ๋“œ๋ฅผ ์ด์šฉํ•œ๋‹ค.

@include ๋ฏน์Šค์ธ์ด๋ฆ„(์ง€์ •ํ–ˆ๋‹ค๋ฉด ๋ณ€์ˆ˜์‚ฌ์šฉ ๊ฐ€๋Šฅ);

 

 

 

 

๋ง์ค„์ž„ํ‘œ 

ํ…์ŠคํŠธ์˜ ์–‘์ด ๊ณต๊ฐ„๋ณด๋‹ค ๋„˜์น˜๋Š” ๊ฒฝ์šฐ mixin์œผ๋กœ ๋ง์ค„์ž„ํ‘œ('...')๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

white-space๋Š” ์ž๋™ ์ค„๋ฐ”๊ฟˆ ์—ฌ๋ถ€์— ๊ด€ํ•œ ์†์„ฑ์ด๋‹ค. nowrap์œผ๋กœ ํ•ด์ œํ•œ๋‹ค.
overflow:hidden์œผ๋กœ ๋„˜์น˜๋Š” ํ…์ŠคํŠธ ์–‘์„ ๊ฐ€๋ฆฌ๊ณ  elipse๋กœ ๋Œ€์ฒดํ•œ๋‹ค.

@mixin ellipse {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

์ ์šฉํ•œ ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

์˜์—ญ ์ด์™ธ์— ...๋กœ ํ‘œํ˜„๋œ๋‹ค

 

 

์—ฌ๋Ÿฌ ์ค„์ผ ๊ฒฝ์šฐ์˜ ๋ง์ค„์ž„ํ‘œ

์—ฌ๋Ÿฌ ์ค„์˜ ํ…์ŠคํŠธ์ผ ๊ฒฝ์šฐ ๋ณ€์ˆ˜๋กœ ์„ค์ •ํ•˜์—ฌ ๋ง์ค„์ž„ํ‘œ๋ฅผ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ๋‹ค.

ํฌ๋กฌ, ์‚ฌํŒŒ๋ฆฌ ๋“ฑ์˜ ์›นํ‚ท๊ณ„์—ด ๋ธŒ๋ผ์šฐ์ €์—์„œ์˜ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด -webkit- ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค.

-webkit-line-clamp๋Š” ๋ช‡์ค„์„ ๋„˜๊ธฐ๋ฉด ๋ง์ค„์ž„ํ‘œ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ธ์ง€ ์ง€์ •ํ•˜๋Š” ๊ตฌ๊ฐ„์ด๋‹ค.

@mixin multil-ellipse($font-size, $line-height, $lines) {
  font-size: $font-size;
  line-height: $line-height;
  max-height: $line-height * $lines;
  overflow : hidden;
  display: -webkit-box;
  -webkit-line-clamp: $lines; 
  -webkit-box-orient: vertical; 
}

 

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ ์šฉ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์ง€์ •ํ•œ 2์ค„ ์ด์™ธ์— ...๋กœ ํ‘œํ˜„๋œ๋‹ค

 

 

 

728x90

'๐Ÿ“” Studying > HTML CSS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

CSS Position  (0) 2023.03.30
[Sass] ๋ถ€ํŠธ์ŠคํŠธ๋žฉ5 SCSS ์ ์šฉ  (0) 2022.11.09
Grid Garden์œผ๋กœ CSS Grid ์ตํžˆ๊ธฐ  (0) 2022.04.12
CSS flex  (0) 2021.06.16
CSS ์• ๋‹ˆ๋ฉ”์ด์…˜  (0) 2021.06.15