导航栏练习

导航栏练习

  现在我们要做一个导航栏,其最终效果如下

我们要求导航栏的布局居中显示,并且其内的文字也要居中对齐。并且当鼠标放在网站导航上,其背景图片发生变换。

  首先第一步便是显示着六个链接,如下

<div class="nav">
    <a href="#">网站导航</a>
    <a href="#">网站导航</a>
    <a href="#">网站导航</a>
    <a href="#">网站导航</a>
    <a href="#">网站导航</a>
    <a href="#">网站导航</a>
</div>

效果如下:

  第二步,取消下划线,并且设置字体颜色为白色,并且添加背景图片,由于链接标签a是行内标签,其大小不可以改变,为了使添加的背景图片吻合,还需要改变其显示模式为display: inline-block,然后设置其宽高属性为图片宽高的大小。如下:

.nav a {
    text-decoration: none; /*取消下划线*/
    color: #FFF; /*设置字体颜色为白色*/
    display: inline-block;
    width: 120px;
    height: 50px;
    background-image: url(bg.png);
}

在这里,为了只影响导航栏的链接标签,这里我们用了后代选择器。

效果如下:

  这个时候我们发现导航栏没有居中对齐,并且里面的文字没有居中对齐

.nav {
    text-align: center;
}

我们设置.nav类里的文字居中对齐,但是div里面的是链接,text-align属性还有用吗?答案是可以,链接在块类标签里面可以当做是文字处理,这是一个知识点,记住了。

效果如下:

我们发现导航栏居中对齐了

  现在我们需要将链接里面的文字水平居中对齐和垂直居中对齐,在.nav a加入如下

text-align: center;
line-height: 50px;  /*当行高等于标签设置的高度时,会使文字垂直居中对齐*/

效果如下

现在最后一步就是将鼠标放上去,背景图片改变,我们使用伪类hover,如下

.nav a:hover {
    background-image: url("bgc.png");
}

这里为了只对导航栏的链接生效,这里也用了后代选择器,效果如下:

  到这里我们已经完整的实现了导航栏的案例,下面贴出完整的代码。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>导航栏案例</title>
    <style>
        .nav a {
            text-decoration: none; /*取消下划线*/
            color: #FFF; /*设置字体颜色为白色*/
            display: inline-block;
            width: 120px;
            height: 50px;
            background-image: url(bg.png);
            text-align: center;
            line-height: 50px;
        }

        .nav a:hover {
            background-image: url("bgc.png");
        }

        .nav {
            text-align: center;
        }

    </style>
</head>
<body>
    <div class="nav">
        <a href="#">网站导航</a>
        <a href="#">网站导航</a>
        <a href="#">网站导航</a>
        <a href="#">网站导航</a>
        <a href="#">网站导航</a>
        <a href="#">网站导航</a>
    </div>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值