2017-01-18 7 views
0

title 블록을 만들고 스타일링 고려 사항에 대해 특별한 CSS 스타일을 사용하여 div 안에 중첩해야한다고 가정 해 봅니다 (예 : 특정 테두리 및 간격 지정 스타일 지정). 이것을 box이라고합시다. 상자 안에는 title 스타일이 사용됩니다.BEM을 사용할 때 요소 내부에 블록을 중첩시키는 것은 비논리적입니까?

box은 CSS의 제한 사항과 관련이 있으므로 실제로는 box이 BEM 용어로 블록으로 간주 될 수는 없습니다. 그것은 심지어 DOM 요소로 이해가되지 않습니다. 그러나 titlebox 안에 있습니다.

boxtitle__box을 부여하는 것은 의미가 있습니다. title 없이는 의미가 없기 때문입니다. 그러나 BEM의 모든 예는 요소가 항상 해당 블록의 DOM 하위 요소라고 가정하는 것 같습니다.

답변

1

더 자세히 조사하지 않고 명백하게 질문에 대답하려면 아니오를 선택하십시오. 당신은 뭔가를해야 할 것이다 다음

<div class="decorator"> 
    <h1 class="title">blah blah</h1> 
</div> 

또는

<div class="title"> 
    <h1 class="title__heading">blah blah</h1> 
</div> 

는 "블록", "요소"과 재사용의 관점에서 생각해야 BEM을 사용. 특히 개발자 관점에서 생각해보십시오. 개발자가 문제의 제목을 작성하고 요소 또는 속성을 잊어 버리고 왜 그렇지 않은지 파악하려고하는 특정 시나리오에서 끝내기를 원하지는 않습니다 작업. 이는 마크 업의 일관성과 복제 가능성을 제공합니다. 당신이 <div>이 필요하고 무엇을 얘기하고있는 CSS 제한 이유

나는 에 특별한 통찰력이없는,하지만 난 그것을 위해 당신의 말을합니다.

의사 선택기를 사용하여 마크 업을 정리하거나 앞서 언급 한 컨테이너로 표제를 사용하고 인라인 익명 요소 (즉, <span> 초)를 사용한다고 생각하겠습니다.

이 문제가 도움이되기를 바랍니다.