ID选择器使用 "#" 号加ID名称xx来表示,用来选择HTML 中的id="xxx"的DOM元素css
<div id="page">我是id选择器</div>
复制代码
当咱们想给这个元素应用样式时候html
#page{
color:#fff;
background:#000;
}
复制代码
类选择器咱们是用 “.” 加上claa名称来表示,用来选择HTML中的class="xx"的DOM元素。spa
<li class="list-item">1</li>
<li class="list-item">2</li>
<li class="list-item">3</li>
复制代码
把样式加到每一条元素,使用类选择器code
.list-item{
color:red;
font-size:16px
}
复制代码
通配符选择器使用 * 来选择页面里面的全部元素htm
*{
margin:0;
padding:0;
}
复制代码
因为通配符选择器要把样式覆盖到全部的元素上,所以它的效率不会高。ip
标签选择器就是选中HTML中某一种类的标签,直接使用HTML中的标签名做为肖泽强的名称input
li{
font-size:20px;
}
复制代码
Tips 标签选择器一般用来重置某些标签的样式,标签选择器的效率也不是很高string
属性选择器经过DOM的属性来选择DOM节点,属性选择器用括号"[]"包裹,以下it
a[href]{
color:red;
}
复制代码
属性选择器有以下几种形式io
[attr] 用来选择带有attr属性的元素
[attr=xxx] 用来选择attr属性等于xxx的元素,如选择文本输入框
<input type="text" value="xuanze"/>>
//css
input[type=text]{
color:red;
}
复制代码
这个选择器要注意,xxx和HTML中的属性值必须彻底相等才会生效
<input class="input text" type="text" value="xuanze"/>>
//css
input[class="input text"]{
color:red;
}
复制代码
<input class="input text" type="text" value="xuanze"/>>
//css
input[class~=input]{
color:red;
}
复制代码
<div class="article">1</div>
<div class="article-tile">2</div>
<div class="article-content">3</div>
<div class="article_footer">4</div>
div[class|=article]{
color:red
}
复制代码
上面会有article开头的生效,但对第四条不会生效
若是把选择器改为 div[class^=artice] 那么都会选中了
[attr$=xxx] 这个选择器用正则匹配属性以XXX结尾的元素
[attr*=xxx] 这个选择器用正则匹配的方法来选择属性值中包含XXX字符的全部元素。
后代选择器是用空格分隔多个选择器组合,它的做用是在A选择器的后代中找到B选择器所指的元素,如:
<div class="page">
<div class="acr">
<p>我是随便写的</p>
</div>
<p>我也是随便写的</p>
</div>
.page p {
color: gold;
font-size: 20px;
}
复制代码
子元素选择器和后代选择器相似,不过子元素只找子元素,不会把全部的后代都找一遍
.page >p{
color:red
}
复制代码
相邻兄弟选择器是用来选取某个元素紧邻的兄弟元素,它的语法是"选择器A + 选择器B"
h1+p{
margin-top:20px;
color:black;
}
复制代码
通用兄弟选择器和相邻兄弟选择器很类似,它的语法是"选择器A ~ 选择器B",会匹配选择器A后面全部符合选择器B的元素
H1~P{
color:red
}
复制代码
交集选择器是为了找两个或多个选择器的交集,用法就是把两个选择器放在一块儿,法语"选择器A选择器B"
.list-item.active{
color:red;
font-size:20px
}
复制代码
并集选择器是为了合并类型的样式,能够是选择器不用单样式相同的CSS语法块合并。并集选择器就是用多个逗号分隔多个选择器,如"选择器A,选择器B"
H1,H2,P{
margin:0;
padding:0;
}
复制代码
:link 选取未访问过的超连接
:visited 选取访问过的链接
:hover 选取鼠标悬浮的元素
:active 选取点中的元素
:focus 选取获取焦点的元素
:empty 选取没有子元素的元素
:checked 选取勾选状态下的input 元素 只对 radio 和checkbox 有效
:disabled 选取禁用的表单元素
:first-child 选取当前选择器下的第一个元素
:last-child 选取当前选择器下的最后一个元素
:nth-child(an+b) 选取指定位置的元素,参数支持an+b的形势.好比 li:nth(2n+1),就能够选取li元素序号是2的整数倍+1的全部元素,也就是1,3,5,7,9序号的li元素
:nth-last-child(an+b) 和上面相似,不过从后面选取.
:only-child 选取元素惟一的子元素,若是元素的父元素只有它一个子元素就会生效,若是还有其余的兄弟元素,则不生效
:only-of-type 选取惟一的某个元素类型。若是元素的父元素只有它一个当前类型的子元素就会生效。
伪元素选择器是用来香元素设置某种特殊效果.伪元素选择器并非真实的DOM元素,因此称之伪元素.经常使用的以下:
::first-line 为元素的第一行使用样式
::first-letter 为某个元素的首字母或第一个文字使用样式
::before 在某个元素以前插入内容
::after 在某个元素以后插入内容
::selection 对光标选中的元素添加样式
1.伪元素构造的元素是虚拟的,因此不能使用js去操做
2.first-line和first-letter不使用于内联样式,在内联样式中都会失效
3.若是同时使用了 befor 和first-letter. 第一个内容要从before中算起,若是before 中第一个为非文本内容,那first-letter也会做用到这个非文本内容上,但不会生效。
4.在CSS3 中规定, 伪类用一个冒号 (:) 表示, 伪元素用两个冒号 (::)来表示
复制代码