《CSS权威指南》里提醒我们需要注意的小知识点(一)

1.元素分类

分法一:

替换元素:替代元素内容的部分并非由文档内容直接表示 例如imginput

非替换元素:内容由用户代理(浏览器)在元素本身生成的框中显示 

分法二:

块级元素:生成一个元素框,默认会填充父元素的内容区,旁边不能有其他元素

列表项是其中一个特例,会带有标记符,关联到元素框

行内元素:在一个文本行内生成文本框,不会打断这行文本

 

2.

head标签内可以使用link链接外部样式表

<link rel=”stylesheet” type=”text/css” href=”....” media=”all”>

rel代表关系 (alternate stylesheet可以提供一个候选样式表 并在title属性中指定该样式的名字 但不推荐使用title 使用不当会出现无法辨认或忽略首选样式表的问题)

type描述了使用link标记加载的数据的类型

href值是样式表的URL

media说明样式表要应用的媒体

<style type=”text/css”>嵌套样式表</style> 一定要有type=”text/css”

style标签中有一个与link类似的@import指令:@import url(sheet.css)

每个@import指令的样式表都会加载并使用 无法使用候选样式表 可以在@import之后列出要应用此样式的媒体 最后

 

3.

CSS注释用/* */ html注释用<!-- -->

CSS是不允许用嵌套注释的

 

4.

CSS的核心特性就是向文档中的一组元素类型应用某些规则

规则的结构是选择器+声明块(由一个或多个声明组成,每个声明是一个属性-值对)

声明的统一格式是属性后面跟一个冒号,然后是一个值,然后一个分号,冒号和分号后面可以跟0个或多个空格。值要么是一个关键字,要么是该属性可取关键字的一个列表(多关键字)多关键字用空格分看

 

5.

(选择器分组)如何为多个元素应用同一样式:例如h2,p {...} 将两个选择器用逗号分开,告诉浏览器,规则中包含两个选择器

通配选择器 *等价于列出文档所有元素的一个分组选择器

(声明分组)声明块中各个声明用分号隔开

 

6.

1)类选择器

通用类选择器:直接用.warning{...}相当于选择所有类名为warning的元素,等价于*.warning{...}

元素特定类选择器:span.warning{...}指定calsswarningspan元素

多类选择器:一个class可以包含一个词列表 每个词用空格分开

例如源代码中class=”urgent warning” CSS中写为.urgent.warning{...}

 (2)ID选择器

 (3)属性选择器

1.简单属性选择器:用于要选择有某个属性的元素,不论属性的值  a[title]{...}

2.根据具体属性值选择:a[title=”mm gg”]{...}

3.根据部分属性值选择:a[title~=”mm”]

4.子串匹配属性选择器

[title^=”mm”] title属性的属性值以”mm”开头的所有元素

[title$=”mm”] title属性的属性值以”mm”结尾的所有元素

[title*=”mm”] title属性的属性值包含”mm”的所有元素

5.特定属性选择器:[title|=“mm”]选择title属性值等于mm或以mm开头的元素

 

后代选择器(包含选择器)

创建一些仅在某些结构中起作用的规则,例如:h1 em{...}

 

子选择器 只匹配树中直接相连的元素

例如:

 

只能有p>a{..}或者a>strong{..} 不能有p>strong

 

相邻兄弟选择器 要求按源顺序出现 例如:h1+p{...}选择紧邻在h1元素后出现的所有段落,h1p要有共同的父元素 如果没有ph1挨着的就不能用p+h1{...}

 

7.伪类选择器

链接伪类(只用于超链接标签):

:link 指向一个有href属性的未访问的链接的所有锚(a标签)

:visited 指向访问过的链接

动态伪类

:focus 指示当前拥有输入焦点的元素

:hover 指示鼠标停留的元素

:active 指示被用户输入激活的元素

 

选择第一个子元素

例如:em.first-child{...}含义是选择作为某元素第一个子元素的所有em

 

8.伪元素选择器

设置首字母样式: p:first-letter{...}

设置第一行样式: p:first-line{...}

设置之前之后元素的样式 p:before{...}   p:after{...}

 

9.选择器的特殊性

 

用户代理会确定哪些规则与一个元素匹配,计算所有相关声明及其特殊性,确定哪些规则胜出,将胜出的规则应用到元素

如果某个声明非常重要 可以在这个声明的分号之前加 !important

通配选择器的特殊性是0000

样式的继承机制:继承是没有特殊性的 比通配还低

posted on 2016-11-16 16:07  Veitch  阅读(112)  评论(0编辑  收藏  举报