要在 HTML 中使用 CSS3 实现弹出菜单效果,可以使用 CSS3 中的 :hover 伪类和 transition 属性。具体步骤如下:
<button class="menu-button">菜单</button>
<ul class="menu-items">
<li><a href="#">菜单项1</a></li>
<li><a href="#">菜单项2</a></li>
<li><a href="#">菜单项3</a></li>
</ul>
.menu-button {
background-color: #f1f1f1;
border: none;
color: black;
padding: 10px 20px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
margin: 4px 2px;
cursor: pointer;
}
.menu-items {
list-style-type: none;
margin: 0;
padding: 0;
display: none;
}
.menu-items li {
margin: 0;
padding: 0;
}
.menu-items li a {
display: block;
padding: 10px 20px;
text-decoration: none;
color: black;
}
.menu-items li a:hover {
background-color: #555;
color: white;
}
.menu-button:hover + .menu-items,
.menu-items:hover {
display: block;
}
.menu-items {
position: absolute;
z-index: 1;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
transition: all 0.3s ease-in-out;
}
.menu-items li a:hover {
background-color: #555;
color: white;
}
在上面的代码中,使用 :hover 伪类和 transition 属性为菜单按钮和菜单项添加了弹出效果。其中,.menu-button:hover + .menu-items 表示当鼠标悬停在菜单按钮上时,显示菜单项;.menu-items:hover 表示当鼠标悬停在菜单项上时,保持显示状态。另外,.menu-items 的 position 属性设置为 absolute,使其可以脱离文档流,z-index 属性设置为 1,使其显示在其他元素的上方。
关键词高亮:HTML、CSS3、弹出菜单效果、:hover、transition、伪类、菜单按钮、菜单项、display、list-style-type、margin、padding、text-decoration、color、position、z-index、background-color、box-shadow。