我读了一些&主题,但找不到解决该问题的方法。这是我要实现的输出CSS:

的CSS

.box-item__info--normal,
.box-item__info--left {
    padding-left: 11px;
    padding-right: 11px;
}
.box-item__info--normal h4,
.box-item__info--left h4 {
    font-size: 1.5em;
}
.box-item__info--normal .item-price {
    float: right;
}


然后,我编写以下LESS语法:

.box-item{
    &__info{
        position: relative;
        padding: 35px 0 15px 0;

        &--normal, &--left{
            padding-left: 11px;
            padding-right: 11px;

            h4{
                font-size: @delta;
            }

            & , & .item-price{
                float: right;
            }
        }

        &--left{
            padding-top: 20px;

            h4{
                margin-bottom: 10px;
            }
        }
    }
}


将产生:

.box-item__info--normal,
.box-item__info--left {
    padding-left: 11px;
    padding-right: 11px;
}
.box-item__info--normal h4,
.box-item__info--left h4 {
    font-size: 1.5em;
}
.box-item__info--normal,
.box-item__info--left,
.box-item__info--normal .item-price,
.box-item__info--left .item-price {
    float: right;
}


您能否提供任何建议以使此代码按预期工作,我只知道目标父选择器的即插即用逗号。

最佳答案

此更少的代码将实现您想要的目标:

.box-item{
    &__info{

        &--normal, &--left{
            padding-left: 11px;
            padding-right: 11px;

            h4{
                font-size: 1.5em;
            }
        }

        &--normal{
            & .item-price{
                float: right;
            }
        }
    }
}


您不能使用双重规则&--normal, &--left{..}来实现最后一条规则,因为这也会影响.box-item__info--left .item-price

关于html - 使用&符号定位父选择器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27928519/

10-11 12:02