一、CSS语法
1. 构成
CSS的定义是由三个部分构成:选择符(selector),属性(properties)和属性的取值(value)。 selector { property: value} 。
选择符是可以是多种形式,一般是你要定义样式的HTML标记,例如BODY、P、TABLE……, body { color: black} ,选择符body是指页面主体部分,color是控制文字颜色的属性,black是颜色的值,此例的效果是使页面中的文字为黑色。
如果属性的值是多个单词组成,必须在值上加引号,比如字体的名称经常是几个单词的组合:p { text-align: center; color: red}(段落居中排列;并且段落中的文字为红色)。
为了使你定义的样式表方便阅读,你可以采用分行的书写格式:
p {
text-align: center;
color: black;
"">
}
2. 选择符组
可以把相同属性和值的选择符组合起来书写,用逗号将选择符分开,这样可以减少样式重复定义: h1, h2, h3, h4, h5, h6 { color: green } p, table{ font-size: 9pt }
3.类选择符
用类选择符你能够把相同的元素分类定义不同的样式,定义类选择符时,在自定类的名称前面加一个点号。假如你想要两个不同的段落,一个段落向右对齐,一个段落居中,你可以先定义两个类:
p.right { text-align: right}
p.center { text-align: center}
注意:
类的名称可以是任意英文单词或以英文开头与数字的组合,一般以其功能和效果简要命名。
类选择符还有一种用法,在选择符中省略HTML标记名,这样可以把几个不同的元素定义成相同的样式: .center { text-align: center}。这样的类可以被应用到任何元素上。这种省略HTML标记的类选择符是我们经后最常用的CSS方法,使用这种方法,我们可以很方便的在任意元素上套用预先定义好的类样式。
4.ID选择符
在HTML页面中ID参数指定了某个单一元素,ID选择符是用来对这个单一元素定义单独的样式。ID选择符的应用和类选择符类似,只要把CLASS换成ID即可。将上例中类用ID替代:
定义ID选择符要在ID名称前加上一个“#”号。和类选择符相同,定义ID选择符的属性也有两种方法。
下面这个例子,ID属性将匹配所有id="intro"的元素:
#intro
{
font-size:110%;
font-weight:bold;
background-color:transparent
}
下面这个例子,ID属性只匹配id="intro"的段落元素:
p#intro
{
font-size:110%;
color:#0000ff;
background-color:transparent
}
注意:ID选择符局限性很大,只能单独定义某个元素的样式,一般只在特殊情况下使用。
5.包含选择符
可以单独对某种元素包含关系定义的样式表,元素1里包含元素2,这种方式只对在元素1里的元素2定义,对单独的元素1或元素2无定义,例如:
table a
{
font-size: 12px
}
在表格内的链接改变了样式,文字大小为12象素,而表格外的链接的文字仍为默认大小。
6.样式表的层叠性
层叠性就是继承性,样式表的继承规则是外部的元素样式会保留下来继承给这个元素所包含的其他元素。事实上,所有在元素中嵌套的元素都会继承外层元素指定的属性值,有时会把很多层嵌套的样式叠加在一起,除非另外更改。例如在DIV标记中嵌套P标记:
div { color: red; font-size:9pt}
……
(P元素里的内容会继承DIV定义的属性)
注意:有些情况下内部选择符不继承周围选择符的值,但理论上这些都是特殊的。例如,上边界属性值是不会继承的,直觉上,一个段落不会同文档BODY一样的上边界值。
另外,当样式表继承遇到冲突时,总是以最后定义的样式为准。如果上例中定义了
P
的颜色:
div { color: red; font-size:9pt}
p { color: blue}
……
我们可以看到段落里的文字大小为9号字是继承div属性的,而color属性则依照最后定义的。
不同的选择符定义相同的元素时,要考虑到不同的选择符之间的优先级。ID选择符,类选择符和HTML标记选择符,因为ID选择符是最后加上元素上的,所以优先级最高,其次是类选择符。如果想超越这三者之间的关系,可以用!important提升样式表的优先权,例如:
p { color: #FF0000!important }
.blue { color: #0000FF}
#id1 { color: #FFFF00}
7.注释 /* 定义段落样式表 */
二、CSS的位置
CSS按其位置可以分成三种:
内嵌样式(Inline Style)
内部样式表(Internal Style Sheet)
外部样式表(External Style Sheet)
内嵌样式(Inline Style)
Inline Style
是写在Tag
里面的。内嵌样式只对所在的Tag
有效。
<P style="font-size:20pt; color:red">这个Style定义<p>
内部样式表(Internal Style Sheet)
内部样式表是写在HTML的<head></head>里面的。内部样式表只对所在的网页有效。
<HTML>
<HEAD>
<STYLE type="text/css">
H1.mylayout {border-width:1; border:solid; text-align:center; color:red}
</STYLE>
</HEAD>
<BODY>
<H1 class="mylayout"> 这个标题使用了Style。</H1>
<H1>这个标题没有使用Style。</H1>
</BODY>
</HTML>
外部样式表(External Style Sheet)
将样式(Styles)写在一个以.css为后缀的CSS文件里,然后在每个需要用到这些样式(Styles)的网页里引用这个CSS文件。
使用外部(Extenal)样式表有以下优点:
样式代码可以复用。一个外部CSS文件,可以被很多网页共用。
便于修改。如果要修改样式,只需要修改CSS文件,而不需要修改每个网页。
提高网页显示的速度。如果样式写在网页里,会降低网页显示的速度,如果网页引用一个CSS文件,这个CSS文件多半已经在缓存区(其它网页早已经引用过它),网页显示的速度就比较快。
优先级的顺序是:
浏览器缺省(browser default)(优先级最低)
外部样式表(Extenal Style Sheet)
内部样式表(Internal Style Sheet)
内嵌样式表(Inline Style)(优先级最高)