目录
a超链接标签介绍
锚点介绍
页面内锚点
页面外锚点
伪类
a超链接标签介绍
在 HTML 中,<a>标签是一个文本级的标签,同时它还包含伪类,用于根据用户与链接的不同交互状态呈现不同的样式。与之同为文本级标签的<p>,由于其语义范围相对较大,所以可以包裹<a>标签,而<a>不能包裹<p>标签。例如:
正确示例:
<p> <a href="javascript:;">段落</a>
</p>
错误示例:
<a href="javascript:;"> <p>段落</p>
</a>
<a>标签具有多个重要属性,完整写法如:
<a href="#" title="悬停文本" target="_blank">链接的内容</a>
其属性包括:
属性 | 值 | 描述 |
href | URL | 规定链接指向的页面的 URL |
title | 文本 | 当鼠标悬停在链接上时显示的文本 |
target | _blank(在新窗口中打开链接) _parent(与_self等效) _self(默认,在同一窗口中打开链接) _top(清除所有被包含的框架,在整个浏览器窗口打开链接) 以及特定的框架名称(在指定的框架中打开链接)。 | 规定在何处打开链接文档 |
锚点介绍
锚点分为页面内锚点和页面外锚点,为网页的导航和跳转提供了极大的便利。
页面内锚点
通过使用name(或id)属性来设置锚点,示例代码如下:
<body> <a href="#anchor">链接</a> <div> <p>段落</p> <a name="anchor">链接跳转的内容</a> <p>段落</p> </div>
</body>
分析:当用户点击页面中的第一个<a>标签时,页面会快速滚动到具有name="anchor"属性的<a>标签处,实现页面内的精准跳转。
页面外锚点
可以实现从一个页面跳转到另一个页面的特定位置。示例代码如下:
比如在about.html中:
<a href="index.html#anchor">链接</a>
而在index.html中:
<body> <div> <p>段落</p> <a name="anchor">链接跳转的内容</a> <p>段落</p> </div>
</body>
分析:当用户在about.html页面点击该链接时,就会跳转到index.html页面中name值为anchor的<a>标签处。
伪类
伪类是指同一个标签根据用户的某种状态不同而有不同的样式,在 CSS 中,<a>标签的伪类必须按照固定的顺序书写,即a:link、a:visited、a:hover、a:active。
a:link:用于设置未访问过的链接的样式,通常可以设置链接的颜色、下划线等属性。
a:visited:定义了已访问过的链接的样式。
a:hover:在鼠标移动到链接上时生效,为用户提供视觉反馈。
a:active:则在用户点击链接但尚未松开鼠标时起作用,可用于强调链接的交互状态。
<a>标签中通常描述盒子的样式,而伪类中描述文字的样式和背景。需要注意的是,所有的<a>标签不继承text、font等属性,因为<a>标签自身有伪类的权重。
示例代码如下:
<head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>a标签的伪类</title> <style type="text/css"> /* a标签有4种伪类,在css中,必须按照固定的顺序写 */ a:link{ color:blue;/* 未访问的链接的颜色*/ } a:visited{ color:red;/* 已访问的链接的颜色即鼠标松开时链接的颜色*/ } a:hover{ color:orange; /* 鼠标移动到链接上时的颜色*/ } a:active{ color:green;/* 鼠标按下时链接的颜色*/ } </style>
</head>
<body> <a href="javascript:;">链接</a>
</body>
分析:如果想要创建一个没有链接地址的<a>标签,可以使用如下写法:
<a href="javascript:;"></a>
<!--或者-->
<a href="javascript:void(0);"></a>