导航窗口用html语言怎么写,html通用导航条制作详解

导航窗口用html语言怎么写,html通用导航条制作详解第一步:先创建一个盒子,定义类为nav,width1000,height40px,防京东的导航,与浏览器顶部100px,margin-top:100px,看的更直观第二步:使用无序列表放置,导航条的内容,这个可以自己定,这里设定ul宽1000px;高40px;因为ul是块状元素,出现下面的样子,可以思考块状元素在firefox中和ie6下面有什么不同。通常在写样式的时候,要初始化我…

大家好,又见面了,我是你们的朋友全栈君。

第一步:先创建一个盒子,定义类为 nav,width 1000,height 40px,防京东的导航,与浏览器顶部100px,margin-top:100px,看的更直观

第二步:使用无序列表放置,导航条的内容,这个可以自己定,这里设定 ul 宽1000px;高 40px;因为ul是块状元素,出现下面的样子,可以思考块状元素在firefox中和 ie6下面有什么不同。

fff6c98081bf8904098fb5e1bd59ff4b.gif

通常在写样式的时候,要初始化我们的css样式表,这里具体用到哪些,初始哪些,具体设置 list-style:none; margin:0;padding:0;

第三步:现在所有的栏目都是紧挨着,我们要给li设置宽度为100px,通过float:left 将他们分开,给li加一个 背景色blue,知道我们所处的位置,更好的去调节我们的页面

fff6c98081bf8904098fb5e1bd59ff4b.gif,现在暂不去掉背景色,给 li 添加高度 height:40px;使用 line-height:40px; 垂直居中,text-align:center; 水平居中。 效果如右

fff6c98081bf8904098fb5e1bd59ff4b.gif

第四步:为了体现这一步遇到的问题,我把最后一个栏目多加了几个字,

fff6c98081bf8904098fb5e1bd59ff4b.gif 可以看出栏目之间的距离是不同的,为了寻找问题,我们给 li 设置一个宽度为 1px的 右外边距, margin-right:1px;

fff6c98081bf8904098fb5e1bd59ff4b.gif  这个时候就很清楚的发现问题了,由于给li设定了宽度,所以当文字多了以后,不能够自动伸缩适应,这时候就要去掉宽度。

fff6c98081bf8904098fb5e1bd59ff4b.gif 这个时候,宽度能够伸缩适应了,但是文字的空间太少,影响视觉,解决办法,添加所有内边距10px,给li 样式添加 padding:0 10px; 现在效果好多了

fff6c98081bf8904098fb5e1bd59ff4b.gif,然后把 margin-right:1px 去掉

fff6c98081bf8904098fb5e1bd59ff4b.gif

第五步: 因为导航是需要点击的,我们需要放置 超链接(a标签),放在哪里呢,放在li标签内,操作如下,给li添加a标签,设置文字大小12px,规定鼠标移上去和移出的效果。

fff6c98081bf8904098fb5e1bd59ff4b.gif

第六步:如果希望鼠标移动上去显示 黑红色,给a 链接添加一个背景,以便看书a链接的区域。这里给a链接添加 黑色;

fff6c98081bf8904098fb5e1bd59ff4b.gif,然后你发现,当你的鼠标移动到a标签后会出现小手的状态,为了用户体验,我们可以给 a 标签设置一个高度,让我们鼠标刚 接触li 标签就出现小手,添加height后,不管怎么刷新都不会出现,还是原来的样子,引发思考。因为 a 标签 是 内链元素,内链元素是无法设置宽度和高度的,我们需要使用 display:block; 将内链元素转换为块元素。这个时候会出现两种情况

fff6c98081bf8904098fb5e1bd59ff4b.gif

fff6c98081bf8904098fb5e1bd59ff4b.gif,实际效果总是与期望效果不同,这个需要常年累积和对不同浏览器支持的了解。IE6 下面,认为a 标签既然转换为块元素,就要有块元素的特性,独占一行,再加上也没有对a标签的宽度设定,为什么firefox中没有这样呢,那时因为firefox 认为a标签即便是 块元素,也要受到它外面的li标签的影响。如何解决呢,因为现在a标签是块状元素了,所以给a标签添加 float:left; 即可。 现在两个浏览器显示的内容一样了

