CSS概述
- CSS指层叠样式表(Cascading Style Sheets)
- 样式定义如何显示HTML元素,样式通常存储在样式表中
- 把样式添加到HTML4.0,是为了解决内容与表现分离的问题
- 外部样式表可以极大提高工作效率,外部样式表通常存储在CSS文件中
- 多个样式定义可层叠为一个,样式表允许以多种方式规定样式信息。样式可以规定在单个的HTML元素中,在HTML页的头元素中,或在一个外部的CSS文件中,甚至可以在同一个HTML文档内部引用多个外部样式表。
层叠次序
一般而言,所有的样式会根据下面的规则层叠于一个新的虚拟样式表中,其中数字4拥有最高的优先权。
- 浏览器缺省设置
- 外部样式表
- 内部样式表(位于<head>标签内部)
- 内联样式(在HTML元素内部)
因此,内联样式拥有最高的优先权,这意味着它将优先于以下的样式声明:<head>标签中的样式声明,外部样式表中的样式声明,或者浏览器中的样式声明(缺省值)。
CSS语法
CSS语法由三部分构成:选择器、属性和值:
选择器(selector)通常是你希望定义的HTML标签或元素,属性(property)是你希望改变的属性,并且每个属性都有一个值。属性和值被冒号分开,并由花括号包围,这样就组成了一个完整的样式声明(dedaration):
上面这行代码的作用是将body元素内的文字颜色定义为蓝色。在上述例子中,body是选择器,而包括在花括号内的部分是声明。声明依次由两部分构成:属性和值,color为属性,blue为值。
多重声明:
如果要定义不止一个声明,则需要用分号将每个声明分开。为了增强样式定义的可读性,应该在每行只描述一个属性:
选择器的分组:
你可以对选择器进行分组,这样,被分组的选择器就可以分享相同的声明。用逗号将需要分组的选择器分开。在下面的例子中,我们对所有的标题元素进行了分组,所有的标题元素都是绿色的。
继承及其问题:
根据CSS,子元素从父元素继承属性。但是它并不总是按此方式工作。看下面规则:
根据上面这条规则,站点的body元素将使用Verdana字体(假如访问者的系统中存在该字体的话)。
通过CSS继承,子元素将继承最高级元素(在本例中是body)所拥有的属性 ,不需要另外的规则,所有 body 的子元素都应该显示 Verdana 字体,子元素的子元素也一样。并且在大部分的现代浏览器中,也确实是这样的。