每条规则都包含一个选择器(例如:BODY,P等)和写在花括号里的声明,这些声明通常是由几组用分号分隔的属性和值组成。
有6种合法的选择器类别,即:HTML标记、具有上下文关系的HTML标记、用户定义的类、用户定义的ID、虚类、虚元素。
1.HTML标记
例如:H1{text-align:centerfont-family:楷体-gb2312},H1,H2,H3{color:#ff0000}
2.具有上下文关系的HTML标记
例如:H1 B{color:red},这表示只有位于标记元素内的 标记符说明的内容显示为红色,其它标记符所说明的元素不具有该属性。这种上下文关系可以多层嵌套。
3.用户定义的类要想将一个类包括到样式定义中,可将一个句点和一个类名添加到选择器后,即:选择器.类名{属性:值;……}
可以使用任何名称命名类,例如:若想在网页使用 ,并使每处文本具有不同的颜色,则可进行如下定义:H2.colo-red{color:red}H2.color-blue{color:blue}
然后在网页中需要使用CLASS属性的地方引用这些类,例如:第一章 HTML,第二章 CSS技术〈/H2〉如果使用了 标记符,但未使用CLASS属性,则不会应用所定义的样式。
特别地,还可以定义应用于所有标记符的类,此时,直接用句点后跟类名即可,例如:.red{color:red}然后在所有需要引用该类的标记符中使用CLASS属性。
4.用户定义的ID所谓ID,就是相当于HTML文档中的样式的“身份证”,以保证其在一个HTML文档中具有唯一可用的值。这给使用JAVAScript等脚本编写语言的 应用带来了方便。要将一个ID包括在样式定义中,需要“#”号作为ID名称的前缀,格式如下:#ID名字{属性:值}
定义了ID样式后,则可通过在标记符内使用ID属性来引用该样式。例如:有定义#red{color:red},则可在若干不同标记符中使用。
5.虚类和虚元素虚类也称伪类(Peeudo-class),它可以区别开不同种类的元素。虚元素(Pseudo-element)指元素的一部分,如段落的第一个字母和首行效果(first-letter和first-line)。
虚类和虚元素只可以用在CSS的选择器中,而不能出现在HTML的源代码中,即不能用CLASS或ID来调用。它们只能在特定条件下被浏览器所识别。
伪类中最常见的就是锚伪类。锚伪类可以指定标记符以不同方式显示链接,即访问过的(visited)、未访问过的(link)、激活的(active)和鼠标指向的(hover)几种链接状态。例如可以使用下列方式更改超链接的显示方式:A:link {text-decoration:nonecolor:#800000},A:visited {text-decoration:nonecolor:#800000},A:active {text-decortion:none},A:hover {text-decoration:underlinecolor:blue}
CSS中可以和不可以继承的属性:
一、无继承性的属性
1、display:规定元素应该生成的框的类型
2、文本属性:
vertical-align:垂直文本对齐
text-decoration:规定添加到文本的装饰
text-shadow:文本阴影效果
white-space:空白符的处理
unicode-bidi:设置文本的方向
3、盒子模型的属性:width、height、margin 、margin-top、margin-right、margin-bottom、margin-left、border、border-style、border-top-style、border-right-style、border-bottom-style、border-left-style、border-width、border-top-width、border-right-right、border-bottom-width、border-left-width、border-color、border-top-color、border-right-color、border-bottom-color、border-left-color、border-top、border-right、border-bottom、border-left、padding、padding-top、padding-right、padding-bottom、padding-left
4、背景属性:background、background-color、background-image、background-repeat、background-position、background-attachment
5、定位属性:float、clear、position、top、right、bottom、left、min-width、min-height、max-width、max-height、overflow、clip、z-index
6、生成内容属性:content、counter-reset、counter-increment
7、轮廓样式属性:outline-style、outline-width、outline-color、outline
8、页面样式属性:size、page-break-before、page-break-after
9、声音样式属性:pause-before、pause-after、pause、cue-before、cue-after、cue、play-during
二、有继承性的属性
1、字体系列属性
font:组合字体
font-family:规定元素的字体系列
font-weight:设置字体的粗细
font-size:设置字体的尺寸
font-style:定义字体的风格
font-variant:设置小型大写字母的字体显示文本,这意味着所有的小写字母均会被转换为大写,但是所有使用小型大写字体的字母与其余文本相比,其字体尺寸更小。
font-stretch:对当前的 font-family 进行伸缩变形。所有主流浏览器都不支持。
font-size-adjust:为某个元素规定一个 aspect 值,这样就可以保持首选字体的 x-height。
2、文本系列属性
text-indent:文本缩进
text-align:文本水平对齐
line-height:行高
word-spacing:增加或减少单词间的空白(即字间隔)
letter-spacing:增加或减少字符间的空白(字符间距)
text-transform:控制文本大小写
direction:规定文本的书写方向
color:文本颜色
3、元素可见性:visibility
4、表格布局属性:caption-side、border-collapse、border-spacing、empty-cells、table-layout
5、列表布局属性:list-style-type、list-style-image、list-style-position、list-style
6、生成内容属性:quotes
7、光标属性:cursor
8、页面样式属性:page、page-break-inside、windows、orphans
9、声音样式属性:speak、speak-punctuation、speak-numeral、speak-header、speech-rate、volume、voice-family、pitch、pitch-range、stress、richness、、azimuth、elevation
三、所有元素可以继承的属性
1、元素可见性:visibility
2、光标属性:cursor
四、内联元素可以继承的属性
1、字体系列属性
2、除text-indent、text-align之外的文本系列属性
五、块级元素可以继承的属性
1、text-indent、text-align