html二级菜单:DIV+CSS制作二级菜单(横排二级下拉菜单)以及二级菜单出现错位怎么解决「建议收藏」

html二级菜单:DIV+CSS制作二级菜单(横排二级下拉菜单)以及二级菜单出现错位怎么解决「建议收藏」DIV+CSS制作二级菜单(横排二级下拉菜单)以及二级菜单出现错位解决方法

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

html二级菜单制作(横排二级下拉菜单)以及二级菜单出现错位怎么解决

摘要:DIV+CSS制作二级菜单(横排二级下拉菜单)以及二级菜单出现错位怎么解决(解决办法放在代码下面)

1.先看一下最终的效果图

在这里插入图片描述
在这里插入图片描述

2. 来先看具体代码吧,设计的具体思路就放在代码下面哈哈哈ヾ(≧▽≦*)o

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>二级菜单</title>
	<style>
   	  	/*去除网页原有的格式*/
		* { 
    margin:0; padding:0;}
		/*去除标签前的圆点*/
		ul, li { 
    list-style:none;}
		/*去除下划线*/
		a { 
    text-decoration:none;}
		/*盛放二级菜单的盒子*/
		.mxl_bigbox_10{ 
   
			width: 620px;
			height:300px;
			background-color: pink;
			margin: 15px auto auto  30%;
			float:left;
			position: relative;
			padding-left:15px;
			padding-top: 15px: 

		}
		ul li{ 
   float:left; }
		ul li a{ 
   
			width:120px;
			height:30px;
			font-size: 20px;
			text-align: center;
			font-family: 宋体;
			line-height: 25px;
			/*将元素显示为块级元素display:block;*/
			display: block;
			border-right:2px solid silver;
            border-bottom: 0.3px solid silver;
            background-color: #E8E8E8;
            color:black;


		}
		/*鼠标悬停改变背景颜色*/
		ul li a:hover{ 
   background-color:aqua; }
		/*display:none;用来隐藏二级菜单 */
		ul li ul{ 
   
			position: absolute;
			display:none;
		}
		/*float:none;使二级菜单不左右浮动也是默认值*/
		ul li ul li{ 
   
			float: none;
		}
		ul li ul li a{ 
   
				border-top:1px dashed silver; 
		}
		/*在鼠标移到li上的时候它下面的ul会显示*/	
		ul li:hover ul{ 
   display:block;}



	</style>
		
</head>
<body>
			
	<div  class="mxl_bigbox_10">
			<ul>
				<li><a href="#">首页</a>
					<ul>
						<li><a href="#">2级菜单</a></li>
						<li><a href="#">2级菜单</a></li>
						<li><a href="#">2级菜单</a></li>
						<li><a href="#">2级菜单</a></li>
						<li><a href="#">2级菜单</a></li>
					</ul>					
				</li>

				<li><a href="">验收专栏</a>
					 <ul>						
							<li><a href="#">2级菜单</a></li>
							<li><a href="#">2级菜单</a></li>
							<li><a href="#">2级菜单</a></li>
							<li><a href="#">2级菜单</a></li>
							<li><a href="#">2级菜单</a></li>
					 </ul>

				</li>
				
				<li><a href="">专业概况</a>
					<ul>
						<li><a href="#">2级菜单</a></li>
						<li><a href="#">2级菜单</a></li>
						<li><a href="#">2级菜单</a></li>
						<li><a href="#">2级菜单</a></li>
						<li><a href="#">2级菜单</a></li>
					</ul>
				</li>

				<li><a href="">教学资源</a>
					<ul>
						<li><a href="#">2级菜单</a></li>
						<li><a href="#">2级菜单</a></li>
						<li><a href="#">2级菜单</a></li>
						<li><a href="#">2级菜单</a></li>
						<li><a href="#">2级菜单</a></li>
					</ul>
				</li>

				<li><a href="">获奖状况</a>
					<ul>
						<li><a href="#">2级菜单</a></li>
						<li><a href="#">2级菜单</a></li>
						<li><a href="#">2级菜单</a></li>
						<li><a href="#">2级菜单</a></li>
						<li><a href="#">2级菜单</a></li>
					</ul>
				</li>

			</ul>

	</div>
<a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="知识共享许可协议" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a><br />本作品采用<a rel="license" href="http://creativecommons.org/licenses/by/4.0/">知识共享署名 4.0 国际许可协议</a>进行许可。

</body>
</html>

3.二级菜单出现错位解决办法如下:

错位原因:再css样式里即内没有添加去掉网页原有属性的代码(* { margin:0; padding:0;}),接下来我把源代码里的 * { margin:0; padding:0;}注释掉来看看网页打开后的效果图:

在这里插入图片描述

很明显已经错位了!

ヾ(≧▽≦*)o?喜欢的话就留个赞吧!

??布局思路:通过 ul li ul li的嵌套以及使用div 、css 、a三种标签来一起实现二级菜单。

