:focus-within伪类与纯CSS下拉列表实例页面
回到相关文章 »效果:
这里放一段文字表明上面的是悬浮效果。
代码:
关键CSS代码:
.bar { background-color: #e3e4e5; color: #888; padding-left: 40px; } .summary { display: inline-block; padding: 5px 28px; text-indent: -15px; user-select: none; outline: 0; 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; } .details:focus-within .summary, .summary:hover { background-color: #fff; box-shadow: inset 1px 0 #ddd, inset -1px 0 #ddd; } .details:focus-within .summary::after { transform: rotate(180deg); } .box { display: none; position: absolute; border: 1px solid #ddd; background-color: #fff; } .details:focus-within .box { display: block; }
HTML代码:
<div class="bar"> <div class="details"> <a href="javascript:" class="summary" tabindex="0">我的消息</a> <div class="box"> <a href="javascript:">我的回答<sup>12</sup></a> <a href="javascript:">我的私信</a> <a href="javascript:">未评价订单<sup>2</sup></a> <a href="javascript:">我的关注</a> </div> </div> </div> <p>这里放一段文字表明上面的是悬浮效果。</p>