HTML5 details/summary悬浮菜单效果实例页面
回到相关文章 »效果:
这里放一段文字表明上面的是悬浮效果。
代码:
CSS代码:
/* 隐藏默认三角 */
::marker {
font-size: 0;
}
summary {
display: inline-block;
padding: 5px 28px;
text-indent: -15px;
user-select: none;
position: relative;
z-index: 1;
}
summary::after {
content: '';
position: absolute;
width: 12px; height: 12px;
margin: 4px 0 0 .5ch;
background: url(./arrow-on.svg) no-repeat;
background-size: 100% 100%;
transition: transform .2s;
}
[open] summary,
summary:hover {
background-color: #fff;
box-shadow: inset 1px 0 #ddd, inset -1px 0 #ddd;
}
[open] summary::after {
transform: rotate(180deg);
}
[open] summary::before {
content: '';
position: fixed;
left: 0; right: 0; top: 0; bottom: 0;
}
.box {
position: absolute;
border: 1px solid #ddd;
border-top: 0;
background-color: #fff;
min-width: 100px;
padding: 5px 0;
z-index: 1;
}
.box a {
display: block;
padding: 5px 10px;
color: inherit;
}
.box a:hover {
background-color: #f0f0f0;
}
.box sup {
position: absolute;
color: #cd0000;
font-size: 12px;
margin-top: -.25em;
}
HTML代码:
<div class="bar">
<details>
<summary>我的消息</summary>
<div class="box">
<a href>我的回答<sup>12</sup></a>
<a href>我的私信</a>
<a href>未评价订单<sup>2</sup></a>
<a href>我的关注</a>
</div>
</details>
</div>
<p>这里放一段文字表明上面的是悬浮效果。</p>