CSS——网易云音乐首页导航栏的制作

文章目录


前言

       本文主要介绍了网易云导航栏的制作过程,这个案例中将会运用到CSS中的浮动、绝对定位等相关知识点(这些在以往的文章里有所介绍)


一、结构的布局

示例图

布局分析——

  1. 首先,黑色导航栏的宽度应该是100%的,这样以防止在网页缩放时元素的位置会发生错位的现象。
  2. 其次,导航栏的内部内容可以用一个大的结构包裹,给一个固定宽度的同时,使其在外部容器(黑色导航栏)中可以居中。
  3. 再者就是内容方面的布局,(logo是采用了雪碧图的形式进行设置),将内容进行左右浮动以便确定具体位置,例如右侧搜索音乐区域,就可以利用右浮动固定其位置。

二、实现过程

1.HTML结构

代码如下(示例):

<header>
        <!-- 头部导航条 -->
        <nav class="header-nav">
            <!-- 导航条内容器-->
            <div class="nav-outer">
                <!-- logo区域 -->
                <div id="logo"><a href="#"></a></div>
                <!-- 导航条详细信息 -->
                <ul class="user-list">
                    <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 class="hot"></li>
                </ul>
                <!-- 右侧搜索框以及用户登录区域 -->
                <ul class="right-list">
                    <li class="search-wrap">
                        <input type="search" placeholder="音乐/视频/电台/用户" οnfοcus="this.placeholder=''"
                            οnblur="this.placeholder='音乐/视频/电台/用户'">
                    </li>
                    <li>
                        <a href="#" id="maker">创作者中心</a>
                    </li>
                    <li class="login">
                        <a href="#">登录</a>
                    </li>
                </ul>
            </div>
        </nav>

        <!-- 快速导航栏 -->
        <nav class="red-nav">
            <div class="inner">
                <ul>
                    <li>
                        <a href="#">推荐</a>
                    </li>
                    <li><a href="#">排行榜</a></li>
                    <li><a href="#">歌单</a><img src="./img/white-r-icon@3x.png" alt="" class="top-icon"></li>
                    <li><a href="#">主播电台</a></li>
                    <li><a href="#">歌手</a></li>
                    <li><a href="#">新碟上歌</a></li>
                </ul>
            </div>
        </nav>
    </header>


2.CSS样式

代码如下(示例):

 <style>
        /* 导航条外部容器 */
        .header-nav {
            width: 100%;
            height: 70px;
            background-color: #242424;
        }

        .nav-outer {
            width: 1100px;
            height: 70px;
            line-height: 70px;
            margin: 0 auto;
        }

        /* logo区域 */
        #logo {
            float: left;
        }

        #logo>a {
            display: block;
            width: 157px;
            height: 69px;
            text-align: center;
            background-image: url(./img/topbar.png);
            background-position: 0px 0px;
            padding-right: 20px;
            color: #fff;
        }

        /* 导航条中部区域 */
        .user-list li {
            float: left;
        }

        .user-list li>a {
            display: inline-block;
            padding: 0 19px;
            color: #ccc;
            font: 14px Arial, Helvetica, sans-serif;
        }

        .user-list li:first-child,
        .user-list li:first-child>a {
            background-color: #000000;
            color: #fff;
        }

        .user-list li:hover {
            background-color: #000000;
        }

        .hot {
            margin-top: 22px;
            margin-left: -12px;
            width: 28px;
            height: 19px;
            background-image: url(./img/topbar.png);
            background-position: -190px 0;
        }

        /* 右侧搜索框区域 */
        .right-list {
            float: right;
        }

        .right-list li {
            float: left;
        }

        .search-wrap {
            width: 158px;
            height: 32px;
            line-height: 32px;
            background-image: url(./img/topbar.png);
            background-position: 0 -99px;
            background-color: #fff;
            border-radius: 32px;
            margin-top: 19px;
        }

        input {
            position: relative;
            width: 128px;
            height: 16px;
            outline: none;
            margin-left: 27px;
            top: -2px;
            border: none;
        }

        input::-webkit-input-placeholder {
            color: #9b9b9b;
            font: 12px Arial, Helvetica, sans-serif;
        }

        input:focus::-webkit-input-placeholder {
            content: ''
        }

        #maker {
            display: block;
            width: 90px;
            height: 32px;
            font-size: 12px;
            font: 12px Arial, Helvetica, sans-serif;
            margin: 19px 0 0 12px;
            box-sizing: border-box;
            padding-left: 16px;
            padding-top: 6px;
            border: 1px solid #4F4F4F;
            background-position: 0 -140px;
            color: #ccc;
            border-radius: 20px
        }

        #maker:hover {
            border-color: #ffffff;
            color: #ffffff;
        }

        .login {
            position: relative;
            top: -22px;
            width: 50px;
            height: 70px;
            margin: 19px 0 0 20px;
            padding: 0 22px 0 0;
        }

        .login>a {
            color: #787878;
            font: 12px Arial, Helvetica, sans-serif;
        }

        .login:hover a {
            text-decoration: underline;
            color: #999999;
        }

        /* 红色导航栏区域 */
        .red-nav {
            width: 100%;
            height: 35px;
            background-color: #c20c0c;
        }

        .inner {
            width: 920px;
            height: 34px;
            margin: 0 auto;
            padding-left: 180px;
        }

        .inner li {
            float: left;
            height: 34px;
        }

        .inner li>a {
            display: block;
            height: 16px;
            line-height: 17px;
            font: 12px Arial, Helvetica, sans-serif;
            color: #ffffff;
            margin: 5px 17px 0px;
            padding: 3px 13px 3px 13px;
        }

        .inner li:first-of-type a {
            background-color: #9b0909;
            border-radius: 20px;
        }

        .inner li:hover a {
            background-color: #9b0909;
            border-radius: 20px;
        }

        .top-icon {
            width: 8px;
            height: 8px;
            position: relative;
            left: 54px;
            top: -23px;
        }

        /* 轮播图区域样式 */
        .outer {
            position: relative;
            width: 100%;
            height: 285px;
        }

        .swiper-inner {
            position: relative;
            width: 984px;
            height: 285px;
            margin: 0 auto;
        }

        .swiper {
            width: 100%;
            height: 285px;
            overflow: hidden;
        }

        .swiper-wrapper>div>img {
            width: 730px;
            height: 285px;
        }

        .download-app {
            position: absolute;
            top: 0;
            left: 730px;
            width: 254px;
            height: 285px;
            background-image: url(./img/download.png);
            z-index: 20;
        }

        .download-app p {
            margin-top: 255px;
            color: #8d8d8d;
            text-align: center;
            font: 12px Arial, Helvetica, sans-serif;
        }
    </style>

总结

       以上就是今日的分享,希望可以帮助到你吧,另外,祝福看到这篇文章的人今天会有一个好心情(祝好运哦~)

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值