CSS教程(八)

---《网猴》版权所有

在样式表最后一天的课程中,我们将学习样式表最精彩的部分:定位和叠放。

我们都知道,在网页上利用HTML定位文字和图象是一件“令人心痛”的事情。我们必须使用表格标签和隐式GIF图象,即使这样也不能保证定位的精确,因为浏览器和操作平台的不同会使显示的结果发生变化。

CSS能使你看到希望的曙光。利用今天我们即将学到的CSS属性,你可以精确地设定要素的位置,还能将定位的要素叠放在彼此之上,还有...还有......你自己慢慢看吧!

以下是今天将学习的各种属性:

注意:由于CSS定位开发得比其它CSS属性晚,所以IE3不支持CSS定位属性。定位属性只能用于4.0版的浏览器。

下面我们回答第4天留下的小问题。

定位(左边和顶部)

定位属性将是网虫们打开幸福之门的钥匙:

这项CSS规则让浏览器将 <H4>的起始位置精确地定在距离浏览器左边100象素,距离其顶部43象素的位置。

注意这里唯一设置了的是左边和顶部,也就说,文字将从左到右,从上到下载入浏览窗口。

左边和顶部属性很直观,左边(left)设定要素距浏览器窗口左边的距离,顶部(top)设定距离浏览器窗口顶部的距离。

设定这些距离时,你可以使用所学过的各种度单位或比例值。使用比例值时,比例值的是相对于母体要素的尺寸。

你可以定位什么呢?任何东西!段落、单词、GIFJPEG图象、QUICKTIME电影等等。

绝对定位使你能精确地定位要素在页面的独立位置,而不考虑页面其它要素的定位设置。相对定位指你所定位的要素的位置相对于在文件中所分配的位置。例:

相对定位的关键在于定位了的要素的位置是相对于它通常应在的位置进行定位。如果你停止使用相对定位,则文字的显示位置将恢复正常。

使用相对定位时要小心,否则容易将页面弄得非常乱。

除了相对定位和绝对定位,你还可以使用static(静止)参数值。它的使用方法同普通HTML中的定位方法,不能附加特殊的定位设置。

还不错吧?下面我们将学习如何控制定位了的要素。

除了控制定位要素的左上角位置,你还可以控制要素的宽度和高度,及要素在页面的可视性。

宽度

定位了的要素在页面上显示时仍然会从左到右一直显示。利用宽度属性就可以设定字符向右流动的限制,即设定要素的宽度。

浏览器接到这项规则时,它将文字按照规则规定的效果显示,还将段落的最大水平尺寸限制在150象素。

宽度属性只适用于绝对定位的要素。你可以使用我们学过的任何一种长度单位,或使用比例值设定宽度,比例值指相对于母体要素的比例。

IE 4中,这项属性还可用于图象。你可以通过宽度设置人为地拉宽或压缩图象。

高度

理论上讲,高度应该和宽度的设置类似,只不过是在垂直方向上:

这里我用了“理论上讲”,因为常用的几种浏览器都不支持高度属性。(你最多只能在IE 4中用高度设置拉长图象。)

可视性

利用CSS,你可以隐藏要素,使其在页面上看不见。这条属性对于定位了的和未定位的要素都适用。

我很想给你看一个例子,但是,因为要将它设为看不见,那我这个例子让你看什么呢?

选项:

当一个要素被隐藏后,它仍然要占据浏览器窗口中的原有空间。所以,如果你将文字包围在一幅被隐藏的图象周围,那么,其显示效果将是文字包围着一块空白区域。

这条属性在编写语言和使用动态HTML时很有用,比如你可以使某段落或图象只在鼠标滑过时才显示。

Communicator不支持可视性属性。只有IE 4的用户可以享受其美妙之处!

下面我将要谈到我一直吹嘘的在页面上重叠要素的方法。它不是通过设定边距负值或采用更小的行高来实现,而是通过......

z-index

当你定位多个要素并将其重叠时,你可以使用z-index来设定哪一个要素应出现在最上层。

观察这条CSS规则的执行效果(我将<H2>的文字设为绿色,以便你观察其不同之处):

Stylesheets

Mania

