[๐Ÿฆ TIL 16์ผ์ฐจ] 6์›” 15์ผ

๊ทผ๋“€ยท2023๋…„ 6์›” 14์ผ
0

ํ”„๋ก ํŠธ์—”๋“œ์Šค์ฟจ TIL

๋ชฉ๋ก ๋ณด๊ธฐ
16/30
post-thumbnail

1. ๋ฐ˜์‘ํ˜• UI ์™„์„ฑ

๐Ÿ“Œ white-space ๐Ÿ”—์ฐธ๊ณ ์ž๋ฃŒ

  • ์˜์—ญ์„ ๋„˜์–ด๊ฐ€๋ฉด ๋ง์ค„์ž„ํ‘œ ํ‘œ์‹œ
    ๊ณต๋ฐฑ ๋ฌธ์ž ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•
    ํ•œ์ค„๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
    normal default
    nowrap ์ค„๋ฐ”๊ฟˆ ๊ธˆ์ง€
    pre ์ค„๋ฐ”๊ฟˆ์€ ๊ฐœํ–‰ ๋ฌธ์ž์™€ br ์š”์†Œ์—์„œ๋งŒ ์ผ์–ด๋‚œ๋‹ค.
    pre-wrap pre์™€ ๋™์ผํ•˜์ง€๋งŒ ํ•œ ์ค„์ด ๋„ˆ๋ฌด ๊ธธ์–ด์„œ ๋„˜์น  ๊ฒฝ์šฐ ์ž๋™์œผ๋กœ ์ค„๋ฐ”๊ฟˆ

๐Ÿ“Œ text-overflow ๐Ÿ”— ์ฐธ๊ณ ์ž๋ฃŒ

  • ์ˆจ๊ฒจ์ง„ ํ…์ŠคํŠธ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•(๋ง์ค„์ž„ํ‘œ)
    ellipsis ํ…์ŠคํŠธ๊ฐ€ ์˜์—ญ์„ ๋„˜์น˜๋ฉด โ€ฆ
    clip ํ…์ŠคํŠธ๊ฐ€ ์˜์—ญ์„ ๋„˜์น˜๋ฉด ์ž˜๋ฆฐ ํ˜•ํƒœ๋กœ ๋ณด์—ฌ์คŒ
    white-space, overflow ๊ฐ™์ด ์‚ฌ์šฉํ•œ๋‹ค.

๐Ÿ“Œ data-

  • ์‚ฌ์šฉ์ž ์ •์˜ ์†์„ฑ
    ์ผ๋ฐ˜ title์€ ์ปค์Šคํ…€์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.
    data-์ด๋ฆ„

๐Ÿ“Œ attr(์†์„ฑ ์ด๋ฆ„) ๐Ÿ”— ์ฐธ๊ณ ์ž๋ฃŒ

์‚ฌ์šฉ์ž ์ •์˜ ์†์„ฑ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ


๐Ÿ“Œ counter ์†์„ฑ ๐Ÿ”— ์ฐธ๊ณ ์ž๋ฃŒ

  • CSS๋กœ ์ˆซ์ž๋ฅผ ์ƒ์„ฑํ•˜๋ฉด์„œ ์ž๋™์œผ๋กœ ๋ฒˆํ˜ธ๋ฅผ ๋งค๊ธฐ๋Š” ์—ญ
  • counter-reset ์ˆซ์ž ์ดˆ๊ธฐํ™”, ์ฃผ์–ด์ง„ ๊ฐ’์œผ๋กœ ์žฌ์„ค์ •
    ์ˆซ์ž๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ 0์ด ๊ธฐ๋ณธ ๊ฐ’

counter-reset : custom-ident(์นด์šดํ„ฐ ์ด๋ฆ„) / ์ˆซ์ž

  • counter-increment ์„ค์ •ํ•œ ๊ฐ’์œผ๋กœ ์ฆ๊ฐ€์‹œํ‚ค๋Š” ์—ญํ• 
    ์ˆซ์ž๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ 1์ด ๊ธฐ๋ณธ๊ฐ’
    counter-increment : custom-ident(์นด์šดํ„ฐ ์ด๋ฆ„) / integer(์ฆ๊ฐ€ํ•  ์ˆซ์ž ๊ฐ’)

