如何在css中编写可重用类
这不是这样的问题,我只是想知道我对CSS中可重用类的理解是正确的。在这个例子中,我有两个div。我想给两者都添加一个填充,但值不同。(例如,div one的左边填充为10px,div 2和左边填充为15px)。所以现在我想用一个更少的函数来编写可重用的css类 示例1如何在css中编写可重用类,css,less,Css,Less,这不是这样的问题,我只是想知道我对CSS中可重用类的理解是正确的。在这个例子中,我有两个div。我想给两者都添加一个填充,但值不同。(例如,div one的左边填充为10px,div 2和左边填充为15px)。所以现在我想用一个更少的函数来编写可重用的css类 示例1 <div id="div1" class="small-left-space"> </div> <div id="div2" class="large-left-space"> </di
<div id="div1" class="small-left-space">
</div>
<div id="div2" class="large-left-space">
</div>
示例2
Html
由于使用较少,最好使用可重用的mixin而不是可重用的类。它有几个优点:
- 如果没有使用mixin,它就不会被编译,也不会出现在生成的CSS中
- 您的HTML标记是干净的、语义的,没有很多修饰类
- 您可以使用一个mixin(带有一个参数),其中您可以使用多个CSS类
/* Size */
.box(@value) {
width: @value;
height: @value;
}
.bigBox() {
.box(500px);
}
.mediumBox() {
.box(300px);
}
.smallBox() {
.box(100px);
}
/* background-color */
.backgroundColor(@value){
background-color: @value;
}
/* margin-left */
.leftSpace(@value) {
margin-left: @value;
}
.smallLeftSpace() {
.leftSpace(20px);
}
.mediumLeftSpace() {
.leftSpace(50px);
}
.largeLeftSpace() {
.leftSpace(100px);
}
#box2 {
.mediumBox();
.backgroundColor(blue);
.mediumLeftSpace();
}
#box3 {
.smallBox();
.backgroundColor(green);
.largeLeftSpace();
}
#box2 {
width: 300px;
height: 300px;
background-color: #0000ff;
margin-left: 50px;
}
#box3 {
width: 100px;
height: 100px;
background-color: #008000;
margin-left: 100px;
}
<div id="box2"></div>
<div id="box3"></div>
CSS文件,已生成:
/* Size */
.box(@value) {
width: @value;
height: @value;
}
.bigBox() {
.box(500px);
}
.mediumBox() {
.box(300px);
}
.smallBox() {
.box(100px);
}
/* background-color */
.backgroundColor(@value){
background-color: @value;
}
/* margin-left */
.leftSpace(@value) {
margin-left: @value;
}
.smallLeftSpace() {
.leftSpace(20px);
}
.mediumLeftSpace() {
.leftSpace(50px);
}
.largeLeftSpace() {
.leftSpace(100px);
}
#box2 {
.mediumBox();
.backgroundColor(blue);
.mediumLeftSpace();
}
#box3 {
.smallBox();
.backgroundColor(green);
.largeLeftSpace();
}
#box2 {
width: 300px;
height: 300px;
background-color: #0000ff;
margin-left: 50px;
}
#box3 {
width: 100px;
height: 100px;
background-color: #008000;
margin-left: 100px;
}
<div id="box2"></div>
<div id="box3"></div>
使用HTML标记,不带修饰类:
/* Size */
.box(@value) {
width: @value;
height: @value;
}
.bigBox() {
.box(500px);
}
.mediumBox() {
.box(300px);
}
.smallBox() {
.box(100px);
}
/* background-color */
.backgroundColor(@value){
background-color: @value;
}
/* margin-left */
.leftSpace(@value) {
margin-left: @value;
}
.smallLeftSpace() {
.leftSpace(20px);
}
.mediumLeftSpace() {
.leftSpace(50px);
}
.largeLeftSpace() {
.leftSpace(100px);
}
#box2 {
.mediumBox();
.backgroundColor(blue);
.mediumLeftSpace();
}
#box3 {
.smallBox();
.backgroundColor(green);
.largeLeftSpace();
}
#box2 {
width: 300px;
height: 300px;
background-color: #0000ff;
margin-left: 50px;
}
#box3 {
width: 100px;
height: 100px;
background-color: #008000;
margin-left: 100px;
}
<div id="box2"></div>
<div id="box3"></div>
由于使用较少,最好使用可重用的mixin而不是可重用的类。它有几个优点:
- 如果没有使用mixin,它就不会被编译,也不会出现在生成的CSS中
- 您的HTML标记是干净的、语义的,没有很多修饰类
- 您可以使用一个mixin(带有一个参数),其中您可以使用多个CSS类
/* Size */
.box(@value) {
width: @value;
height: @value;
}
.bigBox() {
.box(500px);
}
.mediumBox() {
.box(300px);
}
.smallBox() {
.box(100px);
}
/* background-color */
.backgroundColor(@value){
background-color: @value;
}
/* margin-left */
.leftSpace(@value) {
margin-left: @value;
}
.smallLeftSpace() {
.leftSpace(20px);
}
.mediumLeftSpace() {
.leftSpace(50px);
}
.largeLeftSpace() {
.leftSpace(100px);
}
#box2 {
.mediumBox();
.backgroundColor(blue);
.mediumLeftSpace();
}
#box3 {
.smallBox();
.backgroundColor(green);
.largeLeftSpace();
}
#box2 {
width: 300px;
height: 300px;
background-color: #0000ff;
margin-left: 50px;
}
#box3 {
width: 100px;
height: 100px;
background-color: #008000;
margin-left: 100px;
}
<div id="box2"></div>
<div id="box3"></div>
CSS文件,已生成:
/* Size */
.box(@value) {
width: @value;
height: @value;
}
.bigBox() {
.box(500px);
}
.mediumBox() {
.box(300px);
}
.smallBox() {
.box(100px);
}
/* background-color */
.backgroundColor(@value){
background-color: @value;
}
/* margin-left */
.leftSpace(@value) {
margin-left: @value;
}
.smallLeftSpace() {
.leftSpace(20px);
}
.mediumLeftSpace() {
.leftSpace(50px);
}
.largeLeftSpace() {
.leftSpace(100px);
}
#box2 {
.mediumBox();
.backgroundColor(blue);
.mediumLeftSpace();
}
#box3 {
.smallBox();
.backgroundColor(green);
.largeLeftSpace();
}
#box2 {
width: 300px;
height: 300px;
background-color: #0000ff;
margin-left: 50px;
}
#box3 {
width: 100px;
height: 100px;
background-color: #008000;
margin-left: 100px;
}
<div id="box2"></div>
<div id="box3"></div>
使用HTML标记,不带修饰类:
/* Size */
.box(@value) {
width: @value;
height: @value;
}
.bigBox() {
.box(500px);
}
.mediumBox() {
.box(300px);
}
.smallBox() {
.box(100px);
}
/* background-color */
.backgroundColor(@value){
background-color: @value;
}
/* margin-left */
.leftSpace(@value) {
margin-left: @value;
}
.smallLeftSpace() {
.leftSpace(20px);
}
.mediumLeftSpace() {
.leftSpace(50px);
}
.largeLeftSpace() {
.leftSpace(100px);
}
#box2 {
.mediumBox();
.backgroundColor(blue);
.mediumLeftSpace();
}
#box3 {
.smallBox();
.backgroundColor(green);
.largeLeftSpace();
}
#box2 {
width: 300px;
height: 300px;
background-color: #0000ff;
margin-left: 50px;
}
#box3 {
width: 100px;
height: 100px;
background-color: #008000;
margin-left: 100px;
}
<div id="box2"></div>
<div id="box3"></div>
+1,虽然说到较少的部分,我会说只有一个属性混合根本没有意义(CSS结果比本例中较少的代码可读性好得多)。+1,尽管谈到较少的部分,我会说只有一个属性混合根本没有意义(CSS结果比本例中更少的代码可读性更强)。