导航
×
   ❮   
HTML CSS JavaScript PHP Go ECMS

CSS 下拉菜单


使用 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 正确定位下拉内容。

CSS

.dropdown 类使用 position:relative,当我们希望将下拉内容放置在下拉按钮的正下方(使用 position:absolute)时,需要使用该类。

.dropdown-content 类保存实际的下拉菜单内容。默认情况下它是隐藏的,并将在悬停时显示(请看下文)。请注意,min-width 设置为 160px。可随时更改此设置。提示:如果您希望下拉内容的宽度与下拉按钮的宽度一样,请将宽度设置为 100%(设置 overflow:auto 可实现在小屏幕上滚动)。

我们用了 CSS box-shadow 属性,而不是边框,这样下拉菜单看起来像一张"卡片"。

当用户将鼠标移到下拉按钮上时,:hover 选择器用于显示下拉菜单。


下拉式菜单

创建一个下拉菜单,并允许用户从列表中选择一个选项:

本例与上例相似,除了我们在下拉框内添加链接并为其设置了样式,以此匹配下拉按钮的样式:

实例

<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);
  z-index: 1;
}

/* 下拉列表中的链接 */
.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>

<div class="dropdown">
 <button class="dropbtn">Dropdown</button>
 <div class="dropdown-content">
   <a href="#">Link 1</a>
   <a href="#">Link 2</a>
   <a href="#">Link 3</a>
 </div>
</div>
亲自试一试 »

右对齐的下拉菜单内容

 

如果希望下拉菜单从右到左而不是从左到右,请添加 right: 0;:

实例

.dropdown-content {
  right: 0;
}
亲自试一试 »

更多实例

下拉式图像

如何在下拉框中添加图像和其他内容。

请把鼠标指针悬停在图像上:

亲自试一试 »

下拉式导航

如何在导航栏中添加下拉菜单。

亲自试一试 »

freew3c.com 中文网是独立运营的中文开发者学习平台,与 freew3c.com 无关联。提供的内容仅用于学习和测试,不保证内容的正确性。


Copyright @2020-2026 京ICP备888888号-8