Css 我应该使用“&;”吗使用“>;选择直接子级”时?
虽然写得少,但我注意到以下两个片段: A.Css 我应该使用“&;”吗使用“>;选择直接子级”时?,css,less,Css,Less,虽然写得少,但我注意到以下两个片段: A. .parent el{ &>.直接子项{…} } B .parent el{ >.directchild{…} } 将生成完全相同的css: .parent el>.directchild{ ... } 我有几个问题: A和B之间有什么区别吗 这是故意的吗 我应该使用哪一种,为什么 当您在另一个选择器中插入选择器时,使用“&”是可选的,这意味着您的意图是从“父项”开始 虽然当我们不使用“&”时,我得到的代码更少,但我更喜欢使用它,因为代码更干
.parent el{
&>.直接子项{…}
}
B
.parent el{
>.directchild{…}
}
将生成完全相同的css:
.parent el>.directchild{
...
}
我有几个问题:
- A和B之间有什么区别吗
- 这是故意的吗
- 我应该使用哪一种,为什么
和被编译CSS中的外部选择器替换。因此,A实际上与执行以下操作相同:
.parent-el {
.parent-el > .direct-child { ... }
}
当然,这是多余的,并且首先违背了使用更少的目的
这是故意的吗?
&
实际上并没有像我相信的那样用于您的示例中。在LESS中使用&
的一个好例子如下:
.parent-el {
// define .parent-el styles
&__child {
// define .parent-el__child styles
}
}
在上面的示例中,&
允许您缩短.parent-el\u child
的声明
我应该使用哪一种,为什么?
您应该使用B。在这种情况下,使用&
是多余和不必要的。这与不使用
完全相同.A{.B}
与.A{&.B}
相同,因此是的,这是经过设计的,因为这样做的次数较少