css – 更少:怎么写:悬停和:焦点

前端之家收集整理的这篇文章主要介绍了css – 更少:怎么写:悬停和:焦点前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚开始学习Less并希望得到这样的结果:
.navbar .nav > li > a {
   /* some rules */
} 

.navbar .nav > li > a:hover {
   /* some rules */
} 

.navbar .nav > li > a:focus {
   /* some rules */
}

我无法弄清楚如何在Less中写出来。我试过了

.navbar .nav > li > a {
    /* some rules */
    &:hover {

    }
    &:focus {

    }
}

但这不起作用。请帮忙。谢谢。

解决方法

这基本上是嵌套的正确格式,但有点不清楚你期望的是什么。也许你期望将/ *某些规则* /重复到:hover和:focus(仅基于你在输入和输出上面显示内容 – 如果这不是对你的问题的正确理解,请澄清)。但是,这不是嵌套的工作原理。嵌套仅拾取选择器字符串以将伪类附加到其中,它不会自动将其外部定义的规则填充到其中。您需要更明确地像以下选项之一:

选项1(使用嵌套)

.navbar .nav > li > a {
    /* some rules */
    &:hover {
      /* some rules */
    }
    &:focus {
      /* some rules */
    }
}

选项2(就像CSS一样)

.navbar .nav > li > a,.navbar .nav > li > a:hover,.navbar .nav > li > a:focus {
    /* some rules */
}

选项3(使用与mixin嵌套)

.setRules() {
    /* some rules you type once */
}

.navbar .nav > li > a {
    .setRules();
    &:hover {
      .setRules();
    }
    &:focus {
      .setRules();
    }
}

猜你在找的CSS相关文章