๐Ÿ“Œ clamp() ๐Ÿ”— ์ฐธ๊ณ ์ž๋ฃŒ

  • ์ •์˜๋œ ์ตœ์†Œ ๊ฐ’๊ณผ ์ตœ๋Œ€๊ฐ’ ์‚ฌ์ด์˜ ๋ฒ”์œ„ ๋‚ด์—์„œ ์ค‘๊ฐ„ ๊ฐ’์„ ๊ณ ์ •ํ•œ๋‹ค.
    min : ์ตœ์†Ÿ๊ฐ’, val:๋ฒ”์œ„๋‚ด์—์„œ ์„ ํ˜ธ๋‚˜๋Š” ๊ฒฐ๊ณผ, max: ์ตœ๋Œ“๊ฐ’
    ๋ณดํ†ต val๋Š” ๋ทฐํฌํŠธ์œ„๋“œ(vw)๋กœ ์ž‘์„ฑํ•œ๋‹ค.
    clamp(min, val, max)

๐Ÿ“Œ minmax() ๐Ÿ”— ์ฐธ๊ณ ์ž๋ฃŒ

  • ์ตœ์†Ÿ๊ฐ’๊ณผ ์ตœ๋Œ“๊ฐ’ ๋ฒ”์œ„ ๋‚ด์—์„œ ๊ฐ’์„ ์œ ์—ฐํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•œ๋‹ค.
    minmax(min, max)

๐Ÿ“Œ object-fit ๐Ÿ”— ์ฐธ๊ณ ์ž๋ฃŒ

  • <img>๋‚˜ <video> ์š”์†Œ์™€ ๊ฐ™์€ ์ฝ˜ํ…์ธ  ํฌ๊ธฐ์˜ ์กฐ์ ˆ ๋ฐฉ์‹
    contain ๊ฐ€๋กœ์„ธ๋กœ ๋น„์œจ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ์ฝ˜ํ…์ธ  ๋ฐ•์Šค์— ๋งž๊ฒŒ ์กฐ์ ˆ
    cover ๊ฐ€๋กœ ์„ธ๋กœ ๋น„์œจ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ์ฝ˜ํ…์ธ  ๋ฐ•์Šค ๊ฐ€๋“ ์ฑ„์›€, ๊ฐ€๋กœ์„ธ๋กœ ๋น„์œจ์ด ์ผ์น˜ํ•˜์ง€ ์•Š์œผ๋ฉด ์ผ๋ถ€ ์ž˜๋ ค๋‚˜๊ฐ
    fill ์ฝ˜ํ…์ธ  ๋ฐ•์Šค ํฌ๊ธฐ์— ๋งž์ถฐ์„œ ํฌ๊ธฐ ์กฐ์ ˆ, ๋น„์œจ ์ด์ƒํ•ด์ง
    scale-down none๊ณผ contain ์ค‘ ๋Œ€์ฒด ์ฝ˜ํ…์ธ ์˜ ํฌ๊ธฐ๊ฐ€ ๋” ์ž‘์•„์ง€๋Š” ๊ฐ’์„ ์„ ํƒํ•œ๋‹ค.
    none ์ฝ˜ํ…์ธ  ํฌ๊ธฐ ์กฐ์ ˆ ํ•˜์ง€ ์•Š์Œ

๐Ÿ“Œ object-position ๐Ÿ”— ์ฐธ๊ณ ์ž๋ฃŒ

  • ์•ˆ๋ณด์ด๋Š” ์˜์—ญ ์ฝ˜ํ…์ธ  ์ •๋ ฌ ๋ฐฉ์‹
    50% 50% , default

๐Ÿ“Œ shape-image-threshold ๐Ÿ”— ์ฐธ๊ณ ์ž๋ฃŒ

  • css ์š”์†Œ์˜ ๋ถ€๋™ ์˜์—ญ์„ ์ •์˜ํ•œ๋‹ค.
    ์ด๋ฏธ์ง€ ๋ชจ์–‘์— ํฌํ•จ๋œ ํ”ฝ์…€์„ ์„ค์ •ํ•œ๋‹ค.

๐Ÿ“Œ shape-outside ๐Ÿ”— ์ฐธ๊ณ ์ž๋ฃŒ

  • ์ธ๋ผ์ธ ์ฝ˜ํ…์ธ ๋ฅผ ๋‘˜๋Ÿฌ์‹ธ์•ผ ํ•˜๋Š” ๋ชจ์–‘์„ ์ •์˜ํ•œ๋‹ค.

