使用有意义的标记
使用有意义的标记使得页面更容易被处理。同时使用有意义的标记可以使得直接设置元素的样式,而不需要添加其他的表示符。
ID与class的区别
ID可以用于标识页面上的特定元素(比如站点导航),或者用来标识持久的结构性元素,例如主导航或内容区域,还可以用来标识一次性元素,例如某个链接或表单元素。
类非常适合标识内容的类型或其他相似条目。
为一个ID或者class命名时应该根据其功能来为其命名而不是其表现的外观。因为外观可能改变但是动能却一般不改变。
至于到底选择使用类还是ID,只有确定其只出现一次并且功能也很特殊时采才用ID,否则就采用class。
注意class也不能过度使用,必要时再用。同时不需要给每个元素用类来标识,可以给某个容器赋予一个类名,然后再分别对其中的元素应用不同的样式就好。
div和span
div实际上代表部分(division),它可以将文档分割为几个有意义的区域。为了避免不必要的标记,应该只在没有元素能够实现区域分割的情况下使用div元素。
div可以用来对块级元素进行分组,而span用来对行内元素进行分组或标识。
微格式
一套标准的命名约定和标记模式来表示人、地点或日期等类型的信息,基于vCard和iCalendar等现有数据格式。有利于内容被识别和提取。
DTD(文档类型定义)是一组机器可读的规则,定义了XML或者HTML的特定版本中允许有什么,不允许有什么。
DOCTYPE描述了使用哪个DTD。
DOCTYPE有两种风格,严格和过渡。严格模式不允许使用已废弃的元素。
一般情况下在文档首加
浏览器模式主要包括混杂模式和标准模式。标准模式浏览器根据规范呈现页面;混杂模式页面以向后兼容的方式呈现,通常模拟老式浏览器的行为以防止老站点无法工作。
根据DOCTYPE是否存在呈现模式,被称为DOCTYPE切换。浏览器根据DOCTYPE是否存在以及使用哪种DTD来选择要使用的呈现方法。
关于各种选择器我的另一篇笔记里有较详细的介绍
层叠
层叠的重要性排序
标有!important的用户样式
标有!important的作者样式
作者样式
用户样式
浏览器或者用户代理应用的样式
所以一般情况下作者样式是比用户样式有限的,但是如果标有!important的话这情况就不一样了。
注意:按出现顺序对应用到给定元素的所有声明排序。一个声明在样式表或文档中越后出现,它的权重就越大。如果样式表中有导入的样式表,一般认为出现在导入样式表中的声明在前,主样式表中的所有声明在后。
特殊性
特殊性详见我的另一篇笔记
这里有一个小技巧
我们对一般的元素应用一般的样式,特殊的元素再覆盖掉其即可,比如
p{color: black;}
p.danger{color: red;}
但是因为元素可以从很多地方获得样式。所以我们应该让一般性样式非常一般,特殊性样式非常特殊。比如某一个元素若是多次被覆盖,导致非常混乱的结果。那么我们其实可以删除这个元素,只在其需要的地方显式地应用它就好了。
导入外部样式表有两种方法。即链接和导入。 This is some text. This is some text. This is some text. This is some text. This is some text. This is some text. This is also some text. This is also some text. This is also some text. This is also some text. This is also some text. This is also some text.
链接:
导入: