前端web

题目:制作带有下拉悬停菜单的导航栏

效果图

一、先制作菜单栏

<body>

<div id="menu">

<div id="container">

<div class="item">游戏1

<div class="down_menu">

<div>游戏下载</div>

<div>游戏社交</div>

<div>游戏论坛</div>

<div>游戏bug</div>

</div>

</div>

<div class="item">游戏2

<div class="down_menu">

<div>游戏下载</div>

<div>游戏社交</div>

<div>游戏bug</div>

<div>游戏论坛</div>

</div>

</div>

<div class="item">游戏3

<div class="down_menu">

<div>游戏下载</div>

<div>游戏交易</div>

<div>游戏外挂</div>

<div>游戏攻略</div>

</div>

</div>

<div class="item">游戏4</div>

<div class="item">游戏5</div>

<div class="item">游戏6</div>

<div class="item">游戏7</div>

</div>

</div>

二、使用浮动属性让块标签处在同一列

.item {

float: left;

width: 100px;

height: 50px;

line-height: 50px;

text-align: center;------字体置中

color: antiquewhite;------字体颜色

position: relative;

}

三、设置菜单栏底色并置顶

* {

margin: 0;

padding: 0;

}

#menu {

background-color: aqua;

width: 100%;

height: 50px;

}

.item:hover {

background-color: royalblue;------当鼠标悬浮时选项的底色变换

}

#container {

width: 720px;

margin: auto;------使菜单处于中间

四、悬浮框的设置

.down_menu>div {

color: black;------悬浮框里的字体颜色

}

.down_menu {

background-color: #cccccc;------悬浮框的底色

display: none;

position: absolute;

}

.item:hover>.down_menu {

display: block;------------------------悬浮框的大小设置

width: 100px;

left: 0px;

top: 50px;

}

五、完整代码

cs 复制代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			* {
				margin: 0;
				padding: 0;
				/* border: 1px solid red; */
			}
		
			#menu {
				background-color: aqua;
				width: 100%;
				height: 50px;
			}
		
			.item {
				/* 浮动属性可以让块标签,处在同一行 */
				float: left;
				width: 100px;
				height: 50px;
				line-height: 50px;
				/* border: 1px solid red; */
				text-align: center;
				color: antiquewhite;
				position: relative;
			}
		
			.item:hover {
				background-color: royalblue;
			}
		
			#container {
				width: 720px;
				margin: auto;
			}
		
			.down_menu>div {
				color: black;
			}
			
			.down_menu {
				background-color: #cccccc;
				display: none;
				position: absolute;
			}
			
			.item:hover>.down_menu {
				display: block;
				width: 100px;
				left: 0px;
				top: 50px;
			}
		</style>
	</head>
	<body>
		<div id="menu">
			<div id="container">
				<div class="item">游戏1
					<div class="down_menu">
						<div>游戏下载</div>
						<div>游戏社交</div>
						<div>游戏论坛</div>
						<div>游戏bug</div>
					</div>
					<!-- <div style="width: 100px;height: 100px;background-color: black;"></div> -->
				</div>
				<div class="item">游戏2
					<div class="down_menu">
						<div>游戏下载</div>
						<div>游戏社交</div>
						<div>游戏bug</div>
						<div>游戏论坛</div>
					</div>
				</div>
				<div class="item">游戏3
					<div class="down_menu">
						<div>游戏下载</div>
						<div>游戏交易</div>
						<div>游戏外挂</div>
						<div>游戏攻略</div>
					</div>
				</div>
				<div class="item">游戏4</div>
				<div class="item">游戏5</div>
				<div class="item">游戏6</div>
				<div class="item">游戏7</div>
			</div>
		</div>
	</body>
</html>

效果图

相关推荐
北海-cherish2 小时前
vue中的 watchEffect、watchAsyncEffect、watchPostEffect的区别
前端·javascript·vue.js
2501_915909063 小时前
HTML5 与 HTTPS,页面能力、必要性、常见问题与实战排查
前端·ios·小程序·https·uni-app·iphone·html5
white-persist4 小时前
Python实例方法与Python类的构造方法全解析
开发语言·前端·python·原型模式
新中地GIS开发老师5 小时前
Cesium 军事标绘入门:用 Cesium-Plot-JS 快速实现标绘功能
前端·javascript·arcgis·cesium·gis开发·地理信息科学
Superxpang5 小时前
前端性能优化
前端·javascript·vue.js·性能优化
Rysxt_5 小时前
Element Plus 入门教程:从零开始构建 Vue 3 界面
前端·javascript·vue.js
隐含5 小时前
对于el-table中自定义表头中添加el-popover会弹出两个的解决方案,分别针对固定列和非固定列来隐藏最后一个浮框。
前端·javascript·vue.js
大鱼前端5 小时前
Turbopack vs Webpack vs Vite:前端构建工具三分天下,谁将胜出?
前端·webpack·turbopack
你的人类朋友5 小时前
先用js快速开发,后续引入ts是否是一个好的实践?
前端·javascript·后端