BEM Methodology에 따르면 TAG Selectors와 같은 글로벌 선택기를 사용해서는 안되므로 Nav__item 및 Nav__Link를 사용하십시오.
활성 수정 자와 같은 이야기. 글로벌 엔티티가 없어야합니다 (믹스를 사용할 수는 있지만 약간 다른 것입니다). 따라서 가장 좋은 방법은 nav__item (또는 클래식 BEM 표기법에서 nav__item_state_active)을 사용하는 것입니다.
그리고 BEM은 JS, HTML (또는 템플릿) 및 실제로 다른 블록의 기술에 대한 제도를 가지고 있습니다.
주요 아이디어는 그 것입니다 차단하다 자체에 대한 모든 것을 알고 있습니다 : 외모 (CSS), 작동 방식 (JS), HTML이 생성 해야하는 HTML (템플릿), 자체 테스트, 문서화, 이미지 등
NAV 블록의 CSS 기술이 선언적 방식으로 규칙을 적용하기 때문에 (일부 선택기 와이 선택기와 일치하는 모든 노드는 이러한 규칙과 스타일을 정의합니다) NAV 블록의 JS를 설명 할 수있는 것과 동일한 방식으로 규칙을 정의합니다.
살펴보세요 http://xslc.org/jquery-bem/ jQuery 플러그인으로 BEM 방식으로 블록을 쉽게 작업 할 수 있습니다.
또한 일부 빌드 시스템을 사용하는 경우 파일 시스템의 모든 기술을 동일한 폴더에 넣을 수 있습니다.
blocks/
nav/
__list/
nav__list.css
nav__list.js
__item/
nav__item.css
nav.css
nav.js
nav.test.js
nav.png
nav.md
그러한 파일 구조를 사용하면 실제로 BEM 실제 상황에 더 깊이 갈 수 있고 i-bem.js를 시도 할 수 있습니다. http://bem.info/articles/bem-js-main-terms/