0

0

web网页导航练习

PHPz

PHPz

发布时间:2017-04-04 11:20:02

|

1789人浏览过

|

来源于php中文网

原创

我在做导航练习时,是查看那些已经成功的网站的源代码进行练习,希望通过这些成功的代码可以学习到代码背后前端工程师们的编程思路。在查看源代码中我也学习了很多以前忽视的细节,觉得受益匪浅啊。

当我打开拉勾网的css文件时,第一部分是用注释的方式标记了文档的时间,作者以及样式表内部方便查看的某些元素的颜色及宽高。
第二部分是一些初始化的元素样式,及初始化的公共类。
第三部分是网页各个部分的样式。

  • 我做的第一个导航练习是拉勾网的导航。

    lagou_nav.jpg

    lagou_nav.jpg

    观察与思考
    1、这个导航需要写几层嵌套呢?
    2、要不要设置宽度,还是使用100%?
    3、如何居中啊?
    4、登录与注册中间的那个细线怎么实现。
    这些是我发现的问题,肯定随着做的过程中还会有问题。

    • 设置包围元素样式

        #header{
            background: #fafafa;
            height: 60px;
            min-width: 1024px;
            border-top: 3px solid #00B38A;
        }
        #header .wrapper{
            width: 1024px;
            margin: 0 auto;
        }

      1、最外围#header设置了导航的高度,以及导航的背景色,增添了border-top的样式。
      2、内部.wrapper设置了宽度,外部#header设置了最小宽度,二者属性值一样。当然显示屏的宽度肯定大于1024px,这样在加上在.wrapper里进行margin: 0 auto;可以实现宽度为1024的内容居中。

    • 对导航元素进行基本布局

      step1.jpg

      step1.jpg

        .wrapper .logo{
            float: left;
            margin-top: 7px;
            width: 229px;
            height: 43px;
            background: url(image/logo.png) no-repeat;
        }
        .wrapper .navheader{
            float: left;
            margin-left: 30px;
        }
        .navheader li{
            float: left;
        }
        .wrapper .loginTop{
            float: right;
        }
        .loginTop li{
            float: left;
        }

      1、设置logo时,图片原来的尺寸就是229×43,所以这样设置并不会拉伸图片。
      2、logo与导航菜单均左浮动,登录注册按钮向右浮动。

    • 对导航菜单进行基本样式修饰
      注意:当鼠标经过a时,需要有一个3px的border-bottom,但是这个3px不能超过#header,需要做的就是让li的高度为60px,让a的高度为57px,这样当鼠标经过时,显示底边,不会突出。

      2015-01-18_200656.jpg

      2015-01-18_200656.jpg

        .navheader li{
            height: 60px;
            padding: 0px 20px;                
        }
        .navheader li a{
            display: block;
            line-height: 57px;
            text-decoration: none;
            color: #999;
            font-size: 20px;
        }
        .navheader li a:hover{
            color: #333;
            border-bottom: 3px solid #00B38A;
        }
        .loginTop li{
            height: 30px;
            line-height: 30px;
            color: #FFF;
            background: #00B38A;
        }
        .loginTop li a{
            display: block;
            line-height: 30px;
            padding: 0px 10px;
            color: #fff;
            text-decoration:none ;
        }
        .loginTop li a:hover{
            color: #CCEAE3;
        }

      1、a为行内元素需要将他转化为块级元素,这样才能够设置高度。行内元素如果不设置为块级,直接设置行高,虽然也可以改变高度,并且占据文档流,但是行高所占据的空白并不会是属于a的。
      2、细心的可以发现,我为每一个a只设置了行高,并没有设置高度,因为在IE6、7版本的浏览器,我发现未设置高度时,我发现a并没有具备真正的块级元素具备的那样,宽度充斥父元素。但是设置了高度后,发现他们一下子具备了块级元素的特点。但是我们不想让他那样,所以我就不写高度了。这样效果均兼容。如果写了呢,也很简单只要为a补上一个float:left
      3、ie6,并不支持png格式的图片。。。。。

    • 其实乍一看,貌似具备了长相,但是我发现,我鼠标经过菜单,菜单的变化是一个渐变的,而不是突然,。

        .navheader a,.loginTop a{
            transition: all .2s ease-in-out ;
            -webkit-transition: all .2s ease-in-out ;
            -moz-transition: all .2s ease-in-out ;
            -o-transition: all .2s ease-in-out ;
        }

      transition这个属性可以设置,当某个元素的某个样式改变时,可以进行渐变的变化。他可以实现更精彩的画面,需要学习html5的相关知识。会继续学习的。

    • *{outline:none;}设置所有元素的轮廓默认为无。

      JS网页顶部智能固定导航代码
      JS网页顶部智能固定导航代码

      JS网页顶部智能固定导航代码是一款黑色的网页顶部固定层导航,页面上下滚动导航智能显示或隐藏效果代码。

      下载
    • body,p,a,span,ul,li{margin: 0;padding: 0;}设置所有元素的内外边距为0。

    • ul.reset{list-style:none;}去除掉列表的默认样式

    • 首先分出body与footer两个部分。这里面还涉及相应的height与min-height设置,但是这些又涉及一些兼容的问题,所以我就先不写了,回头再另写一篇。

    • 最外层嵌套使用id='header'标记,方便寻找里面子元素,里面就可以用class啦,.wrapper可以用作包围元素做公共类使用。class="navheader"class="loginTop"可以作为查找元素使用。

    • ul>li>a,一般的导航基本上都是这样的结构。

    • ul前的a可以以背景为图片,做链接。

    • 第一步:设计出html结构,并为元素设置相应的id与类

          

    • 对网页进行全局的css设置。
      我先写下做导航时我用到的

    • 对导航进行css设置

    热门AI工具

    更多
    DeepSeek
    DeepSeek

    幻方量化公司旗下的开源大模型平台

    豆包大模型
    豆包大模型

    字节跳动自主研发的一系列大型语言模型

    通义千问
    通义千问

    阿里巴巴推出的全能AI助手

    腾讯元宝
    腾讯元宝

    腾讯混元平台推出的AI助手

    文心一言
    文心一言

    文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

    讯飞写作
    讯飞写作

    基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

    即梦AI
    即梦AI

    一站式AI创作平台,免费AI图片和视频生成。

    ChatGPT
    ChatGPT

    最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

    相关专题

    更多
    go语言 注释编码
    go语言 注释编码

    本专题整合了go语言注释、注释规范等等内容,阅读专题下面的文章了解更多详细内容。

    32

    2026.01.31

    go语言 math包
    go语言 math包

    本专题整合了go语言math包相关内容,阅读专题下面的文章了解更多详细内容。

    23

    2026.01.31

    go语言输入函数
    go语言输入函数

    本专题整合了go语言输入相关教程内容,阅读专题下面的文章了解更多详细内容。

    16

    2026.01.31

    golang 循环遍历
    golang 循环遍历

    本专题整合了golang循环遍历相关教程,阅读专题下面的文章了解更多详细内容。

    5

    2026.01.31

    Golang人工智能合集
    Golang人工智能合集

    本专题整合了Golang人工智能相关内容,阅读专题下面的文章了解更多详细内容。

    6

    2026.01.31

    2026赚钱平台入口大全
    2026赚钱平台入口大全

    2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

    268

    2026.01.31

    高干文在线阅读网站大全
    高干文在线阅读网站大全

    汇集热门1v1高干文免费阅读资源,涵盖都市言情、京味大院、军旅高干等经典题材,情节紧凑、人物鲜明。阅读专题下面的文章了解更多详细内容。

    195

    2026.01.31

    无需付费的漫画app大全
    无需付费的漫画app大全

    想找真正免费又无套路的漫画App?本合集精选多款永久免费、资源丰富、无广告干扰的优质漫画应用,涵盖国漫、日漫、韩漫及经典老番,满足各类阅读需求。阅读专题下面的文章了解更多详细内容。

    170

    2026.01.31

    漫画免费在线观看地址大全
    漫画免费在线观看地址大全

    想找免费又资源丰富的漫画网站?本合集精选2025-2026年热门平台,涵盖国漫、日漫、韩漫等多类型作品,支持高清流畅阅读与离线缓存。阅读专题下面的文章了解更多详细内容。

    85

    2026.01.31

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    Node.js 教程
    Node.js 教程

    共57课时 | 10万人学习

    CSS3 教程
    CSS3 教程

    共18课时 | 5.1万人学习

    Vue 教程
    Vue 教程

    共42课时 | 7.6万人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号