CSS样式的主要特点及其类型

html-css012

CSS样式的主要特点及其类型,第1张

CSS(Cascading Stylesheets,层叠样式表)是一种制作网页的新技术,现在已经为大多数的浏览器所支持,成为网页设计必不可少的工具之一。

层叠样式表的特点

且不说过去的网页缺少动感,就是在网页内容的排版布局上也有很多困难,如果不是专业人员或特别有耐心的人,很难让网页按自己的构思和创意来显示信息。即便是掌握了HTML语言精髓的人也要通过多次地测试,才能驾驭好这些信息的排版,过程十分漫长和痛苦。为了Internet的发展,让更多人早日踏足这个多姿多彩的世界,新的HTML辅助工具呼之欲出。

样式表就是在这种需求下诞生的,它首先要做的是为网页上的元素精确地定位,可以让网页设计者象导演一样,轻易地控制由文字、图片组成的演员们,在网页这个舞台上按剧本要求好好地表演。

其次,它把网页上的内容结构和格式控制相分离。浏览者想要看的是网页上的内容结构,而为了让浏览者更好地看到这些信息,就要通过格式控制来帮忙了。以前两者在网页上的分布是交错结合的,查看修改很不方便,而现在把两者分开就会大大方便网页的设计者。内容结构和格式控制相分离,使得网页可以光由内容构成,而将所有网页的格式控制指向某个CSS样式表文件。这样一来的好出表现在两个方面:

第一,简化了网页的格式代码,外部的样式表还会被浏览器保存在缓存里,加快了下载显示的速度,也减少了需要上传的代码数量(因为重复设置的格式将被只保存一次)。

第二,只要修改保存着网站格式的CSS样式表文件就可以改变整个站点的风格特色,在修改页面数量庞大的站点时,显得格外有用。避免了一个一个网页的修改,大大减少了重复劳动的工作量,当你面对的是有数百个网页的站点时,CSS简直象是神对我们的恩赐!^_^

添加层叠样式表的方法

我们为网页添加样式表的方法有四种。

1.最简单的方法是直接添加在HTML的标识符(tag)里:

<Tag style=”properties”>网页内容</tag>

举个例子:

<p style=”color: bluefont-size: 10pt”>CSS实例</p>

代码说明:

用蓝色显示字体大小为10pt的“CSS实例”。尽管使用简单、显示直观,但是这种方法不怎么常用,因为这样添加无法完全发挥样式表的优势“内容结构和格式控制分别保存”。

2.添加在HTML的头信息标识符<head>里:

<head>

<style type=”text/css”>

<!-- 样式表的具体内容 -->

</style>

</head>

type=”text/css”表示样式表采用MIME类型,帮助不支持CSS的浏览器过滤掉CSS代码,避免在浏览器面前直接以源代码的方式显示我们设置的样式表。但为了保证上述情况一定不要发生,还是有必要在样式表里加上注释标识符“<!--注释内容-->”。

3、链接样式表

同样是添加在HTML的头信息标识符<head>里:

<head>

<link rel=”stylesheet” href=”*.css” type=”text/css” media=”screen”>

</head>

*.css是单独保存的样式表文件,其中不能包含<style>标识符,并且只能以css为后缀。

Media是可选的属性,表示使用样式表的网页将用什么媒体输出。取值范围:

·Screen(默认):输出到电脑屏幕

·Print:输出到打印机

·TV:输出到电视机

·Projection:输出到投影仪

·Aural:输出到扬声器

·Braille:输出到凸字触觉感知设备

·Tty:输出到电传打字机

·All:输出到以上所有设备

如果要输出到多种媒体,可以用逗号分隔取值表。

Rel属性表示样式表将以何种方式与HTML文档结合。取值范围:

·Stylesheet:指定一个外部的样式表

·Alternate stylesheet:指定使用一个交互样式表

4、联合使用样式表

同样是添加在HTML的头信息标识符<head>里:

<head>

<style type=”text/css”>

<!--

@import “*.css”

其他样式表的声明

-->

</style>

</head>

以@import开头的联合样式表输入方法和链接样式表的方法很相似,但联合样式表输入方式更有优势。因为联合法可以在链接外部样式表的同时,针对该网页的具体情况,做出别的网页不需要的样式规则。

需要注意的是:

·联合法输入样式表必须以@import开头。

·如果同时输入多个样式表有冲突的时候,将按照第一个输入的样式表对网页排版。

·如果输入的样式表和网页里的样式规则冲突时,使用外部的样式表。

打开这个页面,选择IE菜单栏上的“文件”==〉“另存为”==〉保存类型:网页全部html

保存后会在这个文件的目录内生成一个6_files文件夹,所有图片都在里面,直接点击即可查看。

右击6.htm文件选择打开方式可以查看编辑里面的代码。

利用下划线实现

巧用CSS定义下划线样式

CSS为网页设计者们提供了丰富而灵活的页面元素表现形式的控制手段。但是,或许你可能注意到了,对于下划线,CSS提供的可选操作却不是很多。一般情况下,人们看到的下划线基本上都是横直线,缺少生气和灵动。不过,路并不是死的,通过一些绝妙的改造,我们还是可以做出富有创意的下划线来使页面更为美观。

