CSS下拉菜单

2023-10-09 57

CSS中,下拉菜单是一种常见的交互式设计元素,它允许用户通过点击一个选项来展开或收起一个子菜单。这种设计可以使得网页的导航更加直观和易于使用。

一、基本下拉菜单

当鼠标移动到指定元素上时,会出现下拉菜单。

<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;
z-index: 1;
}
.dropdown:hover .dropdown-content {
display: block;
}
</style>
<div class="dropdown">
<span>Mouse over me</span>
<div class="dropdown-content">
<p>Hello World!</p>
</div>
</div>

例子解释:

HTML:

  • 可以使用各种元素来打开下拉菜单内容,例如 <span> 或 <button> 元素,这些元素可以作为下拉菜单的触发器,当用户将鼠标悬停在它们上面时,会显示下拉菜单的内容;
  • 为了创建下拉菜单的内容,可以使用容器元素(如 <div>)来包裹这些元素,并在其中添加任何需要显示的内容;
  • 然后可以用另一个 <div> 元素来包围这些容器元素,以便正确定位下拉菜单的内容。

CSS:

  • 首先定义一个名为 .dropdown 的类,它使用 position:relative 属性。当希望将下拉菜单的内容放置在下拉按钮的正下方时,可以使用该类,因为我们将在下文中使用 position:absolute 属性来定位下拉菜单的内容;
  • 然后定义一个.dropdown-content 类保存实际的下拉菜单内容。默认情况下它是隐藏的,并将在悬停时显示(请看下文)。请注意,min-width 设置为 160px。可随时更改此设置。提示:如果您希望下拉内容的宽度与下拉按钮的宽度一样,请将宽度设置为 100%(设置 overflow:auto 可实现在小屏幕上滚动);
  • 还使用了 CSS 的 box-shadow 属性来给下拉菜单添加阴影效果,而不是使用边框。这样做可以使下拉菜单看起来更加美观,给人一种“卡片”的感觉;
  • 最后当用户将鼠标移到下拉按钮上时,使用 :hover 选择器来显示下拉菜单的内容,这样,当用户将鼠标悬停在下拉按钮上时,下拉菜单就会自动展开,并显示相应的选项供用户选择。

二、下拉菜单

创建一个下拉菜单,并允许用户从列表中选择其中的某一项。这个实例与之前的例子相似。当我们在下拉菜单中添加了链接,并为它们设置了样式后,用户可以通过点击这些链接来访问相应的网页或执行特定的操作:

<style>
/* 容器 <div> - 需要定位下拉内容 */
.dropdown {
position: relative;
display: inline-block; }
/* 下拉内容 (默认隐藏) */
.dropdown-content {
display: none;
position: absolute; }
/* 下拉菜单的链接 */
.dropdown-content a {
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>

三、下拉内容对齐方式

  • float:left;
  • float:right;

实例:

.dropdown-content {
right: 0; }

四、图片下拉

实例:

<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);
} 
.dropdown:hover .dropdown-content {
display: block;
} 
.desc {
padding: 15px;
text-align: center;
}
</style>
</head>
<body>
<h2>下拉图片</h2>
<p>数字化技能提升教程 、数字化时代生存宝典</p>
<div class="dropdown">
<img src="//www.w3cschool.cn/statics/images/w3c/intro.png" alt="Trolltunga Norway" width="100" height="50">
<div class="dropdown-content">
<img src="//www.w3cschool.cn/statics/images/w3c/intro.png" alt="Trolltunga Norway" width="400" height="200">
<div class="desc">站长百科</div>
</div>
</div>
</body>

五、导航条下拉

导航条下拉是指鼠标移动到 “下拉菜单” 链接先显示下拉菜单。

实例:

<style>
ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #333;
}
li {
float: left;
}
li a, .dropbtn {
display: inline-block;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
li a:hover, .dropdown:hover .dropbtn {
background-color: #111;
}
.dropdown {
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;
}
</style>
</head>
<body>
<ul>
<li><a class="active" href="#home" rel="external nofollow" >首页</a></li>
<li><a href="#news" rel="external nofollow" >支持</a></li>
<div class="dropdown">
<a href="#" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  class="dropbtn">下拉菜单</a>
<div class="dropdown-content">
<a href="#" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow" >链接 1</a>
<a href="#" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow" >链接 2</a>
<a href="#" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow" >链接 3</a>
</div>
</div>
</ul>
<h3>导航栏上的下拉菜单</h3>
<p>鼠标移动到 "下拉菜单" 链接先显示下拉菜单。</p>
</body>
  • 广告合作

  • QQ群号:707632017

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。
CSS下拉菜单
上一篇: CSS导航栏
CSS下拉菜单
下一篇: CSS表单