本文目前是css权威指南(4th Edition)的读书笔记,后续可能会继续整理汇入自己的见解。
0.简介
CSS3采取模块化开发,不同模块处于不同Level,CSS工作组每年发布“snapshot”,整合规范文件。
- 置换元素:用来置换元素内容的部分不由文档内容直接提供,为其他内容占位的元素。例如input,img。
- 非置换元素:内容包含在文档中的元素。
1.css和文档
1.1外部样式表
1 | <link rel="stylesheet" type="text/css" href="url" media="" title=""> |
1.2外部样式表的属性
1.1 media
- media属性:值是一个或多个媒体属性描述符,指明媒体的类型和具体功能,以逗号隔开。
1.2 rel
- 首选样式表:显示文档只会用rel是stylesheet的link标签链接的样式表。
- 候选样式表:rel=“alternate stylesheet”,仅当用户选择使用。目前只有Gecko浏览器原生支持。
1.3 title
- 永久样式表:不为样式表设定title属性。
- 首选样式表有title则会出现异常,不同时使用。
1.4 @import
- @import url() [媒体描述符]?;
- 用在style元素内部,必须放在其他CSS规则前面;
- 一个文档可以有多个@import语句,都会使用,而且没有候选样式表。
1.5HTTP链接
- 为文档关联CSS,还有一种方式:使用http首部。
- 暂时mark*
2.行内样式
- style属性的值是一系列规则声明。
3.厂商前缀
浏览器厂商通过它标记实验性或者专属性的属性、值或者内容。
4.注释
- / * * /会被CSS解析器忽视,并不存在。
5.媒体查询
定义浏览器在何种媒体环境使用指定的样式表:
- link 元素的media属性;
- style元素的media属性;
- @import 声明的媒体描述符部分;
- @media 声明的媒体描述符部分;@media print,screen{};
- 媒体查询包括描述媒体类型的词组和对媒体参数的说明;
- 一个媒体描述符包含一个媒体类型和一个或者多个媒体特性列表,特性描述符放在()中。
- 特性描述符类似CSS中的一对属性和值,但媒体属性描述符可以不指定任何值。
- 媒体查询可以使用逻辑关键字
- and 都满足,方可用
- not 除了都满足的,其他都应用。必须放到开头使用:not()and();
- only 用于保证向后兼容,不支持媒体查询,则无效,必须放到开头。
6.特性查询
根据用户代理是否支持特定的CSS属性及值来应用一段样式,该功能称为特性查询。可以使用纯CSS实现基本的渐进增强功能。
@support(color:red),可以和媒体查询嵌套使用。
支持使用:and or not