CSS(Cascading Style Sheet),中文译为层叠样式表,可以让设计者方便灵活地控制Web页面的外观表现。CSS是1996年由W3C审核通过并且推荐使用的。CSS的引入,就是为了使HTML语言更好地适应网页的美工设计。CSS详细规范说明要查阅CSS手册,或登录W3C官网( http://www.w3c.org )。
使用CSS,要了解常用的各种选择器。
1.标记选择器:
一个HTML页面由很多不同的标记组成,而CSS选择器就是声明哪些标记采用哪种CSS样式。每一种HTML标记的名称都可以作为相应的标记选择器的名称。示例:
每一个选择器都包含选择器本身、属性和值,其中属性和值可以设置多个,从而实现对同一标记名称声明多种样式。CSS语言对于所有属性和值都有相对严格的要求,如果声明的属性在CSS规范中没有,或者某个属性的值不符合该属性的要求,都不能使该CSS语句生效。 还有一种通配选择器“*”,表示其中设置的样式会应用于所有的网页元素。示例:
<html><head><title>class选择器</title>
<style type="text/css">
.red{ color: redfont-size:18px }
.green{ color: greenfont-size:20px }
</style></head>
<body>
<p class="red">class选择器1</p>
<p class="green">class选择器2</p>
<h3 class="green">h3使用class</h3>
</body>
</html>
<html><head><title>ID选择器</title>
<style type="text/css">
#bold{ font-weight: bold }
#green{ font-size:30pxcolor:#009900 }
</style></head>
<body>
<p id="bold">ID选择器1</p>
<p id="green">ID选择器2</p>
</body></html>
<html><head><title>交集选择器</title>
<style type="text/css">
p{ / 标记选择器 / color: blue }
p.special{ / 标记.类别选择器 / color: red }
.special{ / 类别选择器 / color: green }
</style></head>
<body>
<p >普通段落文本(蓝色)……</p>
<h3 >普通标题文本(黑色)……</h3>
<p class="special">指定了.special类别的段落文本(红色)……</p>
<h3 class="special">指定了.special类别的标题文本(绿色)……</h3>
</body>
</html>
<html><head><title>并集选择器</title>
<style type="text/css">
h1,h2,h3.h4.h5.p{ / 并集选择器 / color: purplefont-size:15px }
h2.special,.special,#one{ / 集体声明 / text-decoration:underline }
</style></head>
<body>
<h1 >示例文字h1……</h1>
<h2 class=”special” >示例文字h2……</h2>
<h3 >示例文字h3……</h3>
<p >示例文字p1……</p>
<p class="special">示例文字p2……</p>
<p id="one">示例文字p3……</p>
</body></html>
<html><head><title>后代选择器</title>
<style type=”text/css”>
p span{ / 嵌套声明 / color: red }
span{color:blue }
</style></head>
<body>
<p >嵌套使<span>用CSS(红色)</span>标记的方法</p>
嵌套之外的<span>标记(黑色)</span>不生效
</body></html>
:hover :visited :active :first-line :first-letter :first-child :nth-child :nth-of-type :nth-last-child
:nth-last-of-type
分拆纵向独立属性。为元素设置上、下外边距。
分拆横向独立属性。为元素设置上、下外边距。
分拆独立属性。为元素单独设置上、右、下、左4个方向的内边距。
属性值描述:
1.阴影类型:此参数可选,默认的投影方式是外阴影;如果取其唯一值“inset”,就是将外阴影变成内阴影。
2.X-offset:是指阴影水平偏移量,其值可正可负,正值,则阴影在对象的右边,负值,阴影在对象的左边
3.Y-offset:是指阴影的垂直偏移量,其值也可以是正负值,正值,阴影在对象的底部,负值时,阴影在对象的顶部。
4.阴影模糊半径:此参数是可选,只能为正值,如果其值为0时,表示阴影不具有模糊效果,值越大阴影的边缘就越模糊
5.阴影扩展半径:此参数可选,其值可为正负值,正值,则整个阴影都延展扩大,反之,则缩小
6.阴影颜色:此参数可选,不设定任何颜色时,浏览器会取默认色,但各浏览器默认色不一样,特别是在webkit内核下的safari和chrome浏览器将无色,也就是透明,建议不要省略此参数。
注:多层阴影,最内层优先级最高,之后依次降低。使用逗号“,”隔开。
3.border-image-width:定义元素边框图像的厚度。
该属性用于指定使用多厚的边框来承载被裁剪后的图像。
当该属性省略未定义时,因为默认值是 1 ,所以该属性的计算值会是 1 * border-width ,相当于会直接使用 border-width 的定义。
4.border-image-outset:定义边框图像从边框边界向外偏移的距离。
5.border-image-repeat:定义分割图像怎样填充边框图像区域。
2.background-image:定义元素使用的背景图像。
3.background-repeat:定义元素的背景图像如何填充。
4.background-attachment:定义滚动时背景图像相对于谁固定。
5.background-position:指定背景图像在元素中出现的位置。
example:假设要定义背景图像在容器中右下方,并且距离右边和底部各有20px
要注意的是:设置3个或4个值,偏移量前必须有边界关键字。也就是说,形如:10px bottom 20px,这样的参数设置是错误的,因为10px前面没有关键字。
6.background-origin:指定的背景图像计算background-position时的参考原点(位置)。
取值:
border-box:从border区域(含border)开始显示背景图像。
padding-box:从padding区域(含padding)开始显示背景图像。 (默认)
content-box:从content区域开始显示背景图像。
注意,如果设置background-origin后,设置background-position会相对于background-origin设置的位置做参考来偏移背景图,比如设置在border开始显示图片,这是设置background-position:left 10px top 10px是相对于边框进行左边偏移10px上面偏移10px,如果没设置background-origin,默认是相对于padding处进行偏移。
7.background-clip:指定对象的背景图像向外裁剪的区域。
取值:
border-box:从border区域(含border)开始向外裁剪背景。(默认)
padding-box:从padding区域(含padding)开始向外裁剪背景。
content-box:从content区域开始向外裁剪背景。
text:从前景内容的形状(比如文字)作为裁剪区域向外裁剪,如此即可实现使用背景作为填充色之类的遮罩效果。
8.background-size:定义背景图像的尺寸大小
CSS之入门篇——推荐新手关于CSS样式表
一.在学习css之前你应该掌握哪些基础知识
1.什么是网页,什么是超文本语言(html)。
2.会使用Dreamweaver等常用的网页编辑器。
Dreamweaver是现今最好的网站编辑工具之一,而Dreamweaver8增加的对CSS的支持更是你容易得来使用CSS,用它来给制作网页的CSS样式表会更简单、更方便。本教程教你如何利用Dreamweaver8在页面中加入CSS,你不用死记硬背的记代码标记,也不用去看很厚的CSS手册,你就可以轻松自如的在网页中运用CSS。不过首先你要对CSS有一定的了解。因此,本教程的前面4章为CSS理论知识,主要是对CSS的全面介绍,希望读者看后对CSS的语法、结构、应用有一个全面的了解;后面4章为DW实战,主要是教你如何利用Dreamweaver8灵活运用CSS在网页中。阅读此文前,你需要对HTML有一定的了解,并会使用Dreamweaver。
二.认识CSS
CSS就是Cascading Style Sheets,中文翻译为“层叠样式表”,简称样式表,它是一种制作网页的新技术。
网页设计最初是用HTML标记来定义页面文档及格式,例如标题<h1>、段落<p>、表格<table>、链接<a>等,但这些标记不能满足更多的文档样式需求,为了解决这个问题,在1997年W3C(The World Wide Web Consortium)颁布HTML4标准的同时也公布了有关样式表的第一个标准CSS1, 自CSS1的版本之后,又在1998年5月发布了CSS2版本,样式表得到了更多的充实。W3C把DHTML(Dynamic HTML)分为三个部分来实现:脚本语言(包括JavaScript、Vbscript等)、支持动态效果的浏览器(包括Internet Explorer、Netscape Navigator等)和CSS样式表。
注意:CSS需要IE4(Internet Explorer 4.0)和NC4(Netscape 4.0)以上的浏览器支持,有些效果需要更高版本的浏览器支持。
三.怎样使用CSS
如果你使用的是Dreamweaver MX 2004以上的版本,在定义文字字体、颜色、大小等属性的时候,查看一下代码你会发现有这样的一部分在head区域:
<style type="text/css">
<!--
.STYLE2 {
font-size: 16pt
font-family: "Courier New", Courier, monospace
font-weight: bold
color: #FF3300
}
-->
</style>
那么恭喜你,你已经使用了CSS设计网页。
那么除了这种调用CSS的方法外,还有别的吗?回答是“当然有了”,下面是系统介绍
标记加注法(in-line):
如果只有一个HTML标记需要设定样式,则可在该标记内,加上属性
style=" "
以个别修订样式。
页面内嵌法:
<style type="text/css"><!-- body { background : white color : black } --></style>
外部调用法:
<link rel="stylesheet" rev="stylesheet" href="css/style.css" type="text/css" media="all" />
<link rel="stylesheet" rev="stylesheet" href="css/style.css" type="text/css" media="all" />
双表法调用样式表:
<link rel="stylesheet" rev="stylesheet" href="css/style.css" type="text/css" media="all" />
<style type="text/css" media="all">@import url( css/style01.css )</style>
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: centercolor: 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参数:
<p class="right">这个段落向右对齐的
</p>
<p class="center">
这个段落是居中排列的
</p>
<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: redfont-size:9pt}
……
<div>
<p>
这个段落的文字为红色9号字
</p>
</div>
(P元素里的内容会继承DIV定义的属性)
注意:有些情况下内部选择符不继承周围选择符的值,但理论上这些都是特殊的。例如,上边界属性值是不会继承的,直觉上,一个段落不会同文档BODY一样的上边界值。
另外,当样式表继承遇到冲突时,总是以最后定义的样式为准。如果上例中定义了P的颜色:
div { color: redfont-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注释以"/*" 开头,以"*/" 结尾,如下:
/* 定义段落样式表 */
p
{
text-align: center/* 文本居中排列 */
color: black/* 文字为黑色 */
font-family: arial /* 字体为arial */
}
/* 定义段落样式表 */
p
{
text-align: center/* 文本居中排列 */
color: black/* 文字为黑色 */
font-family: arial /* 字体为arial */
}
前面我们了解了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">