对css的一点了解



1. 基本语法 

CSS的定义是由三个部分构成:选择符(selector),属性(properties)和属性的取值(value)。基本格式如下: 
selector {property: value} 
(选择符 {属性:值}) 
选择符是可以是多种形式,一般是你要定义样式的HTML标记,例如BODY、P、TABLE……,你可以通过此方法定义它的属性和值,属性和值要用冒号隔开: 
body {color: black} 
选择符body是指页面主体部分,color是控制文字颜色的属性,black是颜色的值,此例的效果是使页面中的文字为黑色。 


如果属性的值是多个单词组成,必须在值上加引号,比如字体的名称经常是几个单词的组合: p {font-family: "sans serif"} 
(定义段落字体为sans serif) 

如果需要对一个选择符指定多个属性时,我们使用分号将所有的属性和值分开: 
p {text-align: center; color: red}
(段落居中排列;并且段落中的文字为红色) 


为了使你定义的样式表方便阅读,你可以采用分行的书写格式: 


text-align: center; 
color: black; 
font-family: arial 

(段落排列居中,段落中文字为黑色,字体是arial) 


2. 选择符组 
你可以把相同属性和值的选择符组合起来书写,用逗号将选择符分开,这样可以减少样式重复定义: 
h1, h2, h3, h4, h5, h6 { color: green } 
(这个组里包括所有的标题元素,每个标题元素的文字都为绿色) 

如:
p, table{ font-size: 9pt } 
(段落和表格里的文字尺寸为9号字) 
效果完全等效于: 
p { font-size: 9pt } 
table { font-size: 9pt } 


3. 类选择符 
用类选择符你能够把相同的元素分类定义不同的样式,定义类选择符时,在自定类的名称前面加一个点号。假如你想要两个不同的段落,一个段落向右对齐,一个段落居中,你可以先定义两个类: 
p.right {text-align: right} 
p.center {text-align: center} 
然后用不在不同的段落里,只要在HTML标记里加入你定义的class参数: 
<p class="right"> 这个段落向右对齐的 
</p> 
<p class="center"> 
这个段落是居中排列的 
</p> 


注意:类的名称可以是任意英文单词或以英文开头与数字的组合,一般以其功能和效果简要命名。 
类选择符还有一种用法,在选择符中省略HTML标记名,这样可以把几个不同的元素定义成相同的样式: 

.center {text-align: center} 
(定义.center的类选择符为文字居中排列) 
这样的类可以被应用到任何元素上。下面我们使h1元素(标题1)和p元素(段落)都归为“center”类,这使两个元素的样式都跟随“.center”这个类选择符: 
<h1 class="center"> 
这个标题是居中排列的 
</h1> 
<p class="center"> 
这个段落也是居中排列的 
</p> 
注意:这种省略HTML标记的类选择符是我们经后最常用的CSS方法,使用这种方法,我们可以很方便的在任意元素上套用预先定义好的类样式。 

4. ID选择符 

HTML页面中ID参数指定了某个单一元素,ID选择符是用来对这个单一元素定义单独的样式。 
ID选择符的应用和类选择符类似,只要把CLASS换成ID即可。将上例中类用ID替代: 

<p id="intro"> 
这个段落向右对齐 
</p> 
定义ID选择符要在ID名称前加上一个“#”号。和类选择符相同,定义ID选择符的属性也有两种方法。下面这个例子,ID属性将匹配所有id="intro"的元素: 
#intro 

font-size:110%; 
font-weight:bold; 
color:#0000ff; 
background-color:transparent 


(字体尺寸为默认尺寸的110%;粗体;蓝色;背景颜色透明) 
下面这个例子,ID属性只匹配id="intro"的段落元素: 
p#intro 

font-size:110%; 
font-weight:bold; 
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} 
…… 
<div> 
<p> 
这个段落的文字为红色9号字 
</p> 
</div> 
(P元素里的内容会继承DIV定义的属性) 
注意:有些情况下内部选择符不继承周围选择符的值,但理论上这些都是特殊的。例如,上边界属性值是不会继承的,直觉上,一个段落不会同文档BODY一样的上边界值。 

另外,当样式表继承遇到冲突时,总是以最后定义的样式为准。如果上例中定义了P的颜色: 

div { color: red; font-size:9pt} 
p {color: blue} 
…… 
<div> 
<p> 
这个段落的文字为蓝色9号字 
</p> 
</div> 
我们可以看到段落里的文字大小为9号字是继承div属性的,而color属性则依照最后定义的。 

