BEM。用修饰符元素命名阻止

时间:2014-12-07 14:51:39

标签: bem

我有一个客户实体。有两种类型的客户:医生和药房。两者都有" name"," address"," phone"," email"领域。但医生有医学专业和医学专业。和"医院"另外还有。 医生和药房的风格几乎相同(高度和医生的特殊领域除外)。

我有"客户"阻止(使用原始BEM表示法)。

.client {
    &_type_doctor {
        height: 280px;
    }
    &_type_pharmacy {
        height: 210px;
    }
    &__name {
        ...
    }
    &__address {
        ...
    }
    ...
}

我的问题是我应该如何命名特殊的医生领域?

.client__medical-specialty {...}
.client__hospital {...}

或者

.client_type_doctor__medical-specialty {...}
.client_type_doctor__hospital {...}

或者应该有"医生"另外,当客户是医生时,我应该将客户与医生混在一起吗?

.client {
    &__name {...}
    &__address {...}
    ...
}

.doctor {
    height: 280px;

    &__medical-specialty {...}
    &__hospital {...}
}

1 个答案:

答案 0 :(得分:1)

元素始终具有块名称本身的前缀(不具有修饰符块)。所以

.client__medical-specialty {...}
.client__hospital {...}

是最好的方式。