轻松上手,快乐学习!

CSS 教程

CSS 教程CSS 简介CSS 语法CSS 选择器CSS 如何使用CSS 注释CSS 颜色RGB 颜色HEX 颜色HSL 颜色CSS 背景CSS 背景图像CSS 背景重复CSS 背景附着CSS 背景简写属性CSS 边框CSS 边框宽度CSS 边框颜色CSS 边框各边CSS 简写边框属性CSS 圆角边框CSS 外边距CSS 外边距合并CSS 内边距CSS 高度/宽度CSS Box 模型CSS 轮廓CSS 轮廓宽度CSS 轮廓颜色CSS 轮廓简写属性CSS 轮廓偏移CSS 文本CSS 文本对齐CSS 文本修饰CSS 文本转换CSS 文本间距CSS 文本阴影CSS 字体CSS 字体样式CSS 字体大小CSS 谷歌字体CSS 字体简写属性CSS 图标CSS 链接CSS 列表CSS 表格CSS DisplayCSS Max-widthCSS 定位CSS 溢出CSS 浮动CSS 清除浮动CSS 浮动实例CSS Inline-blockCSS 对齐CSS 组合器CSS 伪类CSS 伪元素CSS 不透明度CSS 导航栏CSS 垂直导航栏CSS 水平导航栏CSS 下拉菜单CSS 图片库CSS 图像拼合技术CSS 属性选择器CSS 表单CSS 计数器CSS 网站布局CSS 单位CSS 特异性CSS3 高级教程CSS3 简介CSS3 圆角CSS3 边框图像CSS3 多重背景CSS3 颜色CSS3 渐变CSS3 径向渐变CSS3 阴影CSS3 盒子阴影CSS3 文本效果CSS3 网络字体CSS3 2D 转换CSS3 3D 转换CSS3 过渡CSS3 动画CSS3 提示框CSS3 样式图像CSS3 object-fitCSS3 按钮CSS3 分页CSS3 多列CSS3 用户界面CSS3 变量CSS3 覆盖变量CSS3 变量 - JavaScriptCSS3 盒子大小CSS3 媒体查询CSS3 媒体查询实例CSS3 弹性盒子CSS3 弹性容器CSS3 弹性项目CSS3 弹性响应式RWD 简介RWD 视口RWD 网格视图RWD 媒体查询RWD 图像RWD 视频RWD 框架RWD 模板Grid 网络简介Grid 网格容器Grid 网格项目CSS 模板CSS 实例CSS 测验CSS 练习

CSS 参考手册

CSS 参考手册CSS 浏览器支持CSS 选择器参考手册CSS 函数参考手册CSS 听觉参考手册CSS 网络安全字体CSS 动画相关属性CSS 单位Px/Em 换算CSS 颜色CSS 合法颜色值CSS 默认值参考手册CSS 实体


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;
}
亲自试一试 »

更多实例

下拉式图像

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

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


亲自试一试 »

下拉式导航

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

亲自试一试 »