CSS基础-15-下拉菜单
1. 基本实现
<!DOCTYPE html>
<html>
<head>
<title>玄德公记事</title>
<meta charset="utf-8">
<style>
.dropdown {
position: relative;
display: inline-block;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
padding: 12px 16px;
}
.dropdown:hover .dropdown-content {
display: block;
}
</style>
</head>
<body>
<div class="dropdown">
<span>选择武将</span>
<div class="dropdown-content">
<p>关羽</p>
<p>张飞</p>
<p>赵云</p>
<p>马超</p>
</div>
</div>
</body>
</html>
- 效果
- inline-block
与 display: inline 相比:
- display: inline-block 允许在元素上设置宽度和高度(将保留上下外边距/内边距)
- display: inline 则不会。
与 display: block 相比:
- display:inline-block 在元素之后不添加换行符。(因此该元素可以位于其他元素旁边)
- display: block 在元素之后添加换行符。
2. 添加一些效果
<!DOCTYPE html>
<html>
<head>
<title>玄德公记事</title>
<meta charset="utf-8">
<style>
/* 下拉按钮样式 */
.dropbtn {
background-color: #4CAF50;
color: white;
padding: 16px;
font-size: 16px;
border: none;
/* 鼠标变手 */
cursor: pointer;
}
/* 容器 <div> - 需要定位下拉内容 */
.dropdown {
position: relative;
display: inline-block;
}
/* 下拉内容 (默认隐藏) */
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
/* 添加阴影 */
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
}
/* 下拉菜单的链接 */
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
}
/* 鼠标移上去后修改下拉菜单链接颜色 */
.dropdown-content a:hover {background-color: #f1f1f1}
/* 在鼠标移上去后显示下拉菜单 */
.dropdown:hover .dropdown-content {
display: block;
}
/* 当下拉内容显示后修改下拉按钮的背景颜色 */
.dropdown:hover .dropbtn {
background-color: #3e8e41;
}
</style>
</head>
<body>
<div class="dropdown">
<button class="dropbtn">选择武将</button>
<div class="dropdown-content">
<a href="./guanyu.html">关羽</a>
<a href="./zhangfei.html">张飞</a>
<a href="./zhaoyun.html">赵云</a>
</div>
</div>
</body>
</html>
- 效果