CSS是什么?
CSS
是层叠样式表(Cascading Style Sheets
)的简称。样式,顾名思义就是定义如何显示元素,什么元素呢,是HTML
元素。那没有CSS
之前,HTML
元素是怎么显示的呢?
其实,HTML
标签最开始被设计为定义文档内容。通过<h1>
<p>
<table>
这样的标签,HTML
的初衷是为了告诉正在浏览网页的人哪个是标题,哪个是段落,哪个是表格这些信息的。而文档的布局,和HTML
没什么关系,是由浏览器完成的。而两种主要的浏览器(Netscape
和 Internet Explorer
)不断将新的HTML标签和属性(如字体标签,颜色属性)添加到HTML规范中去,创建文档内容清晰地独立于文档表现层的站点变得越来越困难。
为了解决这一问题,万维网联盟(W3C
),这个非营利的标准化联盟,肩负起了 HTML 标准化的使命,并在 HTML 4.0
之外创造出样式(Style
)。
那样式写在哪儿呢?样式通常存储在样式表中。
为什么要有样式表?外部样式表可以极大提高工作效率。样式表定义如何显示HTML元素,样式通常存储在外部的.css
文件中。那么通过改变一个简单的.css
文件,就可以同时改变站点中所有页面的布局和外观。
样式表怎么规定元素的样式呢?样式表被允许以多种方式来规定样式信息。
- 样式可以规定在单个元素中
- 可以规定在HTML页的头元素中
- 可以规定在一个外部的
.css
文件中
那如果一个页面里面被规定了多个样式,那这个页面该使用哪个样式呢?
一般而言,所有的样式会根据下面的规则层叠于一个新的虚拟样式表中,其中内联样式拥有最高的优先权。
- 浏览器默认设置
- 外部样式表
- 内部样式表(位于
<head>
标签内部)- 内联样式(在
HTML
元素内部)
因此,内联样式(在 HTML
元素内部)拥有最高的优先权,这意味着它将优先于以下的样式声明:<head>
标签中的样式声明,外部样式表中的样式声明,或者浏览器中的样式声明(缺省值)。