由于<H2>文字的z-index参数值更高,所以它显示在 <H1>文字的上面。(IE 4MAC机上执行这一项时会出问题,它会将<H1>放在最上面。

该参数值使用纯整数。 z-index用于绝对定位或相对定位了的要素。

你也可以给图象设定 z-index。(对于Communicator,最好将 <IMG>标签包在<SPAN><DIV>标签内,然后将z-index应用到 <SPAN><DIV>。)

好的网页设计同低版本的兼容性都很好。

你为4.0版浏览器设计的网页如果在3.0版的浏览器上是一团糟,则你的设计是失败的。

利用样式表时,你更应该考虑到兼容性的问题,因为许多用户使用的浏览器都不支持CSS属性。

当然你可以为不同的浏览器设计出不同的网页。但是我们想尽可能地避免这些麻烦,以减少空间占用和网页维护工作。

让我们看看如何使利用样式表设计的网页能被其它低版本浏览器兼容。

方法 #1: 在类似的HTML标签上应用样式表

如果你想利用字重属性控制文字的加重显示程度,为什么不使用<B>标签加入这种效果呢?这样以来,在所有的浏览器中都可以显示出文字的加重显示效果。

尽量使用和CSS说明相应的HTML标签,以便在老的浏览器中也能达到4.0版浏览器相同的显示效果。

方法 #2: 用HTML标签重复加入样式

如果你想确保使段落显示蓝色,那么你应该同时使用样式表属性和HTML标签设定段落的颜色。 color: blue同时设定 <FONT COLOR="blue">。如果你想使某要素居中,则同时使用text-align: center
<CENTER>

方法 #3: 隐藏不想要的要素

如果你使用了大的装饰性的文字符号,而这个文字符号在老的浏览器中显得很怪很傻,你可以使用 <FONT COLOR="xyz"> 使它的要素同背景色相同,从而使得它在老的浏览器中被“隐藏”起来。而在新的浏
览器中,CSS属性仍将它用红色(或其它任何颜色)显示,用户在新浏览器中仍然可以看到它的效果。

使你的网页同老式浏览器兼容并不只是在设计末尾时花几分钟加入几行命令,你必须在整个设计过程中都时刻考虑到兼容性的问题,并作出相应的设计。

而最重要的是:测试、测试、再测试。

World Wide Web组织自规定了样式表标准之后并未止步不前。甚至在主要的几种浏览器尚未完全支持CSS功能时,CSS2已经在酝酿之中。CSS2的标准已经制定。而接下来的问题只是:5.0版本的浏览器是否会支持CSS2

以下简要介绍CSS的新增功能:

CSS1的调整

CSS属性中又加了几项,比如icon将意味着文字内容的尺寸应符合计算机正在使用的icon文字的尺寸。定义选择器(selector)和情景选择器(contextual selector)的方法也将更加灵活。

新增的“绝技”

新的文字阴影属性将会受到大家的欢迎。

想使鼠标滑过某一链接时鼠标显示的手形有所改变吗?你可以使用光标属性设定鼠标显示的不同形状。

记得我们怎样用 A:active来设定用户点击链接文字时的属性吗?:hover将使我们能够实现当鼠标移到文字上面时就改变文字显示。很酷吧!

这些只是未来CSS的几种小把戏。

控制表格

我们设计网页布局时总是要用到表格,学习完本课程之后,我们还可以用CSS来设计网页布局。如果利用CSS能更好地控制表格,那该有多好。是的,它能够做到。

此外,你还能够控制文件打印时的分页,你还可以制定某些打印指令。

你还有可能实现通过声控系统进入你的网页。诸如voice-familyspeech-rate等属性将设定如何将你的网页内容用声音自动朗读出来。

熟能生巧。所以我们需要加强实践。

祝贺你学完了本次课程!

今天我们学习了定位和叠放,总结如下:

希望本次课程对你有所帮助。还有很多CSS的功能我们还没有涉及。还有一些小的浏览器问题我们也没有一一列出。所以你自己还必须继续深入学习。

互联网上的CSS资源

感谢你学完了本课程。你现在已经掌握了样式表的威力。你可以利用CSS在互联网尽情发挥自己的创意,体现你的才华!