CSS Dropdown Menu

Gumawa ng hanggang sa paghover na dropdown list gamit ang CSS.

Pagpapakita: Halimbawa ng dropdown

Instance

Ilipat ang mouse pointer sa ibaba na halimbawa:

Baseng dropdown menu

Gumawa ng dropdown box na ipapakita kapag ang gumagamit ay inililipat ang mouse sa elemento.

Instance

<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>

Try It Yourself

Halimbawa ng paglalarawan:

HTML

Gamitin ang anumang elemento upang buksan ang nilalaman ng dropdown menu, halimbawa ang elemento <span> o <button>.

Gumawa ng nililipat na nilalaman gamit ang elemento na container (gaya ng <div>) at idagdag ang anumang nilalaman.

Surround ang mga elemento gamit ang elemento <div> at i-locate ang nililipat na nilalaman gamit ang CSS na tama.

CSS

.dropdown klase na position:relative,kapag gusto naming ilagay ang nililipat na nilalaman sa ilalim ng pindutin ng dropdown(gamitin position:absolute)kailangan gamitin ang klase na ito。

.dropdown-content Ang klase na ito ay inilagay sa tunay na nilalaman ng dropdown menu. Sa pangkaraniwang sitwasyon, ito ay nakahihide at ipapakita lamang kapag may hover(tingnan ang ibaba)。Pansin na,min-width Iset sa 160px. Maaaring alinman baguhin ang setting na ito. Tipan: Kung gusto mong ang lapad ng nililipat na nilalaman ay magkapareho sa lapad ng pindutin, i-set ang lapad sa 100%(i-set overflow:auto Maaari itong maiscroll sa maliit na screen).

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

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

下拉式菜单

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

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

Instance

<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>

Try It Yourself

Right-aligned dropdown menu content

Kung gusto mong itaboy ang dropdown menu mula sa kanan papasok sa kaliwa sa halip na mula sa kaliwa papasok sa kanan, magdagdag ka ng right: 0;:

Instance

.dropdown-content {
  right: 0;
}

Try It Yourself

More Examples

1 - Dropdown Image

Kung paano magdagdag ng imahe at iba pang nilalaman sa dropdown box.

Ilagay ang mouse pointer sa ibabaw ng imahe:

Try It Yourself

2 - Dropdown Navigation

Kung paano magdagdag ng dropdown menu sa navigation bar.

Try It Yourself