๐Ÿชด ์„ฑ์žฅ์ผ์ง€

์ฑ… ํ–‰๋ณตํ•œ ์ด๊ธฐ์ฃผ์˜์ž(์›จ์ธ ๋‹ค์ด์–ด)์˜ ๋‚ด์šฉ์— ์ž๊ทน๋ฐ›์•„ ์‹œ์ž‘ํ•˜๋Š” ์†Œ๋ฐ•ํ•œ ์„ฑ์žฅ๊ธฐ๋ก

์‚ด์•„์žˆ๋Š” ๊ฝƒ๊ณผ ์ฃฝ์€ ๊ฝƒ์€ ์–ด๋–ป๊ฒŒ ๊ตฌ๋ณ„ํ•˜๋Š”๊ฐ€?
์„ฑ์žฅํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์‚ด์•„ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.
์ƒ๋ช…์˜ ์œ ์ผํ•œ ์ฆ๊ฑฐ๋Š” ์„ฑ์žฅ์ด๋‹ค!

๐ŸŒณ ํ‚ค์›Œ๋“œ ์ตœ๋Œ€ํ•œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌ, ์ถ”ํ›„์— ๋ณด๋ฉด์„œ ์Šค์Šค๋กœ ์„ค๋ช…

CSS BEM(Block__Elementโ€”Modifier)

๊ฐ ์š”์†Œ๋“ค์— CSS๋ฅผ ๋” ์ฒด๊ณ„์ ์ด๊ณ  ํŽธ๋ฆฌํ•˜๊ฒŒ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•๋ก (์•ฝ์†)
์–ด๋–ป๊ฒŒ ๋ณด์ด๋Š”๊ฐ€๊ฐ€ ์•„๋‹ˆ๋ผ ์–ด๋–ค ๋ชฉ์ ์ธ๊ฐ€์— ๋งž์ถฐ ์ด๋ฆ„์„ ์ง“๋Š”๋‹ค.

  • ์š”์†Œ์— id๋Š” ์“ฐ์ง€ ์•Š์œผ๋ฉฐ ์˜ค๋กœ์ง€ class๋งŒ์„ ์ด์šฉํ•œ๋‹ค.
  • B(Block): ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๊ณ  ๊ธฐ๋Šฅ์ ์œผ๋กœ ๋…๋ฆฝ์ ์ธ ํŽ˜์ด์ง€ ์ปดํฌ๋„ŒํŠธ, ์ฆ‰ ์–ด๋”˜๊ฐ€์— ์ข…์†๋˜์ง€ ์•Š๊ณ  ๊ทธ ์ž์ฒด๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‹จ์œ„
  • E(Element): ๋ธ”๋ก์„ ๊ตฌ์„ฑํ•˜๋Š” ๋‹จ์œ„, ์ž์‹ ์ด ์†ํ•œ ๋ธ”๋ก ๋‚ด์—์„œ๋งŒ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ธฐ์— ์˜์กด์ ์ธ ํ˜•ํƒœ. ์ฆ‰, ๋ธ”๋ก์ฒ˜๋Ÿผ ๋˜‘ ๋–ผ์„œ ๋‹ค๋ฅธ ๊ณณ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ.
  • M(Modifier): ๋ธ”๋ก์ด๋‚˜ ์—˜๋ฆฌ๋จผํŠธ์˜ ์†์„ฑ์„ ๋‹ด๋‹น. ์ƒ๊ธด ๊ฒŒ ์กฐ๊ธˆ ๋‹ค๋ฅด๊ฑฐ๋‚˜ ๊ธฐ๋Šฅ์ด ์กฐ๊ธˆ ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์„ ๊ตฌ๋ถ„ํ•  ๋•Œ ์‚ฌ์šฉ.
<!-- ์•„๋ž˜์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. -->
block__element--modifier

์žฅ์ 

  • ํด๋ž˜์Šค๋„ค์ž„๋งŒ์œผ๋กœ๋„ ๋งˆํฌ์—… ๊ตฌ์กฐ๋ฅผ ํŒŒ์•… ๊ฐ€๋Šฅ
  • SASS์˜ ๋ถ€๋ชจ์ฐธ์กฐ์ž(&)์™€ ๊ถํ•ฉ์ด ์•„์ฃผ ์ข‹๋‹ค.
  • ์ž‘์„ฑ๋œ SASS์—์„œ ์š”์†Œ๋ฅผ ์‰ฝ๊ฒŒ ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

๊ฐ„๋‹จํ•œ ํ† ์ดํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉฐ, css bem์„ ์ ์šฉํ•ด๋ณด์•˜๋‹ค. ์ƒ๊ฐ๋ณด๋‹ค ๊ทธ ๋ช…๋ช…๋ฒ•์ด ์‰ฝ์ง€ ์•Š์•˜์ง€๋งŒ, ํ™•์‹คํžˆ ํ•˜๋‹ค๋ณด๋‹ˆ๊นŒ ์กฐ๊ธˆ์”ฉ โ€˜์•„ ๋Œ€์ถฉ ์ด๋Ÿฐ ๋Š๋‚Œ์ด๊ตฌ๋‚˜~!โ€™ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค! ํ•œ ๋ฒˆ ์ž˜ ๋ฐฐ์›Œ๋‘๋ฉด ์•„์ฃผ ์š”๊ธดํ•˜๊ฒŒ ์“ฐ์ผํ…Œ๋‹ˆ ์•ž์œผ๋กœ ํ”„๋กœ์ ํŠธ ์‹œ์— ์‹ ๊ฒฝ์จ์„œ ํ•˜๋„๋ก ํ•˜์ž :)