BEM命名和定位

时间:2018-06-28 09:15:35

标签: css sass bem

我是BEM的新手,我正在尝试实现这一点:

.details-header {
  margin-top: 10px;
  padding-bottom: 0;
  display: block;

  &__heading-panel {
    margin-top: 10px; 
  }

  &__heading {
    display: inline-block;
  }
}

我知道在margin-top中定义相同的details-header__heading-panel是错误的,但是由于details-header和details-header__heading-panel之间存在元素,因此我需要这个余量,我该如何解决,还要保留代码DRY?

编辑:这是html:

<div class="details-header">
        <div>Something</div>
        <div class="details-header__heading-panel">
            <h1 class="details-header__heading">
                <span>something</span>
            </h1>
            <a>
                Link
            </a>
        </div>
    </div>

我需要在details-headerdetails-header__heading-panel之间的那个div之间留有余量

1 个答案:

答案 0 :(得分:2)

details-headerdetails-header__heading-panel内定义相同的边距顶部没有任何问题。只需继续使用原始代码即可。 不是复制粘贴,而是巧合。