这是一个自定义下划线的例子:自定义的下划线 。是不是很酷呢?除了能

让你的网页呈现出一个与众不同的风格之外,它还能对于文档中不同的文字类型给与不同的视觉外观,起到提醒或者着重的作用。

下面我们就来一起学习如何自定义与众不同的下划线。

首先,我们得先准备一幅作为下划线的图片。你可以利用先成的,也可以自己动手绘制。需要提醒注意的是,你所准备的图片应该适合水平方向上的重复,最好还能使透明的GIF格式,这样能够确保背景不被遮挡。

另外,如果你所准备的下划线图片在高度(粗细)上占用比较多的像素,那么,应当增加该行文本和下行文本之间的行距(line-height)空间,可以这么设定:

 p { line-height: 1.5 }

接下来要做的事情是取消原来默认的下划线,这样我们才能把自定义的下划线应用到指定文本,使用如下的CSS设定(它的含义是让超链接文字没有任何修饰):

a { text-decoration: none }

好了,现在可以来创建自定义的下划线了,这里,我们用准备的图片设定为超链接元素的背景图片,如下:

a { background-image: url(underline.gif) }

当然,文字的长度未必和原图的长度相等,这就需要考虑图片重复的问题,也就是说,应当把重复限定在水平方向的X轴上,可以如下设定:

a { background-repeat: repeat-x }

还有个必须考虑的问题,就是字的大小改变怎么办?要让下划线的图片始终显示在超链接文字的下方,而不必理会文字大小的话,我们应当使用CSS中的背景位置(background-position)属性来定位图片位于超链接元素色底部。而对于如箭头这样的下划线图片,还得考虑超链接的文本边缘和图片边对齐。 下面的这个例子将下划线背景图片的位置限定在右下角:

a { background-position: 100% 100% }

如何控制自定义的下划线图片和文字之间的空白呢?这个可以通过增加填充(padding)来做到。下划线图片相对于超链接文本基线(baseline)的确切位置以来与所用的字的大小。建议你一开始将底部填充(bottom-padding)的大小设定同下划线图片的高度相等,然后再慢慢调整到合适位置(下面这个CSS设定超链接的底部填充为4像素):

 a { padding-bottom: 4px }

因为下划线的图片被定位在超链接元素的底部,所以需要确保所用的超链接文本没有跨行,否则,只有处在最下面的超链接文本会出现自定义的下划线了。怎么解决呢,那就是阻止超链接文本跨行产生,可以通过CSS的white-space属性来完成:

 a { white-space: nowrap }

好了,把上面提到的这些超链接标记的CSS设定合并起来,结果如下:

a {

text-decoration: none

background: url(underline.gif) repeat-x 100% 100%

padding-bottom: 4px

white-space: nowrap

}

还记得有些超链接文本没有下划线,但是当鼠标移到它的上面的时候,下划线就浮现出来的情况么?自定义的下划线也可以做到这个效果,那就在:hover上设定超链接背景,而不是在超链接标记a上设定,如下:

a {text-decoration: nonepadding-bottom: 4pxwhite-space: nowrap}

a:hover {background: url(underline.gif) repeat-x 100% 100%}

怎么样,是不是很简单呢?在来看看一些例子和它们对应的CSS设定:

静态下划线

 a#example3a {

text-decoration: none

background: url(’/pic/20069/200696144110234.gif’) repeat-x 100% 100%

white-space: nowrap

padding-bottom: 2px

}

浮动效果下划线

a#example3b {text-decoration: nonewhite-space: nowrappadding-bottom: 2px}

a#example3b:hover {background: url(’/pic/20069/200696144110234.gif’) repeat-x 100% 100%}

静态下划线

a#example4a {

text-decoration: none

background: url(’/pic/20069/200696144112132.gif’) repeat-x 100% 100%

white-space: nowrap

padding-bottom: 10px

}

浮动花朵效果下划线

a#example4b {text-decoration: nonewhite-space: nowrappadding-bottom: 10px}

a#example4b:hover {background: url(’/pic/20069/200696144112132.gif’) repeat-x 100% 100%}

静态箭头下划线

a#example1a {

text-decoration: none

background: url(’/pic/20069/200696144112997.gif’) repeat-x 100% 100%

white-space: nowrap

padding-bottom: 5px

}

浮动动画箭头下划线 (这里箭头会出现滚动,不过这一滚动图片的效果只在部分浏览器中看得到)

a#example2b {text-decoration: nonewhite-space: nowrappadding-bottom: 5px}

a#example2b:hover {background: url(’/pic/20069/200696144113188.gif’) repeat-x 100% 100%}

实现链接的虚线下划线效果

a {color:#3399FFfont-weight:Normaltext-decoration:none}

a:hover {color:#4499EEtext-decoration:noneborder-bottom: 1px #0099CC dotted}

a{}控制连接的效果 a:hover{}控制鼠标移上去的效果。