Css 更少的名称空间和其他选择器
如何使用伪选择器引用命名空间类Css 更少的名称空间和其他选择器,css,less,Css,Less,如何使用伪选择器引用命名空间类 #Namespace{ .class:focus{ prop: value; } .class + .class{ prop: value; } } .anotherClass{ #Namespace.class:focus(); //this does not work #Namespace.class:focus; //not working #Namespace >
#Namespace{
.class:focus{
prop: value;
}
.class + .class{
prop: value;
}
}
.anotherClass{
#Namespace.class:focus(); //this does not work
#Namespace.class:focus; //not working
#Namespace > .class:focus(); //this does not work
#Namespace > .class:focus; //not working
#Namespace > .class + .class; //not working either
}
#伪选择器:
简言之:你不能。只有id
和class
(即分别为
和
)选择器可以用作混音器。不能使用伪选择器和标记选择器。看
如果计划重用某些样式,只需将其定义为(参数化)混合:
#.类别+.类别:
#Namespace>.class+.class代码>//也不工作
部分原因在于上述原因(即并非每个选择器都可以用作mixin),但在这种特定情况下,您实际上仍然可以访问该选择器组合。尽管调用带名称空间的mixin的唯一语法是:#namespace>.mixin
,但非正式地说:“combinator”(例如
,+
,~
,空格等)在编译器匹配mixin调用的选择器时基本上被忽略,因此:
#namespace {
.class + .class {
prop: value;
}
}
.anotherClass {
#namespace > .class > .class; // OK
#namespace .class .class; // OK
#namespace.class.class; // OK
#namespace.class > .class; // OK
// etc.
}
另见
#namespace {
.class + .class {
prop: value;
}
}
.anotherClass {
#namespace > .class > .class; // OK
#namespace .class .class; // OK
#namespace.class.class; // OK
#namespace.class > .class; // OK
// etc.
}