Fab*_* B. 2 css less twitter-bootstrap
我想为我的应用程序按钮编写一个"选定"类.当一个按钮具有'选择'类时,它的外观和感觉应该与Bootstrap的'btn-primary'相同.
Bootstrap css定义(例如):
.btn-primary { background-color:#00F; color:#FFF; }
Run Code Online (Sandbox Code Playgroud)
我写了我的课程如下:
button.selected:extend(.btn-primary) {};
Run Code Online (Sandbox Code Playgroud)
1)应该这样工作吗?
2)如果1)是,那么我的CSS不起作用.所选类不会从btn-primary继承颜色和背景颜色.
UPDATE
我的一些标记:
<div class="filters">
<div class="btn-group btn-group-lg type">
<button type="button" class="btn selected" data-filter="all">
<span class="glyphicon glyphicon-list-alt"></span>
All
</button>
<button type="button" class="btn btn-default" data-filter="positive">
<span class="glyphicon glyphicon-thumbs-up"></span>
In
</button>
<button type="button" class="btn btn-default" data-filter="negative">
<span class="glyphicon glyphicon-thumbs-down"></span>
Out
</button>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
而我的LESS:
.filters {
.type {
button.selected:extend(.btn-primary) {};
}
}
Run Code Online (Sandbox Code Playgroud)
我的主要文件少:
@import '../bower_components/bootstrap/dist/css/bootstrap.min.css';
@import "utils.less";
@import "flex.less";
@import "index.less";
@import "transactions.less";
Run Code Online (Sandbox Code Playgroud)
显然,如果我在标记中给出了类.btn-primary的按钮......它就可以了.
Har*_*rry 10
当我们简单地导入带有.css扩展名的CSS文件时,它将被视为CSS并且@import语句保持原样.
要使该extend功能起作用,Less编译器必须将导入的文件解释为Less文件.这可以通过两种方式完成,它们如下:
选项1 :(使用(reference)指令)
使用该(reference)指令,只允许从外部引导程序库中提取目标/引用样式.因此,它会产生一个较小的文件,当你只想从一个大型库(如bootstrap)引用几个样式时,它是首选的.请注意,此指令仅在Less v1.5.0中引入,因此在较低的编译器版本中不起作用.
@import (reference) 'less/bootstrap.less';
.filters {
.type {
button.selected:extend(.btn-success) {};
}
}
Run Code Online (Sandbox Code Playgroud)
选项2 :(使用(less)指令)
使用该(less)指令时,Less编译器会将导入文件中存在的代码视为Less代码(无论文件扩展名如何),因此允许扩展其中指定的任何规则集/类.但是,使用此伪指令的缺点是.css文件的整个内容(包括输出文件中可能不需要的类)将被复制到输出中.这在Less v1.4.0中引入.
@import (less) 'bootstrap.css';
.filters {
.type {
button.selected:extend(.btn-success) {};
}
}
Run Code Online (Sandbox Code Playgroud)