λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
개발/HTML, CSS, JS

BEM

by Jaeguk 2023. 1. 13.

예제λ₯Ό λ§Œλ“€λ©΄μ„œ class 이름을 contents__name, contents__texture와 같이 _ 기호λ₯Ό 2개 λΆ™μ—¬μ„œ μ‚¬μš©ν•˜λŠ” 것을 λ³Ό 수 μžˆμ—ˆλŠ”λ°, μ™œ 언더바 2개λ₯Ό λΆ™μ—¬ μ‚¬μš©ν•˜λŠ” 것이 무슨 의미일까??

BEM은 HTML 클래슀 μ†μ„±μ˜ μž‘λͺ…법이닀.

μž‘λͺ…λ²•μ—λŠ” 2가지가 μžˆλŠ”λ°, ν•˜λ‚˜λŠ” μš”μ†Œμ˜ 일뢀뢄을 ν‘œμ‹œν•˜λŠ” 방법이고 ν•˜λ‚˜λŠ” μš”μ†Œμ˜ μƒνƒœλ₯Ό ν‘œμ‹œν•˜λŠ” 방법이닀.

μš”μ†Œμ˜ 일뢀뢄을 ν‘œμ‹œν•  λ•Œμ—λŠ” 언더바 2개λ₯Ό λΆ™μ—¬μ„œ 일뢀뢄을 μ˜λ―Έν•¨μ„ λ‚˜νƒ€λ‚΄κ³ 

μš”μ†Œμ˜ μƒνƒœλ₯Ό ν‘œμ‹œν•  λ•Œμ—λŠ” ν•˜μ΄ν”ˆ 2개λ₯Ό λΆ™μ—¬μ„œ μƒνƒœλ₯Ό μ˜λ―Έν•¨μ„ λ‚˜νƒ€λ‚Έλ‹€.

 

μ™Όμͺ½κ³Ό 같이 클래슀 속성을 μ •μ˜ν•˜λ©΄ λ¬Έμ œκ°€ λ°œμƒν•œλ‹€.

container 클래슀의 name 클래슀λ₯Ό μ„ νƒν•˜κΈ° μœ„ν•΄ μš°λ¦¬λŠ” CSSμ—μ„œ .container .name μ΄λ ‡κ²Œ λ„μ›Œμ“°κΈ°λ₯Ό μ΄μš©ν•œ ν•˜μœ„ μš”μ†Œ μ„ νƒμžλ₯Ό μ‚¬μš©ν•˜κ²Œ λ˜λŠ”λ° container ν΄λž˜μŠ€λŠ” nameμ΄λΌλŠ” 클래슀λ₯Ό 가진 ν•˜μœ„ μš”μ†Œλ₯Ό 2개 가지고 μžˆμœΌλ―€λ‘œ 2κ°œκ°€ λͺ¨λ‘ μ„ νƒλœλ‹€λŠ” λ¬Έμ œκ°€ λ°œμƒν•œλ‹€. λ¬Όλ‘  μžμ‹μ„ μ„ νƒν•˜κ²Œ ν•˜λŠ” > 기호λ₯Ό μ‚¬μš©ν•  μˆ˜λ„ μžˆμ§€λ§Œ ν—·κ°ˆλ¦΄ λΏλ”λŸ¬, λ‹¨μˆœν•œ 이름이 μ€‘λ³΅λœλ‹€λŠ” 문제λ₯Ό μœ λ°œν•œλ‹€.

κ·Έλ ‡κΈ° λ•Œλ¬Έμ— μš°λ¦¬λŠ” BEM μž‘λͺ… 방식을 톡해 HTML 클래슀 μ†μ„±μ˜ 이름을 μž‘λͺ…ν•˜κ²Œ λœλ‹€.

그리고 BEM μž‘λͺ… 방식을 μ‚¬μš©ν•˜λ©΄ μš”μ†Œμ˜ μ΄λ¦„λ§Œ 보더라도 μ§κ΄€μ μœΌλ‘œ μ–΄λ–€ class의 μΌλΆ€λΆ„μ΄κ΅¬λ‚˜ λ˜λŠ” μ–΄λ–€ class의 μƒνƒœμ΄κ΅¬λ‚˜λ₯Ό μ†μ‰½κ²Œ μ•Œ 수 μžˆλ‹€.

728x90

'개발 > HTML, CSS, JS' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

JavaScript Essentials  (0) 2023.02.05
Type annotation  (0) 2023.02.04
λ©”μ†Œλ“œ 체이닝(Method Chaining)  (0) 2023.01.12
DOM API  (0) 2023.01.12
ν•¨μˆ˜  (0) 2023.01.11