现在,用FRONTPAGE制作网页简单得就象是用画笔在白纸上画图一样。但随着网站内容的不断丰富,网页上的图象、动画、字幕以及其他控件也不断增加,要实现这些元素在网页中的准确定位,就必须对这若干个元素分别调整,这一点恐怕只有那些对网页制作痴迷而执着的人才可能做到,这并不是正确的工具和灵活性就可以实现的。设想一下,打开一个文本文件,编辑几行字,就可以使整个Web站点得到改变。再设想一下,以在线的方式创建带有复杂图形、丰富字体字号等特殊效果的页面,大小只有10k。那么这样的效果如何实现呢?
1996年底的时候出现了一种叫做样式表(stylesheets)的技术。全称应该是级联样式表即Cascading Style Sheet的缩写,我们又常称这为风格样式单Style Sheet,顾名思义,是用来进行网页风格设计的。比如,我想让我的链接字未点击时是蓝色的,当鼠标移上去后字变成红色的且有下划线,这就是一种风格。通过设立样式表,我们可以统一地控制HMTL中各标志的显示属性。它将对布局、字体、颜色、背景和其它文图效果实现更加精确的控制。只通过修改一个文件我们就可以改变页数不计的网页的外观和格式,保证在所有浏览器和平台之间的兼容性,拥有更少的编码、更少的页数和更快的下载速度。除了能全面支持我们常用的大多数浏览器之外,CSS在实现其它承诺方面作得相当出色。CSS在改变我们制作样式表的方法。它为大部分的网页创新奠定了基石。
一、样式表的作用
1、可以将格式和结构分离
HTML从来没打算控制网页的格式或外观。这种语言定义了网页的结构和个要素的功能,而让浏览器自己决定应该让各要素以何种模样显示。但是网页设计者要求的更多。所以当Netscape推出新的可以控制网页外观的HTML标签时,网页设计者无不欢呼雀跃。我们可以用<FONT FACE>、<I>包在<P>外边控制文章主体的外观等等。然后我们将所有东西都放入表格,用隐式GIF空格产生一个20象素的边距。一切都变得乱七八糟。编码变得越来越臃肿不堪,要想将什么内容迅速加到网页中变得越来越难。
串接样式表通过将定义结构的部分和定义格式的部分分离使我们能够对页面的布局施加更多的控制。HTML仍可以保持简单明了的初衷。CSS代码独立出来从另一角度控制页面外观。
2、可以以前所未有的能力控制页面的布局
<FONT SIZE>能使我们调整字号,表格标签帮助我们生成边距,这都没错。但是,我们对HTML总体上的控制却很有限。我们不可能精确地生成80象素的高度,不可能控制行间距或字间距,我们不能在屏幕上精确定位图象的位置。但是现在,样式表使这一切都成为可能。而即将推出的新的CSS功能更令人兴奋。
3、可以制作出体积更小下载更快的网页
还有更好的消息:样式表只是简单的文本,就象HTML那样。它不需要图象,不需要执行程序,不需要插件,不需要流式。它就象HTML指令那样快。有了CSS之后,以前必须求助于GIF的事情现在通过CSS就可以实现。还有,正如我先前提到的,使用串接样式表可以减少表格标签及其它加大HTML体积的代码,减少图象用量从而减少文件尺寸。
4、可以更快更容易地维护及更新大量的网页
没有样式表时,如果我想更新整个站点中所有主体文本的字体,我必须一页一页地修改每张网页。即便站点用数据库提供服务,我仍然需要更新所有的模板,而且更新每一模板中每一个实例实例的<FONT FACE>。样式表的主旨就是将格式和结构分离。利于样式表,我可以将站点上所有的网页都指向单一的一个CSS文件,我只要修改CSS文件中某一行,那么整个站点都会随之发生变动。
5、浏览器将成为你更友好的界面
不象其它的的网络技术,样式表的代码有很好的兼容性,也就是说,如果用户丢失了某个插件时不会发生中断,或者使用老版本的浏览器时代码不会出现杂乱无章的情况。只要是可以识别串接样式表的浏览器就可以应用它。
二、样式表的语法
一个样式表由样式语法组成, 以告诉浏览器怎样去呈现一个文档. 有很多将样式语法加入到你的HTML文档中的方法, 但最简单的启动方法是使用HTML的STYLE组件.这个元素放置于文档的HEAD部分, 包含网页的样式规则。
1、选择符
每个规则的组成包括一个选择符--通常是一个HTML的元素, 例如BODY, P, 或EM和该选择符所接受的样式.有很多的属性可以用于定义一个元素. 每个属性带一个值, 共同地描述选择符应该如何呈现.样式规则组成如下:
选择符 { 属性: 值 }
单一选择符的复合样式声明应该用分号隔开:
选择符 { 属性1: 值1; 属性2: 值2 }
以下是一段定义了H1和H2元素的颜色和字体大小属性:
<HEAD>
<TITLE>CSS例子</TITLE>
<STYLE TYPE="text/css">
EM { font-size: 150%; color: blue }
</STYLE>
</HEAD>
上述的样式表告诉浏览器用1.5倍的蓝色字体去显示网页中强调的部分。