美文网首页
CSS 超链接状态及美化

CSS 超链接状态及美化

作者: 会爬虫的小蟒蛇 | 来源:发表于2023-01-10 22:34 被阅读0次

超链接的四种状态

a标签有4种伪类(即对应四种状态),要求背诵。如下:

  • :link “链接”:超链接点击之前
  • :visited “访问过的”:链接被访问过之后
  • :hover “悬停”:鼠标放到标签上的时候
  • :active “激活”: 鼠标点击标签,但是不松手时。

对应的代码如下:

<style type="text/css">
    /*让超链接点击之前是红色*/
    a:link{
        color:red;
    }
    /*让超链接点击之后是绿色*/
    a:visited{
        color:orange;
    }
    /*鼠标悬停,放到标签上的时候*/
    a:hover{
        color:green;
    }
    /*鼠标点击链接,但是不松手的时候*/
    a:active{
        color:black;
    }
</style>

记住,在css中,这四种状态必须按照固定的顺序写

a:link 、a:visited 、a:hover 、a:active
如果不按照顺序,那么将失效。“爱恨准则”:love hate。必须先爱,后恨。

看一下这四种状态的动图效果:

超链接的美化

问:既然a{}定义了超链的属性,和a:link{}定义了超链点击之前的属性,那这两个有啥区别呢?

答:

a{}a:link{}的区别:

  • a{}定义的样式针对所有的超链接(包括锚点)
  • a:link{}定义的样式针对所有写了href属性的超链接(不包括锚点)

超链接a标签在使用的时候,比较难。因为不仅仅要控制a这个盒子,也要控制它的伪类。

我们一定要将a标签写在前面,将:link、:visited、:hover、:active这些伪类写在后面。

针对超链接,我们来举个例子:

为了实现上面这个效果,完整版代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>Document</title>
    <style type="text/css">
        *{
            margin: 0;
            padding: 0;
        }
        .nav{
            width: 960px;
            height: 50px;
            border: 1px solid red;
            margin: 100px auto;
        }
        .nav ul{
            /*去掉小圆点*/
            list-style: none;
        }
        .nav ul li{
            float: left;
            width: 120px;
            height: 50px;
            /*让内容水平居中*/
            text-align: center;
            /*让行高等于nav的高度,就可以保证内容垂直居中*/
            line-height: 50px;
        }
        .nav ul li a{
            display: block;
            width: 120px;
            height: 50px;
        }
        /*两个伪类的属性,可以用逗号隔开*/
        .nav ul li a:link , .nav ul li a:visited{
            text-decoration: none;
            background-color: purple;
            color:white;
        }
        .nav ul li a:hover{
            background-color: orange;
        }
    </style>
</head>
<body>
    <div class="nav">
        <ul>
            <li><a href="#">网站栏目</a></li>
            <li><a href="#">网站栏目</a></li>
            <li><a href="#">网站栏目</a></li>
            <li><a href="#">网站栏目</a></li>
            <li><a href="#">网站栏目</a></li>
            <li><a href="#">网站栏目</a></li>
            <li><a href="#">网站栏目</a></li>
            <li><a href="#">网站栏目</a></li>
        </ul>
    </div>
</body>
</html>

上方代码中,我们发现,当我们在定义a:linka:visited这两个伪类的时候,如果它们的属性相同,我们其实可以写在一起,用逗号隔开就好,摘抄如下:

        .nav ul li a{
            display: block;
            width: 120px;
            height: 50px;
        }
        /*两个伪类的属性,可以用逗号隔开*/
        .nav ul li a:link , .nav ul li a:visited{
            text-decoration: none;
            background-color: purple;
            color:white;
        }
        .nav ul li a:hover{
            background-color: orange;
        }

如上方代码所示,最标准的写法,就是把link、visited、hover这三个伪类都要写。但是前端开发工程师在大量的实践中,发现不写link、visited也挺兼容。写法是:

a:link、a:visited都是可以省略的,简写在a标签里面。也就是说,a标签涵盖了link、visited的状态(前提是都具有了相同的属性)。写法如下:

        .nav ul li a{
            display: block;
            width: 120px;
            height: 50px;
            text-decoration: none;
            background-color: purple;
            color:white;
        }
        .nav ul li a:hover{
            background-color: orange;
        }

当然了,在写a:linka:visited这两个伪类的时候,要么同时写,要么同时不写。如果只写a属性和a:link属性,不规范。

相关文章

  • CSS3

    前言-内容 CSS是什么 CSS怎么用(快速入门) CSS选择器(重点+难点) 美化网页(文字,阴影,超链接,列表...

  • 常用的css初始化

    /*css定义超链接四个状态也有顺序的。*/ a:link, a:visited { text-decoratio...

  • 工作常用Chrome插件

    1、JavaScript &CSS 美化插件JavaScript and CSS Code Beautifie

  • Bootstrap 美化试卷

    今天我们来使用 Bootstrap 来美化试卷美化后的效果跟使用 CSS 美化后的效果一样。 标题居中 在 CSS...

  • css笔记

    CSS初识 CSS(Cascading Style Sheets) 美化样式 CSS通常称为CSS样式表或层...

  • 2018-08-25

    CSS初识 CSS(Cascading Style Sheets) 美化样式 CSS通常称为CSS样式表或层...

  • Day08--CSS

    CSS:页面美化和布局控制

  • 10.超链接样式-CSS基础

    一、超链接伪类 1.何为超链接伪类 在CSS中,使用超链接伪类来定义超链接在鼠标点击的不同时期的样式。 (1)语法...

  • Css

    CSS:页面美化和布局控制 案例:

  • 原生JS表单美化

    1.表单美化—单选框 html结构 css样式 js代码 2.表单美化—复选框 html结构 css样式 js代码...

网友评论

      本文标题:CSS 超链接状态及美化

      本文链接:https://www.haomeiwen.com/subject/acneqdtx.html