1,样式表优先级
①行内样式>内部样式
②行内样式>外部样式
③行内样式<>外部样式 两个样式表优先级与代码顺序有关,谁挨标签近谁优先
!important比行内样式表权值大,使用在属性值后面,不在分号后面
属性:属性值 !important;
2,选择器
标签选择器
含义:通过标签名字查找页面元素
作用:查找页面中对应标签,实现对应的样式规则
弊端:匹配范围广泛,精确度不高
类选择器 .
含义:通过给元素起一个class类名,然后通过这个类名在css里查找对应的元素,实现样式修饰
作用:只要页面中元素对应类名都能匹配到
弊端:查找元素不够精确
id选择器 #
含义:通过给元素起一个id名字,css通过id选择器去查找页面元素
注意事项:id属性具有唯一性,不能重复
作用:精确匹配到页面中的元素
通配符选择器 *
含义:通配符选择器直接查找页面中所有的元素
语法:*{margin:0; padding:0;}
作用:取消元素自带的内外边距
弊端:不是特别优化,一下匹配所有元素,没有内外边距也匹配
群组选择器 ,
含义:通过群组选择器节省代码,把公共代码提取出来
语法:div,p,h{语法规则}
通过群组选择器使用符号(,)前后选择器可以使用标签,id,类等
包含选择器
含义:通过父子关系或者爷孙关系查找页面元素
子代选择器:只能是儿子辈分的内容
语法:ul>li{样式规则}
后代选择器:儿子辈分,孙子辈分
语法:ul (空格)li{样式规则}
相邻选择器 +
含义:匹配到当前元素的后面一个兄弟(只能向后查找)
语法:div+p{样式规则}
通用兄弟选择器 ~
含义:匹配到当前元素后面所有的兄弟元素(向后查找)
语法:div~p{样式规则}
伪类选择器
含义:元素本身没有一种状态,需要通过鼠标上面的事件去触发才能完成(需要按顺序书写)
:link 鼠标访问前(无操作)
:visited 鼠标访问后(点击后)
:hover 鼠标悬停(移入)
:active 鼠标点击时(活动链接,激活瞬间)
多个类名
当多个类名共用一个class时,名字取值用空格隔开
语法:<div class="box1 box2 box3"></div>
选择器权重
产生原因:使用不同选择器对同一个元素进行样式修改时,实现效果不同
w3c规定通配符选择器权重值最小,因为他匹配页面所有的元素
!important>行内样式>id选择器>类选择器>标签选择器>通配符选择器
1001 1000 0100 0010 0001 0000