您当前位于:
开发工具 ——> 快速开发CSS的利器 - less系列 嵌套规则
快速开发CSS的利器 - less系列 嵌套规则
2015/05/04 12:57:29
|
作者:HTML5学堂(码匠)
|
分类:开发工具
|
关键词:less,快速开发,嵌套规则
快速开发CSS的利器 - less 嵌套规则
HTML5学堂:嵌套,在我们HTML代码中一直都在使用,如div中的p元素等,对于我们样式的书写,需要使用div p {} 进行样式的指定,这也就是我们的后代选择器。不过写过项目的人都知道,为了防止样式的覆盖,每种选择器都是一大长串,写起来很麻烦~本文给大家讲解的是less 嵌套规则,可以解决掉样式覆盖的问题。
less 嵌套规则
嵌套,在我们HTML代码中一直都在使用,如div中的p元素等,对于我们样式的书写,需要使用div p {} 进行样式的指定,这也就是我们的后代选择器。不过写过项目的人都知道,为了防止样式的覆盖,每种选择器都是一大长串,写起来很麻烦~
less利用嵌套的书写方式,让我们在写后代选择器的时候有了新的方法。原来后代选择器的书写方式:
-
.arclist dl {
-
padding: 10px 20px;
-
border-bottom: 1px dotted #ccc;
-
}
-
.arclist dl:after {
-
.common-clearfloat;
-
}
-
.arclist dt {
-
float: left;
-
width: 120px;
-
height: 120px;
-
}
通过嵌套的方式书写样式的方法:
-
.arclist {
-
dl {
-
padding: 10px 20px;
-
border-bottom: 1px dotted #ccc;
-
&:after {
-
.common-clearfloat;
-
}
-
dt {
-
float: left;
-
width: 120px;
-
height: 120px;
-
}
-
}
-
}
依旧看我们之前实现的效果图
在使用嵌套方法前的样式:
-
.common-dta {
-
overflow: hidden;
-
display: block;
-
height: 100%;
-
}
-
.common-dtimg {
-
display: block;
-
width: 100%;
-
height: 100%;
-
border: none;
-
}
-
.common-clearfloat {
-
content: "\200B";
-
clear: both;
-
display: block;
-
height: 0;
-
}
-
.text-overflow {
-
display:block;
-
word-break:keep-all;
-
white-space:nowrap;
-
overflow:hidden;
-
text-overflow:ellipsis;
-
}
-
.wrap {
-
width: 1020px;
-
margin: 0 auto;
-
}
-
.arclist {
-
float: left;
-
width: 600px;
-
background: rgba(227, 227, 227, 0.2);
-
}
-
.arclist2 {
-
float: right;
-
width: 400px;
-
background: rgba(227, 227, 227, 0.2);
-
}
-
.arclist dl {
-
padding: 10px 20px;
-
border-bottom: 1px dotted #ccc;
-
}
-
.arclist dl:after {
-
.common-clearfloat;
-
}
-
.arclist dt {
-
float: left;
-
width: 180px;
-
height: 180px;
-
}
-
.arclist dt a {
-
.common-dta;
-
border-radius: 5px;
-
box-shadow: 0 0 0 2px #39f;
-
}
-
.arclist dt img {
-
.common-dtimg;
-
}
-
.arclist dd {
-
float: left;
-
width: 360px;
-
height: 180px;
-
padding: 0 0 0 20px;
-
}
-
.arclist dd h2 {
-
height: 36px;
-
margin-bottom: 10px;
-
font-size: 30px;
-
line-height: 36px;
-
color: #39f;
-
.text-overflow;
-
}
-
.arclist dd h2 a {
-
color: #39f;
-
}
-
.arclist dd p {
-
overflow: hidden;
-
height: 126px;
-
font-size: 14px;
-
line-height: 18px;
-
}
-
.arclist2 dl {
-
padding: 10px 20px;
-
border-bottom: 1px dotted #ccc;
-
}
-
.arclist2 dl:after {
-
.common-clearfloat;
-
}
-
.arclist2 dt {
-
float: left;
-
width: 120px;
-
height: 120px;
-
}
-
.arclist2 dt a {
-
.common-dta;
-
border-radius: 50%;
-
box-shadow: 0 0 0 2px #f39;
-
}
-
.arclist2 dt img {
-
.common-dtimg;
-
}
-
.arclist2 dd {
-
float: left;
-
width: 220px;
-
height: 120px;
-
padding: 0 0 0 20px;
-
}
-
.arclist2 dd h2 {
-
height: 30px;
-
margin-bottom: 10px;
-
font-size: 24px;
-
line-height: 30px;
-
.text-overflow;
-
}
-
.arclist2 dd h2 a {
-
color: #f39;
-
}
-
.arclist2 dd p {
-
overflow: hidden;
-
height: 80px;
-
font-size: 14px;
-
line-height: 20px;
-
}
欢迎沟通交流~HTML5学堂
使用嵌套方法之后的样式代码:
-
.common-dta {
-
overflow: hidden;
-
display: block;
-
height: 100%;
-
}
-
.common-dtimg {
-
display: block;
-
width: 100%;
-
height: 100%;
-
border: none;
-
}
-
.common-clearfloat {
-
content: "\200B";
-
clear: both;
-
display: block;
-
height: 0;
-
}
-
.text-overflow {
-
display:block;/*内联对象需加*/
-
word-break:keep-all;/* 不换行 */
-
white-space:nowrap;/* 不换行 */
-
overflow:hidden;/* 内容超出宽度时隐藏超出部分的内容 */
-
text-overflow:ellipsis;/* 当对象内文本溢出时显示省略标记(...) ;需与overflow:hidden;一起使用。*/
-
}
-
.wrap {
-
width: 1020px;
-
margin: 0 auto;
-
}
-
.arclist {
-
float: left;
-
width: 600px;
-
background: rgba(227, 227, 227, 0.2);
-
dl {
-
padding: 10px 20px;
-
border-bottom: 1px dotted #ccc;
-
&:after {
-
.common-clearfloat;
-
}
-
-
dt {
-
float: left;
-
width: 180px;
-
height: 180px;
-
a {
-
.common-dta;
-
border-radius: 5px;
-
box-shadow: 0 0 0 2px #39f;
-
}
-
img {
-
.common-dtimg;
-
}
-
}
-
dd {
-
float: left;
-
width: 360px;
-
height: 180px;
-
padding: 0 0 0 20px;
-
h2 {
-
height: 36px;
-
margin-bottom: 10px;
-
font-size: 30px;
-
line-height: 36px;
-
color: #39f;
-
.text-overflow;
-
a {
-
color: #39f;
-
}
-
}
-
p {
-
overflow: hidden;
-
height: 126px;
-
font-size: 14px;
-
line-height: 18px;
-
}
-
}
-
}
-
}
-
.arclist2 {
-
float: right;
-
width: 400px;
-
background: rgba(227, 227, 227, 0.2);
-
dl {
-
padding: 10px 20px;
-
border-bottom: 1px dotted #ccc;
-
&:after {
-
.common-clearfloat;
-
}
-
dt {
-
float: left;
-
width: 120px;
-
height: 120px;
-
a {
-
.common-dta;
-
border-radius: 50%;
-
box-shadow: 0 0 0 2px #f39;
-
}
-
img {
-
.common-dtimg;
-
}
-
}
-
dd {
-
float: left;
-
width: 220px;
-
height: 120px;
-
padding: 0 0 0 20px;
-
h2 {
-
height: 30px;
-
margin-bottom: 10px;
-
font-size: 24px;
-
line-height: 30px;
-
.text-overflow;
-
a {
-
color: #f39;
-
}
-
}
-
p {
-
overflow: hidden;
-
height: 80px;
-
font-size: 14px;
-
line-height: 20px;
-
}
-
}
-
}
-
}
通过使用嵌套的方式,让样式代码的书写变得更加简单,同时能够最快速度的找到需要寻找的元素~方便了很多。
欢迎沟通交流~HTML5学堂
阅读:816