CSS特性:CSS有两大特性,继承性和层叠性。
CSS的继承性,指的是子元素继承了父元素的某些样式。
CSS中具有继承属性的三大类:
(1)文本相关属性:font-family,font-size,font-style,font-weight,font,line-height,text-align,text-indent,word-spacing.
(2)列表相关属性:list-style-image,list-style-position,list-style-type,list-style.
(3)颜色相关属性:color CSS优先级
样式覆盖发生冲突常见的共有五种情况。(1)引用方式冲突 (2)继承方式冲突 (3)指定样式冲突 (4)继承样式与指定样式冲突 (5)!important
1:引用样式冲突 行内样式>(内部样式=外部样式) 行内样式优先级最高,内部样式与外部样式优先级相同,如果行内样式与外部样式同时存在,则以最后的引入样式为准(后来者居上)。
2:继承方式冲突 如果由于继承方式引起的冲突,则“最近的祖先元素获胜”。
3:指定样式冲突 所谓的指定样式,指的是指定“当前元素”的样式。当直接指定的样式发生冲突时,样式权值高者获胜。 常用的选择器 优先级如下: 行内样式>id选择器>class选择器>元素选择器
4:继承样式和指定样式冲突 当继承样式和指定样式发生冲突时,指定样式获胜。
5:!important 在CSS中,可以使用!important规则来改变样式的优先级。如果一个样式使用!important来声明,则这个样式会覆盖CSS中任何其他样式声明。也就是说,如果你一定要使用某个样式属性,为了不让它覆盖,则可以使用!important来实现。
如何覆盖!important (1)使用相同的选择器,再添加一条!important的CSS语句。 (2)使用更高优先级的选择器,再添加一条!important的CSS语句。
总之,对于CSS优先级,主要有以下两个黄金定律。(1)优先级高的样式覆盖优先级低的样式(2)同一优先级的样式,后定义的覆盖先定义的,即后来者居上。
CSS引入方式
(1)外部样式表
在实际开发中,为了提升网站性能和可维护性,一般都是使用外部样式表。所谓的“外部样式表”,就是把CSS代码和HTML代码单独放在不同文件中,然后再HTML文档中使用Link标签来引用CSS样式表。
外部样式表在单独文件中定义,并且在<head>和</head>标签对中使用link标签来引用。
(2)内部样式表
(3)行内样式表
CSS选择器
(1)元素选择器
(2)id选择器
(3)class选择器
(4)群组选择器