首页 > 教程 > 网页教程 > CSS教程 >

CSS控制用户浏览网页的光标

时间:2007-10-07 10:40  来源:网络  作者:佚名

CSS允许你控制网页外观和布局的各个方面――包括字体、页边空白和光标。不错,从CSS 2.1开始,你就可以方便地控制用户浏览网页时使用的光标。

标准的CSS光标呈箭头状,一般来说,它都能满足一个网页或网站的需求,但有些时候你可能需要使用其它的光标。在这些情况下,CSS标准提供了众多选项。

CSS光标类型

下表概括说明了CSS标准中的一些光标类型。

默认光标:使用标准的箭头。
手状光标:光标呈手形,食指伸出。
指针状光标:与手状光标相同。
十字线光标:使用十字光标(一个加号)。
移动光标:使用十字光标,每条线末端是一个箭头。这和Windows中移动窗口时使用的光标相同。
文本光标:使用I形光标(大写字母I)。
等待光标:光标呈沙漏状。
帮助光标:使用问号光标。
e-resize:标准将这个光标定义为一个指向东方的箭头,但在多数浏览器中,显示的光标为一条两端带箭头的水平线。
w-resize:标准将这个光标定义为一个指向西方的箭头,但在多数浏览器中,显示的光标为一条两端带箭头的水平线。
ne-resize:标准将这个光标定义为一个指向东北方的箭头,但在多数浏览器中,显示的光标为一条两端带箭头的对角线。
nw-resize:标准将这个光标定义为一个指向西北方的箭头,但在多数浏览器中,显示的光标为一条两端带箭头的对角线。
se-resize:标准将这个光标定义为一个指向东南方的箭头,但在多数浏览器中,显示的光标为一条两端带箭头的对角线。
s-resize:标准将这个光标定义为一个指向南方或下方的箭头,但在多数浏览器中,显示的光标为一条两端带箭头的垂直线。
sw-resize:标准将这个光标定义为一个指向西南方的箭头,但在多数浏览器中,显示的光标为一条两端带箭头的对角线。
n-resize:标准将这个光标定义为一个指向北方或上方的箭头,但在多数浏览器中,显示的光标为一条两端带箭头的垂直线。
进展光标:光标呈沙漏状。
禁止光标:光标是一个里面带对角线的圆。
不可拖动光标:光标呈手形,右边带禁止光标。
垂直文本光标:光标呈水平I形。
三角方向光标:光标为四个箭头,中间使用一个圆点。
颜色调整光标:两条平行垂直线上画一条水平箭头,就像微软Excel中调整列大小的光标。
行调整光标:两条平等水平线上画一条垂直箭头,就像微软Excel中调整行大小的光标。
url(uri):这种光标允许你使用作为rui提交的外部文件中定义的定制光标。

我们可以使用上表中的值,以及一个元素的光标属性。下面的一行代码说明如何使用一个HTML元素的style属性。

style="cursor: hand;"

和其它CSS属性一样,你可以为整个页面或页面中的单个元素定义一个光标。列表A中的HTML实例对各种页面元素使用一个不同的光标。

<html>
<head>
<title>Using the CSS cursor property</title>
</head>
<body style="cursor: all-scroll;">
<h1 style="cursor: hand;">Title of the page</h1>
<h2 style="cursor: crosshair;">Subtitle</h2>
<p style="cursor: move;">Some text goes here.</p>
<a href="http://www.news.com/" mce_href="http://www.news.com/" style="cursor: wait;">Read the news</a>
<br><br>
<a href="http://www.techrepublic.com/" mce_href="http://www.techrepublic.com/" style="cursor: help;">TR</a>
</body>
</html>

这例子通过body元素的style属性给整个文档添加一个光标,但页面中的单个元素也有它们自己指定的光标,因此当用户浏览页面时,光标由页面光标(来自body元素)转变为单个元素的光标。列表B中的例子说明如何根据类或元素类型确定光标的式样。

<html>
<head>
<title>Using the CSS cursor property</title>
<style type="text/css">
body {cursor: all-scroll;}
p
a
.headers
</style>
</head>
<body>
<h1 class="headers">Title of the page</h1>
<h2 class="headers">Subtitle</h2>
<p>Some text goes here.</p>
<a href="http://www.news.com/" mce_href="http://www.news.com/">Read the news</a>
<br><br>
<a href="http://www.techrepublic.com/" mce_href="http://www.techrepublic.com/">TR</a>
</body>
</html>

不要过度使用CSS光标

虽然前面的例子只是为了说明光标的用法,但它也表明在一个页面中使用各种光标可能会令人迷惑。用户希望网站按预计的方式运行,因此很少使用预备光标。

当用户接近一个帮助按钮或链接时使用帮助值,是使用光标类型而非默认光标的典型例子。尽管你可以使用标准值,但你也可以使用一个定制光标。

通过CSS应用光标的一个重要因素是默认指针总是有效。浏览器支持始于Netscape 4和IE 6,但你还是应该进行彻底的测试。如果你利用一个用户的浏览器并不支持的光标值,这点就显得十分重要。在这种情况下,页面将显示默认光标,使得用户体验不会受到影响。

通过JavaScript应用CSS光标属性

通过JavaScript,使用以下语法,可以方便的访问和应用一个元素的光标属性:

element.style.cursor="cursor_value";

你可以在页面中使用这个语法和其它JavaScript中的各种有效事件。列表C中的例子对页面中的最后一个链接使用onFocus事件,并对页面的body部分使用onSelectStart事件(当用户用鼠标在选中页面上的某个内容时)。当事件如JavaScript定义的那样运行时,即会显示某些光标。

<html>
<head>
<title>Using the CSS cursor property</title>
<style type="text/css">
body {cursor: all-scroll;}
p
.headers
</style>
</head>
<body onSelectStart="this.style.cursor='not-allowed'; return false;">
<h1 class="headers">Title of the page</h1>
<h2 class="headers">Subtitle</h2>
<p>Some text goes here.</p>
<a href="http://www.news.com/" mce_href="http://www.news.com/">Read the news</a>
<br><br>
<a href="http://www.techrepublic.com/" mce_href="http://www.techrepublic.com/" onFocus="this.style.cursor='text'; return
false;">TR</a>
</body>
</html>

更多选项

CSS为Web应用程序开发提供众多选项。开发者可以通过CSS、标准HTML、JavaScript或组合这些标准控制页面元素。如CSS标准定义的那样,控制光标只是一个易于控制的选项,但你也不能过度使用它。

Tony Patton拥有丰富的Java、VB、Lotus及XML认证方面知识,是一个专业的应用程序开发人员。

猜你感兴趣

最新文章