我很长一段时间没有使用过SASS,想知道:first-child
或:last-child
等伪元素是否存在问题?
答案 0 :(得分:44)
虽然@Andre是正确的,但是伪元素及其支持存在问题,特别是在较旧的(IE)浏览器中,这种支持一直在改进。
关于你的问题,是否有任何问题,我会说我没有真正看过任何问题,虽然伪元素的语法可能有点棘手,特别是在第一次出来时。所以:
div#top-level
declarations: ...
div.inside
declarations: ...
&:first-child
declarations: ...
按照预期编译:
div#top-level{
declarations... }
div#top-level div.inside {
declarations... }
div#top-level div.inside:first-child {
declarations... }
我没有看到任何关于这方面的任何文档,除了“sass可以做css可以做的所有事情”的声明。和往常一样,对于Haml和SASS来说,缩进就是一切。
答案 1 :(得分:12)
我认为使用:first-of-type
,:nth-of-type()
,:last-of-type
会更好(根据我的经验)。这可以通过稍微更改规则来完成,但我能够做的不仅仅是*-of-type
,而是*-child
选择器。
答案 2 :(得分:0)
首先,仍有一些浏览器不支持这些伪元素(即:first-child,:last-child),所以你必须“处理”这个问题。
有一个很好的例子,说明如何在不使用伪元素的情况下完成这项工作:
- 请参阅分隔线管示例。
我希望这很有用。