等,但这些标记不能满足更多的文档样式需求,为了解决这个问题,在1997年W3C(TheWorldWideWebConsortium)颁布HTML4标准的同时也公布了有关样式表的第一个标准CSS1,自CSS1的版本之后,又在1998年5月发布了CSS2版本,样式表得到了更多的充实。W3C把DHTML(DynamicHTML)分为三个部分来实现:
脚本语言(包括JavaScript、Vbscript等)、支持动态效果的浏览器(包括InternetExplorer、NetscapeNavigator等)和CSS样式表。
注意:
CSS需要IE4(InternetExplorer4.0)和NC4(Netscape4.0)以上的浏览器支持,有些效果需要更高版本的浏览器支持。
三.怎样使用CSS
如果你使用的是DreamweaverMX2004以上的版本,在定义文字字体、颜色、大小等属性的时候,查看一下代码你会发现有这样的一部分在head区域:
--
.STYLE2{
font-size:
16pt;
font-family:
"CourierNew",Courier,monospace;
font-weight:
bold;
color:
#FF3300;
}
-->
那么恭喜你,你已经使用了CSS设计网页。
那么除了这种调用CSS的方法外,还有别的吗?
回答是“当然有了”,下面是系统介绍
标记加注法(in-line):
如果只有一个HTML标记需要设定样式,则可在该标记内,加上属性
style=""
以个别修订样式。
页面内嵌法:
--body{background:
white;color:
black;}-->
外部调用法:
双表法调用样式表:
@importurl(css/style01.css);
CSS入门:
语法基础
1.基本语法
CSS的定义是由三个部分构成:
选择符(selector),属性(properties)和属性的取值(value)。
基本格式如下:
selector{property:
value}
(选择符{属性:
值})
选择符是可以是多种形式,一般是你要定义样式的HTML标记,例如BODY、P、TABLE……,你可以通过此方法定义它的属性和值,属性和值要用冒号隔开:
body{color:
black}
选择符body是指页面主体部分,color是控制文字颜色的属性,black是颜色的值,此例的效果是使页面中的文字为黑色。
如果属性的值是多个单词组成,必须在值上加引号,比如字体的名称经常是几个单词的组合:
p{font-family:
"sansserif"}
(定义段落字体为sansserif)
如果需要对一个选择符指定多个属性时,我们使用分号将所有的属性和值分开:
p{text-align:
center;color:
red}
(段落居中排列;并且段落中的文字为红色)
为了使你定义的样式表方便阅读,你可以采用分行的书写格式:
p
{
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参数:
这个段落向右对齐的
这个段落是居中排列的
注意:
类的名称可以是任意英文单词或以英文开头与数字的组合,一般以其功能和效果简要命名。
类选择符还有一种用法,在选择符中省略HTML标记名,这样可以把几个不同的元素定义成相同的样式:
.center{text-align:
center}
(定义.center的类选择符为文字居中排列)
这样的类可以被应用到任何元素上。
下面我们使h1元素(标题1)和p元素(段落)都归为“center”类,这使两个元素的样式都跟随“.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;
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无定义,例如:
tablea
{
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}
我们同时对页面中的一个段落加上这三种样式,它最后会依照被!
important申明的HTML标记选择符样式为红色文字。
如果去掉!
important,则依照优先权最高的ID选择符为黄色文字。
7.注释
你可以在CSS中插入注释来说明你代码的意思,注释有利于你或别人以后编辑和更改代码时理解代码的含义。
在浏览器中,注释是不显示的。
CSS注释以"/*"开头,以"*/"结尾,如下:
/*定义段落样式表*/
p
{
text-align:
center;/*文本居中排列*/
color:
black;/*文字为黑色*/
font-family:
arial/*字体为arial*/
}
CSS入门:
如何在网页中插入CSS
前面我们了解了CSS的语法,但要想在浏览器中显示出效果,就要让浏览器识别并调用。
当浏览器读取样式表时,要依照文本格式来读,这里介绍四种在页面中插入样式表的方法:
[u]链入外部样式表[/u]、[u]内部样式表[/u]、[u]导入外表样式表[/u]和[u]内嵌样式[/u]。
1.链入外部样式表
链入外部样式表是把样式表保存为一个样式表文件,然后在页面中用标记链接到这个样式表文件,这个标记必须放到页面的
区内,如下:……
……
上面这个例子表示浏览器从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.内部样式表
内部样式表是把样式表放到页面的
区里,这些定义的样式就应用到页面中了,样式表是用……
注意:
有些低版本的浏览器不能识别style标记,这意味着低版本的浏览器会忽略style标记里的内容,并把style标记里的内容以文本直接显示到页面上。
为了避免这样的情况发生,我们用加HTML注释的方式(
--注释-->)隐藏内容而不让它显示:
……
--
hr{color:
sienna}
p{margin-left:
20px}
body{background-image:
url("images/back40.gif")}
-->
……
3.导入外部样式表
导入外部样式表是指在内部样式表的
……
例中@import“mystyle.css”表示导入mystyle.css样式表,注意使用时外部样式表的路径。
方法和链入样式表的方法很相似,但导入外部样式表输入方式更有优势。
实质上它相当于存在内部样式表中的。
注意:
导入外部样式表必须在样式表的开始部分,在其他内部样式表上面。
4.内嵌样式
内嵌样式是混合在HTML标记里使用的,用这种方法,可以很简单的对某个元素单独定义样式。
内嵌样式的使用是直接将在HTML标记里加入style参数。
而style参数的内容就是CSS的属性和值,如下例:
sienna;margin-left:
20px;">
这是一个段落
--这个段落颜色为土黄,左边距为20象素-->
在style参数后面的引号里的内容相当于在样式表大括号里的内容。
注意:
style参数可以应用于任意BODY内的元素(包括BODY本身),除了BASEFONT、PARAM和SCRIPT。
5.多重样式表的叠加
上一章里我们已经提到样式表的层叠顺序,这里我们讨论插入样式表的这几种方法的叠加,如果在同一个选择器上使用几个不同的样式表时,这个属性值将会叠加几个样式表,遇到冲突的地方会以最后定义的为准。
例如,我们首先链入一个外部样式表,其中定义了h3选择符的color、text-alig和font-size属性:
h3
{
color:
red;
text-align:
left;
font-size:
8pt;
}
/*标题3的文字颜色为红色;向左对齐;文字尺寸为8号字*/
然后在内部样式表里也定义了h3选择符的text-align和font-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]之间是最后定义的优先级高。
CSS入门:
css选择符
一.选择符模式
模式/含义/内容描述
*
匹配任意元素。
(通用选择器)
E
匹配任意元素E(例如一个类型为E的元素)。
(类型选择器)
EF
匹配元素E的任意后代元素F。
(后代选择器)
E>F
匹配元素E的任意子元素F。
(子选择器)
E:
first-child
当元素E是它的父元素中的第一个子元素时,匹配元素E。
(:
first-child伪类)
E:
linkE:
visited
如果E是一个目标还没有访问过(:
link)或者已经访问过(:
visited)的超链接的源锚点时匹配元素E。
(link伪类)
E:
activeE:
hoverE:
focus
在确定的用户动作中匹配E。
(动态伪类)
E:
lang(c)
如果类型为E的元素使用了(人类)语言c(文档语言确定语言是如何被确定的),则匹配该元素。
(:
lang()伪类)
E+F
如果一个元素E直接在元素F之前,则匹配元素F。
(临近选择器)
E[foo]
匹配具有”foo”属性集(不考虑它的值)的任意元素E。
(属性选择器)
E[foo="warning"]
匹配其“foo”属性值严格等于“warning”的任意元素E。
(属性选择器)
E[foo~="warning"]
匹配其“foo”属性值为空格分隔的值列表,并且其中一个严格等于“warning”的任意元素E。
(属性选择器)
E[lang|="en"]
匹配其“lang”属性具有以“en”开头(从左边)的值的列表的任意元素E。
(属性选择器)
DIV.warning
仅HTML。
用法同DIV[class~="warning"]。
(类选择器)
E#myid
匹配ID等于“myid”的任意元素E。
(ID选择器)
引用:
--------------------------------------------------------------------------------
From:
http:
//www.w3.org/TR/CSS2/selector.html
--------------------------------------------------------------------------------
我们用下面的例子来解释“[s]父元素[/s]”、“[s]子元素[/s]”、“[s]父/子[/s]”及“[s]相邻[/s]”这几个概念。
这是是h1的内容
这是一个段落p的内容!
这里是strong的内容这是一个段落p的内容!
从以上代码中,我们可以找出这样的关系:
[list]
[*]h1和p同为div的“儿子”,两者分别同div形成“父/子”关系。
[*]h1,p,strong都是div的“子元素”。
(三者都包含在div之内)
[*]div是h1和p的“父元素”。
[*]strong和p形成“父/子”关系,strong的“父元素”是p。
[*]但strong和div并非“父/子”关系,而是“祖孙”关系,但strong依然是div的“子(孙)元素”。
[*]div是h1pstrong三者的“祖先”,三者是div的“子(孙)元素”。
[*]h1和p两者是相邻的。
[/list]
继承上面的实例来具体演示一下EF的关系:
假如,我们需要将strong内的内容二字变为绿色,我们可以有哪些方法呢?
divstrong{color:
green;}/*-正确。
strong是div的“子元素”*/
p>strong{color:
green;}/*-正确。
strong和p是“父/子”关系*/
div>strong{color:
green;}/*-错误!
strong虽然是div的“子(孙)元素”,但两者乃是“祖孙”关系,而非“父/子”关系,因此不能用>符号连接*/
临近选择器和通用选择器:
通用选择器以星号“*”表示,可以用于替代任何tag。
实例:
h2+*{color:
green}/*所有紧随h2的元素内的文字都将呈现红色*/
二.选择符分类介绍
1.通配选择符
语法:
*{sRules}
说明:
通配选择符。
选定文档目录树(DOM)中的所有类型的单一对象。
假如通配选择符不是单一选择符中的唯一组成,“*”可以省略。
示例:
*[lang=fr]{font-size:
14px;width:
120px;}
*.div{text-decoration:
none;}
2.类型选择符
语法:
E{sRules}
说明:
类型选择符。
以文档语言对象(Element)类型作为选择符。
示例:
td{font-size:
14px;width:
120px;}
a{text-decoration:
none;}
3.属性选择符
语法:
E[attr]{sRules}
E[attr=value]{sRules}
E[attr~=value]{sRules
展开阅读全文
相关搜索