弹出菜单
在鼠标悬停/聚焦时显示一个交互式的弹出菜单。
- 使用
left: 100%
将弹出菜单移动到父元素的右侧。 - 使用
visibility: hidden
初始隐藏弹出菜单,以便应用过渡效果(与display: none
不同)。 - 使用
:hover
、:focus
和:focus-within
伪类选择器将visibility: visible
应用于弹出菜单,当父元素被悬停/聚焦时显示它。
<div class="reference" tabindex="0">
<div class="popout-menu">弹出菜单</div>
</div>
.reference {
position: relative;
background: tomato;
width: 100px;
height: 80px;
}
.popout-menu {
position: absolute;
visibility: hidden;
left: 100%;
background: #9C27B0;
color: white;
padding: 16px;
}
.reference:hover > .popout-menu,
.reference:focus > .popout-menu,
.reference:focus-within > .popout-menu {
visibility: visible;
}