css - 有没有办法将 css 伪类用作 lesscss 编译器的混合?

标签 css less

我试图在 less css mixin 中使用带有伪类的类

a:link{
    color:#138CB4;
    text-decoration:none;
}
a:visited{
    a:link;
    color:#84B6CD;
}

但我得到的是这个,这是一个无效的 css

a:link{
    color: #138CB4;
    text-decoration: none;
}
a:visited{
    a: link;
    color: #84B6CD;
}

我是不是漏掉了什么,或者 mixins 还不支持伪类。

最佳答案

起初我也对此感到有点困惑,并且发现自己在努力让它发挥作用。尽管您的帖子已经足够老了,据我所知它可能早于此功能。

无论如何,如果您只是想通过伪选择器向现有样式添加额外的样式,您可以使用“&”运算符。它的工作方式有点像“this”关键字,并将嵌套变成一个简单的组合。所以你应该能够做到:

a {
  color: #138CB4;
  text-decoration: none;

  &:visited {
    color: #84B6CD;
  }
}

这应该编译成类似的东西:

a {
  color: #138CB4;
  text-decoration: none;
}

a:visited {
    color: #84B6CD;
}

请注意,您还可以使用 & 组合“子选择器”:

.outer {
  color: blue;

  .error {
    //this will select elements that are .error inside-of/descending-from .outer
  }

  &.error {
    //This will select elements that are .outer AND .error
    color: red;
  }
}

不幸的是,官方定义隐藏在 Nesting Rules 中。文档的一部分。

关于css - 有没有办法将 css 伪类用作 lesscss 编译器的混合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6010248/

相关文章:

jquery - 使用xpath获取div中的文本,包括span

android - 如何将居中的内容对齐到Webview中

css - 位于 div 中的 adobe flex 应用程序

jquery - 使用 LESS 如何从子元素定位祖 parent ?

css - linux less 编译器监视@import 更新

html - 在不重叠背景颜色的情况下减少两个文本 block 之间的间隙

css - 想让Sass mixin更健壮(字体速记)

css - 如何在 Visual Studio 2015 的 LESS 文件中获取 Intellisense

css - 较少的颜色变量值出错

css - Twitter Bootstrap 自定义响应