css的奇技淫巧
选择同级元素中第一个拥有某个类名的元素
有如下 dom 结构,div子元素的类名是会通过js进行动态的增加、移除一个或多个类名demo
1 | <div> |
要选择第一个demo类名的元素
1 | div .demo { |
强大的属性选择器[attributes]
[class]
1
2
3
4
5
6
7
8
9
10
11/* 拥有类名的样式 */
[class] {
color: red;
}
:not([class]) {
color: green;
}
<p class="demo">这个p元素的文本是红色的</p>
<p class="">这个p元素的文本是红色的</p>
<p>这个p元素的文本是绿色的</p>[class*="demo"]
1
2
3
4
5
6/* 拥有类名demo的样式 */
[class*="demo"] {
color: red;
}
<p class="demo">这个p元素的文本是红色的</p>[class^="demo"]
1
2
3
4
5
6/* 类名以demo开头的 */
[class^="demo"] {
color: red;
}
<p class="demo-example">这个p元素的文本是红色的</p>[class$="demo"]
1
2
3
4
5
6/* 类名以demo结尾的 */
[class$="demo"] {
color: red;
}
<p class="example-demo">这个p元素的文本是红色的</p>
单行、多行文本溢出省略号
单行文本
1
2
3
4
5{
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
}多行文本
1
2
3
4
5
6{
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;
}