๐Ÿ“Œ shape-margin ๐Ÿ”— ์ฐธ๊ณ ์ž๋ฃŒ

  • CSS ๋ชจ์–‘์˜ ์—ฌ๋ฐฑ์„ ์„ค์ •ํ•œ๋‹ค.
    ์—ฌ๋ฐฑ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋„ํ˜•์˜ ๊ฐ€์žฅ์ž๋ฆฌ์™€ ์ฃผ๋ณ€ ์ฝ˜ํ…์ธ  ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

2. SASS ์„ค์น˜

๐Ÿ”— ์ฐธ๊ณ ์ž๋ฃŒ

  1. ์„ค์น˜ํ•˜๊ธฐ npm i sass

  2. ์„ค์น˜ ์™„๋ฃŒ ํ›„ 3๊ฐ€์ง€ ํด๋” ์žˆ๋Š”์ง€ ํ™•์ธ

$ ls -a
./  ../  node_modules/  package.json  package-lock.json

3. ํšŒ๊ณ 

์œผ์•„...๋ฐ˜์‘ํ˜• UI๋ฅผ ์™„์„ฑํ–ˆ๋‹ค. ์–ด๋Š์ƒˆ ๋‹ค ์™„์„ฑ์ด ๋˜๋ฒ„๋ ธ๋‹ค๋‹ˆ! ์‹œ๊ฐ„์ด ์ฐธ ๋น ๋ฅด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์˜ค๋Š˜๋„ ์—ญ์‹œ๋‚˜ ์˜ค์ „์ˆ˜์—…๊นŒ์ง€๋Š” ๊ดœ์ฐฎ์•˜๋Š”๋ฐ ์˜คํ›„์ˆ˜์—…๋ถ€ํ„ฐ๋Š” ์™„์ „ ๋ฉ˜๋ถ•... ๋จธ๋ฆฌ ์†์— ๋“ค์–ด์˜จ ๋‚ด์šฉ์ด ์—†์—ˆ๋‹ค. ํœด๊ฐ• ๊ธฐ๊ฐ„๋™์•ˆ ๋ณต์Šต๋„ ํ•˜๊ณ  ํ˜ผ์ž UI๋„ ๋งŒ๋“ค์–ด๋ณด๋ฉด์„œ ๊ณต๋ถ€ํ•ด์•ผ๊ฒ ๋‹ค.

๋ฒŒ์จ ๋‹ค์Œ์ฃผ๋ถ€ํ„ฐ๋Š” SASS ๋ฅผ ๋‚˜๊ฐ€๋Š”๋ฐ ์ „ํ˜€ ์ง€์‹์ด ์—†๋Š” ์ƒํƒœ๋ผ ๋„ˆ๋ฌด ๊ฑฑ์ •๋œ๋‹ค. CSS ๋„ ์–ด๋Š์ •๋„ ์•Œ๊ณ ์žˆ์–ด์„œ ์ดˆ๋ฐ˜๊นŒ์ง€ ๊ดœ์ฐฎ์•˜์ง€ ๋’ท๋ถ€๋ถ„๋ถ€ํ„ฐ๋Š” ์•Œ์•„๋“ค์€ ๋‚ด์šฉ์ด ๊ฑฐ์˜ ์—†์–ด์„œ ๋„ˆ๋ฌด ๊ฑฑ์ •๋œ๋‹ค. ์ฃผ๋ง๋™์•ˆ SASS ๋„ ์˜ˆ์Šตํ•ด์•ผ ํ•˜๊ณ  ์ฐธ ํ• ์ผ ๋งŽ๋‹ค... ๊ธ์ •์ ์ธ ๋งˆ์Œ์œผ๋กœ๋Š” ์ด๋ ‡๊ฒŒ ๊ณต๋ถ€ํ•˜๋ฉด 4๊ฐœ์›” ๋’ค์— ๋‚˜๋Š” ์—„์ฒญ ์„ฑ์žฅํ•ด์žˆ์„ ๊ฒƒ ๊ฐ™์ง€๋งŒ ๋„ˆ๋ฌด ํž˜๋“ค๋‹คใ… ใ… ใ… ใ…  ๋‚˜๋งŒ ์ˆ˜์—… ๋ชป์•Œ์•„๋“ฃ๋Š”๊ฒƒ ๊ฐ™๋‹ค. ๋ชป์•Œ์•„๋“ฃ๋Š” ๋งŒํผ ๋‚จ๋“ค๋ณด๋‹ค ๋” ์—ด์‹ฌํžˆ ํ•ด์•ผ์ง€.. ํ™”์ดํŒ…๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ

profile
ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž ์ทจ์ค€์ƒ์ž…๋‹ˆ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€