不同的选择符定义相同的元素时,要考虑到不同的选择符之间的优先级。ID选择符,类选择符和HTML标记选择符,因为ID选择符是最后加上元素上的,所以优先级最高,其次是类选择符。如果想超越这三者之间的关系,可以用!important提升样式表的优先权,例如:
p { color: #FF0000!important } 
.blue { color: #0000FF} 
#id1 { color: #FFFF00} 
我们同时对页面中的一个段落加上这三种样式,它最后会依照被!important申明的HTML标记选择符样式为红色文字。如果去掉!important,则依照优先权最高的ID选择符为黄色文字。
7. 注释 
你可以在CSS中插入注释来说明你代码的意思,注释有利于你或别人以后编辑和更改代码时理解代码的含义。在浏览器中,注释是不显示的。CSS注释以"/*" 开头,以"*/" 结尾,如下: 
/* 定义段落样式表 */ 


text-align: center; /* 文本居中排列 */ 
color: black; /* 文字为黑色 */ 
font-family: arial /* 字体为arial */ 

 

2调用样式
前面我们了解了CSS的语法,但要想在浏览器中显示出效果,就要让浏览器识别并调用。当浏览器读取样式表时,要依照文本格式来读,这里介绍四种在 页面中插入样式表的方法:[u]链入外部样式表[/u][u]内部样式表[/u][u]导入外表样式表[/u][u]内嵌样式[/u]。 

1. 链入外部样式表 

链入外部样式表是把样式表保存为一个样式表文件,然后在页面中用<link>标记链接到这个样式表文件,这个<link>标记必须放到页面的<head>区内,如下: 
<head> 
…… 
<link href="mystyle.css" rel="stylesheet" type="text/css" media="all"> 
…… 
</head> 
上面这个例子表示浏览器从mystyle.css文件中以文档格式读出定义的样式表。rel=”stylesheet”是指在页面中使用这个外部 的样式表。type=”text/css”是指文件的类型是样式表文本。href=”mystyle.css”是文件所在的位置。media是选择媒体类 型,这些媒体包括:屏幕,纸张,语音合成设备,盲文阅读设备等。 

一个外部样式表文件可以应用于多个页面。当你改变这个样式表文件时,所有页面的样式都随之而改变。在制作大量相同样式页面的网站时,非常有用,不仅减少了重复的工作量,而且有利于以后的修改、编辑,浏览时也减少了重复下载代码。 
样式表文件可以用任何文本编辑器(例如:记事本)打开并编辑,一般样式表文件扩展名为.css。内容是定义的样式表,不包含HTML标记,mystyle.css这个文件的内容如下: 
hr {color: sienna} 
p {margin-left: 20px} 
body {background-image: url("images/back40.gif")} 
/*定义水平线的颜色为土黄;段落左边的空白边距为20象素;页面的背景图片为images目录下的back40.gif文件*/ 

2. 内部样式表 

内部样式表是把样式表放到页面的<head>区里,这些定义的样式就应用到页面中了,样式表是用<style>标记插入的,从下例中可以看出<style>标记的用法: 
<head> 
…… 
<style type="text/css"> 
hr {color: sienna} 
p {margin-left: 20px} 
body {background-image: url("images/back40.gif")} 
</style> 
…… 
</head> 

注意:有些低版本的浏览器不能识别style标记,这意味着低版本的浏览器会忽略style标记里的内容,并把style标记里的内容以文本直接 显示到页面上。为了避免这样的情况发生,我们用加HTML注释的方式(<!-- 注释 -->)隐藏内容而不让它显示: 
<head> 
…… 
<style type="text/css"> 
<!-- 
hr {color: sienna} 
p {margin-left: 20px} 
body {background-image: url("images/back40.gif")} 
--> 
</style> 
…… 
</head> 

3. 导入外部样式表 

导入外部样式表是指在内部样式表的<style>里导入一个外部样式表,导入时用@import,看下面这个实例: 

<head> 
…… 
<style type=”text/css”> 
<!-- 
@import “mystyle.css” 
其他样式表的声明 
--> 
</style> 
…… 
</head> 

例中@import “mystyle.css”表示导入mystyle.css样式表,注意使用时外部样式表的路径。方法和链入样式表的方法很相似,但导入外部样式表输入方式更有优势。实质上它相当于存在内部样式表中的。 
注意:导入外部样式表必须在样式表的开始部分,在其他内部样式表上面。 

4. 内嵌样式 

内嵌样式是混合在HTML标记里使用的,用这种方法,可以很简单的对某个元素单独定义样式。内嵌样式的使用是直接将在HTML标记里加入style参数。而style参数的内容就是CSS的属性和值,如下例: 

<p style="color: sienna;margin-left: 20px;"> 
这是一个段落 
</p> 
<!--这个段落颜色为土黄,左边距为20象素--> 

style参数后面的引号里的内容相当于在样式表大括号里的内容。 
注意:style参数可以应用于任意BODY内的元素(包括BODY本身),除了BASEFONTPARAMSCRIPT。 

5. 多重样式表的叠加 

上一章里我们已经提到样式表的层叠顺序,这里我们讨论插入样式表的这几种方法的叠加,如果在同一个选择器上使用几个不同的样式表时,这个属性值将 会叠加几个样式表,遇到冲突的地方会以最后定义的为准。例如,我们首先链入一个外部样式表,其中定义了h3选择符的color text-aligfont-size属性: 
h3 

color: red; 
text-align: left; 
font-size: 8pt; 

/*标题3的文字颜色为红色;向左对齐;文字尺寸为8号字*/ 

然后在内部样式表里也定义了h3选择符的text-alignfont-size属性: 
h3 

text-align: right; 
font-size: 20pt; 

/*标题3文字向右对齐;尺寸为20号字*/ 

那么这个页面叠加后的样式就是: 
color: red; 
text-align: right; 
font-size: 20pt; 
/*文字颜色为红色;向右对齐;尺寸为20号字*/ 

字体颜色从外部样式表里保留下来,而对齐方式和字体尺寸都有定义时,按照后定义的优先而依照内部样式表。 
注意:依照后定义的优先,所以优先级最高的是[s]内嵌样式[/s][s]内部样式表[/s]高于[s]导入外部样式表[/s][s]链入的外部样式表[/s][s]内部样式表[/s]之间是最后定义的优先级高。 

 

posted @ 2013-06-08 01:43  马走日  阅读(217)  评论(0编辑  收藏  举报