css中的选择器;(不区分大小写)
1.标签选择器.
(1).所有的标签都可以作为标签选择器使用;
(2).无论这个标签藏得有多深一定会选择到;
(3).会选择页面所有的这种类型的标签.经常描述"共性",无法描述某个元素的"个性".
2.id选择器;
所有的标签都有这个属性.表示这个标签的名字.
名字不能乱写
注意:(1).任何标签都可以有id,id的命名只能有字母.数字下划线;必须以字母开头;不能和标签重名;大小写表示不同的名字,要严格区别;
(2).一个网页上不能出现同名的id;(主要是对js)
(3).id选择器的优先级要高于标签选择器也大于类选择器;
id>类>标签
3.类选择器;
(1).所有的标签都可以作为类选择器使用.
(2).选择器名是可以重复的.
(3).一个标签可以属于多个类选择器.
建议:
(1).不要去试图用一个类名,把某个标签的所有样式写完。这个标签要多携带几个类,共同造成这个标签的样式。
(2). 每一个类要尽可能小,有“公共”的概念,能够让更多的标签使用。
4.后代选择器
空格表示后代
是共性中的特性就是把某一部分进行样式改变
后代选择器描述的是祖先结构.
(5).交集选择器 例:p.special{}
没有空格的选择器就是交集选择器.
5.并集选择器(分组选择器).例:h3,li{}
用逗号隔开表示并集;
6.通配符*;
*就表示所有元素;
7.儿子选择器">"(IE7开始兼容,IE6不兼容)
例:div>p{}
8.序选择器(IE8开始兼容,IE6.7不兼容)
例:选择第1个li:ul li:first-child{
color:red;
}
9.下一个兄弟选择器(IE7开始兼容,IE6不兼容)
例;h3+p{}
继承性:当给自己设置的时候,自己的后代都继承上,这个就是继承性;
哪些属性能继承?
color、 text-开头的、line-开头的、font-开头的.
这些关于文字样式的,都能够继承; 所有关于盒子的、定位的、布局的属性都不能继承
从自己开始,直到最小的元素;
层叠性:就是css处理冲突的能力.如果冲突就要计算权重.所有的权重计算,没有任何兼容问题.
权重的顺序:id的数量,类的数量,标签的数量(255个等于一个类名)
当权重相同时谁在后以谁的为准.
如果不能直接选中某个元素,通过继承影响的话,权重为0.
如果大家都是0时,谁描述的近,听谁的.
当通过继承影响的话,不看权重,按就近原则.
并集选择器要拆开计算权重.
权重问题深入:
同一个标签,携带了多个类名,标签并不是和类的名字顺序有关,而是和css先后顺序有关.
!important标记表示提高权重值到无穷大
例:font-size:60px !important;
注意:1.增加的是属性的权重,并不是增加选择器的权重
2.无法提升继承的权重;
3.不影响就近原则;