css - 在 LESS 中创建多选择器变量

标签 css less

使用 LESS,是否可以创建一个多选择器变量,可以独立扩展变量中的每个选择器?例如,我有以下 LESS:

@icons: .fas, .far, .fal;

@{icons} {
    font-size: 1.33333em;
    line-height: .75em;
    vertical-align: -.0667em;
    text-align: center;
    width: 2.5em;

    &.fa-search {
        position: absolute;
        font-size: 1em;
        width: 1em;
        top: 12px;
        padding-left: 9px;
    }

    &.fa-question-circle {
        font-size: 1.1em;
    }
}

这编译为以下内容,显然只将我的嵌套样式应用于列表中的最后一个选择器 .fal

.fas, .far, .fal {
  font-size: 1.33333em;
  line-height: .75em;
  vertical-align: -0.0667em;
  text-align: center;
  width: 2.5em;
}
.fas, .far, .fal.fa-search {
  position: absolute;
  font-size: 1em;
  width: 1em;
  top: 12px;
  padding-left: 9px;
}
.fas, .far, .fal.fa-question-circle {
  font-size: 1.1em;
}

当我真正想要的是独立应用于每个选择器的嵌套样式时,如下所示:

.fas,
.far,
.fal {
  font-size: 1.33333em;
  line-height: .75em;
  vertical-align: -0.0667em;
  text-align: center;
  width: 2.5em;
}
.fas.fa-search,
.far.fa-search,
.fal.fa-search {
  position: absolute;
  font-size: 1em;
  width: 1em;
  top: 12px;
  padding-left: 9px;
}
.fas.fa-question-circle,
.far.fa-question-circle,
.fal.fa-question-circle {
  font-size: 1.1em;
}

感谢您的任何建议。

最佳答案

你应该使用扩展。

http://lesscss.org/features/#extend-feature-extend-all

.fas {
    font-size: 1.33333em;
    line-height: .75em;
    vertical-align: -.0667em;
    text-align: center;
    width: 2.5em;

    &.fa-search {
        position: absolute;
        font-size: 1em;
        width: 1em;
        top: 12px;
        padding-left: 9px;
    }

    &.fa-question-circle {
        font-size: 1.1em;
    }
}

.far:extend( .fas all ) {}
.fal:extend( .fas all ) {}

关于css - 在 LESS 中创建多选择器变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51500968/

相关文章:

html - CSS如何定义多个标签和文本框元素之间的高度

less - 如何在 less like sass 的 !default 标签中创建默认变量

css - LESS 变量文件不是全局的

css - 如何在 LESS 中转义 html 字符?

html - 在调整大小时,如何让我的图像停留在 div 的底部?

javascript - 在样式元素上使用 title 属性时出现问题

javascript - 当前菜单项类突出显示 2 个菜单项

javascript - 如何减少对现有 Angular 5 元素的添加

javascript - 垂直滚动某些部分进入 View 时如何隐藏/显示固定元素?

html - div 大小和溢出