• 网页导航栏 html + css的代码实现


    一般来讲,我们的网页导航栏
    是这么个模式来构建
    在结构上:
    1.首先我们需要给导航栏的div 给个类名 一般为nav
    2.然后就是一个无序表格 
    3.由于导航栏的文字一般都是链接用来跳转页面 要在li里面包含一个a

    <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>
                </ul>
            </div>

    在样式上: 目前我见过的分为两种
    导航栏的文字 裸露 也就是没有滑动门的那种
    比如这种

    1.首先写网页之前就要取消 网页默认的边距,不然不管你写什么都跟别人的不一样。但是后期就不能这么写了。

    * {
            margin: 0;  // *是通配选择器  选择所有的标签
            padding: 0;
        }

    2.对于表格中的样式 也就是li中的小点点 要进行初始化
    因为不同浏览器对小点点的兼容不支持 而且 小点点也没有那么美观好看 显得很鸡肋

    ul {
            list-style: none;
        }

    3.对于链接 我们一般都取消下划线的写法 因为不够美观处理如下

    a {
            text-decoration: none;
    }

    1.2.3 三点都是写导航栏之前的初始化问题
    接下来就是让表格里面的li 排列在一行,并且使得li垂直居中,而且要控制之间的距离,我们一般用浮动来做比较好,浮动的最大的作用就是让多个div在一行显示 并且脱标 不再占有位置。

     .nav li {
            float: left;
            margin: 0 10px;
        }

    4.由于文字长度不能确定 又因为是纯文字没有必要转换为块级元素 所以不能够给a转换成块级元素 赋予宽 和 高(高根据字体大小会自动确定) 把a当作文字一样用的好处是 容易居中对齐 
    一般垂直居中对齐用的就是行高 等于高 也就是 line-height == height
    5.接下来再给li之间设置间距
    有两种写法 在这里使用起来基本没有什么效果的差距
    接着复习一下margin 和 padding的区别把 
    padding 会撑开盒子 内边距 如图

    margin会真正意义上的隔开距离 外边距  如图 

    由于写博客的人是个菜逼 分不清楚用这两个哪个好 大家就问一下大佬们把 问到的也给我说一下哈哈哈哈哈


    好了接下来是另一种导航栏的写法 有推拉门的那种
    这种写法跟我上述中讲的不太一样 因为在这里面的 a标签 需要转换成块级元素
    转换成块级元素的目的呢 就是滑动门的原理了
    滑动门的原理简单来讲 是这么个结构

    <a> 
        <span> </span>
     </a>

    通过给 标签a 一个背景图片定位到左端
    给标签span 一个背景图片定位到右端
    如图

    左端绿色部分 作为a的背景 右端绿色部分 作为 span 的背景 (左a 右s)
    这样实现起来的话 无论文字有多长都可以滑动刚好是这个样子 大概如微信官网 如图

    由于字体不一样长而背景又需要相同的样式 也就是滑动门原理
    跟上述纯文字 导航栏不同的是 不能够再利用行高=高来垂直居中这些个a了 
    我们在垂直居中的时候就可以利用padding-top 这个属性来操作(我查了微信的代码 也是这么做的)
    不再赘述 代码如下

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport"
              content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>微信,是一种生活方式</title>
        <style>
           /*标题导航栏开始*/
           * {
               margin: 0;
               padding: 0;
           }
           body {
               background: url(wx.jpg) repeat-x;
           }
           li {
               list-style: none ;
           }
           a {
               text-decoration: none;
           }
    
    
            .nav li {
                float: left;
                margin: 0 40px;
                padding-top:21px;
            }
            .nav a{
                height: 33px;
                background: url("to.png")  no-repeat  left;
                padding-left: 10px;
                color: #fff;
                display: block;
                line-height: 33px;
                font-weight: 700;
                font-size:14px;
    
            }
            .nav span {
                height: 33px;
                display: block;
                background: url("to.png") no-repeat right;
                padding-right: 10px;
            }
           .nav a:hover {
               background: url("ao.png") no-repeat left;
           }
            .nav a:hover span {
                background: url("ao.png") no-repeat right;
            }
        </style>
    </head>
    <body>
    <div class="top">
        <div class="nav">
        <ul>
            <li><a href="#"><span>首页</span></a></li>
            <li><a href="#"><span>联系电话</span></a></li>
            <li><a href="#"><span>活动中心</span></a></li>
            <li><a href="#"><span>用户指导</span></a></li>
            <li><a href="#"><span>关于我们</span></a></li>
        </ul>
        </div>
    </div>
    
    </body>
    </html>
  • 相关阅读:
    scrapy爬虫框架
    MongoDB分组查询,聚合查询,以及复杂查询
    mac重启iterm后不会自动加载.bash_profile
    Linux 之 2>&1
    linux下利用nohup后台运行jar文件包程序
    【intellij idea】汇总
    JAVA虚拟机体系结构
    JDK > JRE > JVM
    依赖注入(IOC) 详解
    mysql 忘记密码 登陆+修改密码
  • 原文地址:https://www.cnblogs.com/Lzxgg-xl/p/10240059.html
Copyright © 2020-2023  润新知