SASS具有一个称为的功能@extend
,该功能允许选择器继承另一个选择器的属性,但不复制属性(如mixins)。
LESS是否也具有此功能?
是的,Less.js推出extend
的V1.4.0。
:extend()
@extend
LESS没有实现SASS和Stylus使用的at-
rule()语法,而是实现了伪类语法,这为LESS的实现提供了灵活性,使其可以直接应用于选择器本身或在语句内部。因此,这两个都将起作用:
.sidenav:extend(.nav) {...}
要么
.sidenav {
&:extend(.nav);
...
}
此外,您还可以使用all
指令扩展“嵌套”类:
.sidenav:extend(.nav all){};
您可以添加以逗号分隔的要扩展的类列表:
.global-nav {
&:extend(.navbar, .nav all, .navbar-fixed-top all, .navbar-inverse);
height: 70px;
}
扩展嵌套选择器时,您应该注意到不同之处:
嵌套选择器.selector1
和selector2
:
.selector1 {
property1: a;
.selector2 {
property2: b;
}
}
现在.selector3:extend(.selector1 .selector2){};
输出:
.selector1 {
property1: a;
}
.selector1 .selector2,
.selector3 {
property2: b;
}
,.selector3:extend(.selector1 all){};
输出:
.selector1,
.selector3 {
property1: a;
}
.selector1 .selector2,
.selector3 .selector2 {
property2: b;
}
,.selector3:extend(.selector2){};
输出
.selector1 {
property1: a;
}
.selector1 .selector2 {
property2: b;
}
最后.selector3:extend(.selector2 all){};
:
.selector1 {
property1: a;
}
.selector1 .selector2,
.selector1 .selector3 {
property2: b;
}
Cocos Creator 3D 支持各个扩展间互相提供数据(contributions)。 我们在编写一个扩展的时候,可以查询编辑器内已有功能是否提供了对外接收 contributions 的功能。如果对应功能提供该功能,则能够在编写扩展的时候使用这些功能。 contributions 数据定义 contributions 功能,统一在 package.json 里的 contributions
问题是我应该把和放在哪里,因为我不能使用带有扩展函数的同伴对象?
SDK对外开放了一个可自定义的协议NtalkerChatDelegate,如果客户想进行自定义实现接口,必须遵守此协议,初始化小能类的时候设置其delagate为实现代理接口方法的类,然后实现相应的接口。其中提供了以下几个接口: 深度自定义控件接口,详细调用细节,请参照demo。 一、自定义消息发送 二、查询历史咨询列表 三、设置超媒体自定义参数 四、+号功能区的扩展功能 五、商品条自定义 六、设
一、发送文本消息到聊窗内 二、返回按钮的点击监听 三、结束会话按钮的点击监听 四、超媒体点击事件的监听 五、+号功能区的扩展功能 六、商品条自定义 七、导航栏自定义
QueyList是完全模块化的设计,拥有强大的可扩展性。 使用bind()方法绑定一个功能函数到QueryList对象,实现轻量级的功能扩展。bind()方法的第一个参数是绑定的函数名,第二个参数是一个匿名的功能函数,这个功能函数的$this对象指向的是当前的QueryList实例对象,所以在这个功能函数中可以直接通过$this来调用QueryList的方法。 例子 注册一个自定义的http网络操
自定义引擎各个阶段 可以在测试脚本中或者基类中重写 ActsTestBase 提供的 API。 重写 prepare,execute,check,clear 等。可以通过在 super.prepare() 之前或者之后进行某些操作。 重写 process 方法,在 super.process() 之前或之后进行操作。可将整个脚本重新编排,例如在现有的清理 -> 准备 -> 执行 -> 校验流程中增