BEM 구조에 대한 질문이 있습니다. 요소/수식어를 섞는 것이 의미 적으로 옳은가요? 나는 영웅과 포트폴리오 모듈을 가지고있다. 영웅 모듈에서 portfolio__item을 사용하고 싶지만 hero__item의 기본 스타일을 사용해야합니다. 이것은 올바른 방법인가요?이 요소들을 혼합 할 수 있습니까? 난 당신이 hero
블록 내에서 portfolio__item
요소를 배치 할 가정 - - 그것은 좋은 일이 아니다BEM CSS - 믹스 요소/수정 자
<section class="hero hero--collage hero--bottom-decoration">
<div class="portfolio__item hero__item hero__item--animated">
<a href="http://www.google.nl">
<div class="hero__hover">
<span class="hero__hover__content h1">Hover title</span>
</div>
<img src="http://www.google.nl" class="hero__image">
</a>
</div>
</section>
<section class="portfolio">
<div class="portfolio__item">
<a href="http://www.google.nl">
<img src="http://www.google.nl" class="hero__image">
</a>
</div>
</section>
은'portfolio__item'는'영웅으로 거의 같은 스타일이 - 콜라주 hero__item'을. 그래서 중복 된 CSS를 피하기 위해서 나는'hero-collage' 안에'portfolio__item'을 사용할 수 있다고 생각했습니다. 'portfolio_item'에서'hero__item - portfolio'까지 스타일을 확장하는 가장 좋은 방법은 무엇입니까? –
LESS/SASS를 사용하는 경우 .virtual-1과 같은 일반 가상 클래스를 만들고 다음과 같이 다른 클래스를 확장 할 수 있습니다. .hero - collage { .virtual-1; // 맞춤 스타일 } .portfolio__item { . 가상 -1; // 맞춤 스타일 } –
의견을 보내 주셔서 감사합니다. 그러나 많은 사람들이 확장을 사용하지 않는 것이 좋습니다.하지만이 경우에는 BEM 구조로 인해 거의 모든 클래스가 루트 수준에 있기 때문에 괜찮습니다. –