选择器形式和分类
1.标签(元素)选择器
形式:html标签名{属性名:属性值......}
/**只要是html标签名均可以这样设置样式**/
a{color:red;}
p{color:red;}
body{color:red;}
2. 类选择器
形式:.类名{属性名:属性值......}
内容
内容
内容
3.id选择器
形式:#id名{属性名:属性值......}
注意:在一个页面内标签的id不能重复
内容
4.通用选择器 只有一个 * 代表所有标签
* {属性名:属性值......}
多数用于css初始化 和 因为各个浏览器样式默认值是不同的 用于解决一些兼容性
5.复合选择器
a.后代选择器
形式:选择器1 选择器2{属性名:属性值......}
匹配到这里
匹配到这里div>
匹配不到
b.子代选择器
形式:选择器1 > 选择器2{属性名:属性值......}
p的后代 或 div的子代
p的子代 或 p的后代
子代跟后代的区别:
子代必须是子代标签
后代可以是孙子 增孙子 包含任意后代
c.相邻兄弟选择器 W3c手册
形式:选择器1 + 选择器2{属性名:属性值......}
注意是紧接相邻的兄弟元素
6.分组选择器 W3c手册
形式:选择器1,选择器2{属性名:属性值......}
7.伪类和伪元素 w3c手册
8.属性选择器
9.复合组合选择器
选择器的优先级
开发中标签一般不会定义多种选择器的 这里只要注意一下就可以了
基本优先级:!important重用性设定〉行内样式〉id选择器〉类(和伪类)选择器〉标签选择器〉通用选择器〉继承
复合优先级: 一个复合选择器所具有的优先级,则他们对比优先级的规则是:
1.先对比最大的基本优先级的个数,个数大的为优先
2.如果最大的基本优先级的个数相同,则继续比较下一层次的优先级的个数,个数多的优先
一个偏问题:
当标签的某些(初始)样式或html属性设定的样式,跟css设定的样式相冲突(均有效),则css永远优先于html级别的设置。