1.ID选择器
#elem{} id="elem
注释:
1.ID是唯一,在一个页面中只能出现一次,出现多次是不符合规范的。
2.命名的规范,由字母,下划线,中线,字母(并且第一个不嫩是数字)
3.驼峰写法:search Button(小驼峰)Search Button(大驼峰)
短线写法:search-small-Button
下划线写法:search_small_butto
2.class选择器
.elem{} class="elem"
注释:
1.一个class选择器是可以复用的。
2.可以添加多个class样式。
3.多个样式的时候,样式优先级根据css决定的,而不是class属性中的顺序
4.标签+类的写法
3.标签选择器<tag选择器>
div{}
使用场景:
1.去掉某些标签的默认样式
2.复杂的选择器中。如层次选择器
4.群组选择器(分组选择器)
可以通过逗号的方式,给多个不同的选择器添加统一的css样式,来达到代码的复用
5.通配选择器
*{}
注释:
1.通配选择器可以设置所有标签
6.层次选择器
后代选择器 m n{}
父子选择器 m>n{}
兄弟选择器 m~n{} 当前M下的所有兄弟的n标签
相邻选择器 m+n{}
7.属性选择器
m[attr]{}
=:完全匹配
*=:部分匹配
^=:起始匹配
$=:结束匹配
8.伪类选择器
m:伪类{}
:link 访问前的样式 (只能添加给a标签)
:visited 访问后的样式(只能添加给a标签)
:hover 鼠标移入时的样式(可以添加给所有标签)
:active 鼠标按下时的样式 (可以添加给所有标签)
:after,:before 通过伪类的方法给元素添加一段文本内容,使用content属性
:checked,:disabled,:focus 都是针对表单元素的
结构性伪类选择器
nth-of-type() nth-child()
角标时从1开始的,1.表示第一项。2.表示第二项
first-of-type
last-of-type
only-of-type
9.css继承
文字相关的样式可以被继承
布局相关的样式不能被继承(默认是不能继承的,但是可以设置继承属性 inherit)
10.css优先级
1.相同样式的优先级
当设置相同样式时,后面的优先级较高,但是不建议出现重复设置样式的情况
2.内部样式与外部样式
内部样式与外部样式优先级相同,当设置相同样式时,后面的优先级较高,但是不建议出现重复设置样式的情况
3.单一样式优先级
style行间>id>class>tag(标签)>*>继承
注释:
权重值:style行间:权重1000
id 权重100
class 权重10
tag 权重1
4.!important
提升样式优先级,非规范,不建议使用,且不能针对继承的属性进行优先级的提升
5.标签+类>单类
6.群组优先级与单一选择器优先级相同,靠后的优先级高
7.层次优先级
1.权重比较
ul li .box p input{} 1+1+10+1+1
.hello span #elem{} 10+1+100
2.约分比较
ul li .box p input{} li p input{}
.hello span #elem{} #elem{}