div和span:
div用来对块级元素分组,span用来对行级元素分组。div代表division,它可以将文档分隔为几个有意义的部分,应该只在没有现有元素能实现区域分隔的情况下使用div。
微格式(microformat):
HTML中缺少相应的元素,很难突出显示人,地点,日期等类型的信息
参考: 微格式
文档类型定义DTD:
DTD是一组机器可读的规则,它们定义XML或HTML的特定版本中允许有什么不允许有什么,在解析网页时,浏览器将使用这些规则检查页面的有效性并且采取相应的措施
- DOCTYPE当前有两种风格,严格(strict)和过渡(transitional)
浏览器厂商开始创建与标准兼容的浏览器时,他们希望确保向后兼容性,他们创建了
- 标准模式
- 混杂模式(quirks mode)
- 几乎标准的模式(almost standard mode)
选择器(selector):
- 元素选择器
- 后代选择器:由两个选择器之间的空格表示
- ID选择器
- 类选择器
- 伪类选择器:
:link 和:visited称为链接伪类,只能用于锚元素
:hover :active 和 :focus称为动态伪类,理论上可以用于任何元素
- 通用选择器:*,可以用来对某个元素的所有后代应用样式,或者跳过一级后代
- 子选择器:> ,只选择元素的直接后代,即子元素
- 相邻同胞选择器:+ , 用于定位同一个父元素下某个元素之后的元素
- 属性选择器:根据某个属性是否存在或属性的值来寻找元素
层叠(cascade)和特殊性:
!important提高重要度。
作者的样式表即站点开发者最重要,用户其次,最后是浏览器或者用户代理使用的默认样式表
如果两个规则的特殊性相同,那么最后定义的优先
层叠采用以下重要度次序:
- 标有!important的用户样式
- 标有!improtant的作者样式
- 作者样式
- 用户样式
- 浏览器/用户代理应用的样式
继承:
应用样式的元素的后代会继承样式的某些属性
直接应用于元素的任何样式总会覆盖继承而来的样式,这是因为继承而来的样式特殊性为空
规划组织和维护样式表:管理代码的方法
最近的浏览器基准测试已经表明:导入样式表比链接样式表慢
多个文件会导致从服务器发送更多的数据包,这些数据包的数量(而不是内容)会影响下载时间
浏览器只能从同一个域同时下载数量有限的文件(老式浏览器2个,现代浏览器8个)
CSS使用c风格的/* */注释,建议在每个注释头中添加一个标志@注释,便于搜索
CSS文档结构
/* @group general styles一般性样式
---------------------------------------------------------------------*/
- 主体样式
- reset样式
- 链接
- 标题
- 其他元素
/* @group helper styles辅助样式
---------------------------------------------------------------------*/
- 表单
- 通知和错误
- 一致的条目
/* @group page structures 页面结构
---------------------------------------------------------------------*/
- 标题,页脚和导航
- 布局
- 其他页面结构元素
/* @group page components页面组件
---------------------------------------------------------------------*/
- 各个页面
/* @group overrides 覆盖
---------------------------------------------------------------------*/
颜色参考值表
开发前在样式表头部以注释方式添加颜色查询表,完成后删除
/* Color Variables
@colordef #434343; dark gray;
@………………………………………….
*/