具体步骤如下:

1. 首先在body部分用div标签做一个盒子,在盒子内部(div内部) 用“<ul><li><a>一级菜单</a></li></ul>”生成一级菜单然, 但是此时所有一级菜单带式竖向排列的,每个一级菜单还需要在style内把一级菜单通过“display:block;”设置成块,再给他们加上边框;
2.然后通过“float:left;”控制浮动,这样横向排列的一级菜单就好了;一些细节方面比如一级菜单的边框颜色、像素大小、背景色文字在框里的位置都得设置好。
3.接着在一级菜单里嵌入二级菜单即<ul><li><a>一级菜单</a><ul><li><a>二级菜单</a></li></ul></li></ul>
4.嵌入后接下来控制二级菜单的样式,通过绝对定位使二级菜单出现在一级菜单下然后隐藏即“{ position:absolute; display:none;}”,但是这时二级菜单还是横向排列的,只需用“float:none;”不让其左右浮动就可以完成。
5.最后,当鼠标移动到一级菜单上时二级菜单这时时显示不出来的,还需要添加“ul li:hover ul{ display:block}”使二级菜单显示出来;下面的文字部分和图片部分是用两个小盒子,通过类选择器独立控制各自的样式。

???注意点:盛放二级菜单的盒子宽度,要根据标签的宽度来决定 ;比如你的ul li {width: 60px;height:30px} 有六个一级菜单,那么60*6=360那么你的盒子的宽度要至少大于300左右;

??? padding属性还会撑大盒子,所以在调节标签里的文字居中时尽量不要用padding,建议使用text-align:center;和line-height:多少px;一起使用,主要调节line-height,就可以;文字的大小尽量小点,不然还是会出现问题。

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

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

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


相关推荐

  • 原型和原型链理解_原型对象和原型链

    原型和原型链理解_原型对象和原型链一、原型①所有引用类型都有一个__proto__(隐式原型)属性,属性值是一个普通的对象②所有函数都有一个prototype(原型)属性,属性值是一个普通的对象③所有引用类型的__proto__属性指向它构造函数的prototypevara=[1,2,3];a.__proto__===Array.prototype;//true二、原型链…

    2025年7月26日
    7
  • Excel_VBA_编程教程(完整版)

    Excel_VBA_编程教程(完整版)http://wenku.baidu.com/link?url=j7yxykC9P7sbbvMgNFIHfvA1qxO1ZKS4e7D70fwk_SEXiFGHn9CdUyMXeGVSMQIcrH33V-jmQJW1H-OqkFYpl7f86ytQzAyb4JhPwAF0kda

    2022年5月11日
    38
  • Python使用免费天气API,获取全球任意地区的天气情况

    Python使用免费天气API,获取全球任意地区的天气情况需求背景:公司是做外贸服装的,在亚马逊平台上有多个地区店铺运营,运营人员需要参考地区的天气情况,上新的服装.所以需要能够获取全球任意地区的天气情况.还需要预测未来10-15天的天气情况.选型API:天气API中有大把免费的api,如:国内的心知天气,国际的雅虎,还有今天的主角:wunderground最终选择了wunderground,原因:1,需求是全球任意地区的(国内API请求国外地区需要收费…

    2022年10月21日
    2
  • linux驱动最新面试题(面试题整理,含答案)

    linux驱动最新面试题(面试题整理,含答案)linux驱动面试题2018(面试题整理,含答案)版权声明:本文为博主原创文章,未经博主允许不得转载。转载请标明原址:https://blog.csdn.net/kai_zone/article/details/82021233前言:这篇文章主要是对linux驱动面试题一个整理跟总结,参考了很多网上的资料,基本涵盖linux驱动相关面试内容。我把他们大概的分为三部…

    2022年5月20日
    30
  • shell脚本基本语法详解

    shell脚本基本语法详解编写shell脚本的时候,最前面要加上一行:#!/bin/bash,因为linux里面不仅仅只有bash一个解析器,还有其它的,它们之间的语法会有一些不同,所以最好加上这一句话,告诉系统要用这个解析器。一.shell变量shell变量和一些编程语言不同,一般shell的变量赋值的时候不用带“$”,而使用或者输出的时候要带“$”。加减乘除的时候要加两层小括号。括号外面要有一个“$”,括号里面的变量可以

    2022年7月26日
    4
  • p2p在线直播流(何为流媒体)

    看到网上一些吹牛P2P低延时的文章,觉得不是很靠谱,抽空调研了一下这个问题。P2P低延时的几个方向:   方法一:通过直接采集并编码多媒体帧,将多媒体帧切分成1KB大小的数据颗粒,采用push策略的进行小包传输,提高传输效率,减小传输延时;          具体参见:http://www.google.com/patents/CN101945129A?cl

    2022年4月10日
    69

发表回复

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

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