이 글에서는 대규모 프로젝트를 위해 깔끔하고 구조적이며 유지 관리 가능한 CSS를 작성하는 데 도움이 되는 인기 있는 CSS 명명 규칙인 BEM(Block, Element, Modifier) 방법론에 대해 자세히 알아봅니다. BEM은 프로젝트가 성장함에 따라 코드의 확장성을 유지하고 스타일 충돌 가능성을 줄입니다.
BEM은 다음을 의미합니다:
BEM 방법론은 재사용 가능하고 예측 가능하며 유지 관리 가능한 CSS 코드 생성을 강조합니다.
.block {} .block__element {} .block--modifier {}
예를 들어 BEM의 구조를 분석해 보겠습니다.
이 예에서는:
블록은 독립적이고 재사용 가능한 구성요소입니다. 스타일이 다른 요소의 영향을 받을 염려 없이 코드의 어느 곳에나 배치할 수 있는 독립된 엔터티라고 생각하세요.
.button { padding: 10px 20px; background-color: #3498db; color: white; border: none; }
여기서 .button은 버튼 구성 요소의 스타일을 정의하는 블록입니다. 웹사이트의 여러 부분에서 이 블록을 재사용할 수 있습니다.
요소는 독립형 의미가 없는 블록의 일부입니다. 블록에 묶여 블록과 관련된 기능을 수행하기 위해 존재합니다.
.button__icon { margin-right: 10px; } .button__label { font-size: 14px; }
여기:
수정자는 블록이나 요소의 변형을 나타냅니다. 수정자는 버튼 색상을 변경하거나 요소를 더 크게 만드는 등 구성 요소의 모양이나 동작을 변경하는 데 사용됩니다.
.button--primary { background-color: #2ecc71; } .button--large { padding: 15px 30px; }
여기:
수정자는 다음 요소에도 적용될 수 있습니다.
.button__icon--small { width: 10px; height: 10px; }
블록, 요소 및 수정자를 포함하는 보다 완전한 예를 살펴보겠습니다.
Card Title
This is a simple card component.
/* Block */ .card { border: 1px solid #ddd; padding: 20px; border-radius: 5px; } /* Elements */ .card__header { margin-bottom: 15px; } .card__title { font-size: 18px; color: #333; } .card__body { margin-bottom: 15px; } .card__text { color: #666; } .card__footer { text-align: right; } /* Modifier */ .card__button--primary { background-color: #3498db; color: white; }
이 예에서는:
BEM 방법론은 CSS를 체계화하고 예측 가능하며 확장 가능하게 유지하는 강력한 방법입니다. 구성 요소를 블록, 요소 및 수정자로 분할하면 더 깔끔한 코드를 유지하고 스타일 충돌을 방지하여 프로젝트 개발을 더 빠르고 효율적으로 만들 수 있습니다. 성장합니다.
리도이 하산
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3