第七步:当我们鼠标移动到栏目上时,就会变成小手的形状,因为小手的形状是因为有a标签,但是我们发现a标签的宽度有点小,所以这里需要加宽a标签,这里使用 padding:0 10px; 因为之前有给 li 添加padding:0 10px; 为了能够更清晰的控制导航栏目的宽度,这里我们使用a标签来控制,去掉li 的padding。最后去掉a标签的背景,导航栏完成,兼容IE 以及常用浏览器哦。。。

最后的结果

fff6c98081bf8904098fb5e1bd59ff4b.gif

这个导航可以延伸到不同的导航中,基本都差不多。重要的是,了解到一些元素在火狐和ie中的区别,更好的避免所谓的兼容性

最后 去除外面的div 后, 还是可以兼容浏览器的,很爽啊,上代码

body,div,ul,li{padding:0px;margin:0px;}

ul{list-style:none;}

ul{width:1000px;margin:0 auto;background: #e64346;height:40px;margin-top: 100px;}

ul li{float:left;height: 40px;line-height: 40px;text-align: center;}

ul li a{font-size: 12px;text-decoration: none;height:40px;display: block;float: left;padding:0 10px;text-decoration: none;color:#fff;}

ul li a:hover{background: #a40000;}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146052.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 故障解决 | win10没声音及找不到Realtek高清音频管理器「建议收藏」

    故障解决 | win10没声音及找不到Realtek高清音频管理器「建议收藏」重装win10系统后,电脑没声音,更新驱动以及万不得已下载驱动精灵都没有解决。后来发现在“硬件和声音”中没有Realtek高清音频管理器,之后找到解决办法如下:1.找到Realtek高清音频

    2022年8月1日
    7
  • Android studio开发-第一个入门例子(十分详细)

    Android studio开发-第一个入门例子(十分详细)                            举个栗子实现功能:可以通过页面输入改变要显示的字符,然后通过按钮可以实现显示字符的放大功能。最终如下:一共四个控件:一个text输入,一个text显示,一个输入修改确认按钮,一个放大按钮步骤:1、建立项目   file-new-newproject新建一个项目…

    2025年7月4日
    3
  • 进程的同步、互斥、通信的区别,进程与线程同步的区别[通俗易懂]

    进程的同步、互斥、通信的区别,进程与线程同步的区别[通俗易懂]这两天看进程的同步与通信,看了几本书上的介绍,也从网上搜了很多资料,越看越迷惑,被这几个问题搞得很纠结。进程同步与互斥的区别?进程的同步方式有哪些?进程的通信方式有哪些?进程同步与通信的区别是什么?线程的同步/通信与进程的同步/通信有区别吗?在好多教材上(包括国内与国外的)也没有明确这些概念,现在对每个问题还没有准确的答案,下面将自己的理解记下来,以后再补充。参考资料:《操作系统教程》孙钟秀主编…

    2025年5月26日
    4
  • intellij idea 激活码2099【2022最新】

    (intellij idea 激活码2099)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlCJM5ZJBPHS-eyJsa…

    2022年3月31日
    523
  • TensorFlow学习--学习率衰减/learning rate decay

    TensorFlow学习--学习率衰减/learning rate decay学习率衰减学习率衰减(learningratedecay)在训练神经网络时,使用学习率控制参数的更新速度.学习率较小时,会大大降低参数的更新速度;学习率较大时,会使搜索过程中发生震荡,导致参数在极优值附近徘徊.为此,在训练过程中引入学习率衰减,使学习率随着训练的进行逐渐衰减.TensorFlow中实现的学习率衰减方法:tf.train.piecewise_constant…

    2022年5月13日
    52
  • ASCII码表及键盘码表。

    ASCII码表及键盘码表。

    2021年11月29日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号