<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>禁用选择 + 弹出菜单 + 同级变淡</title>
<style>
/* 禁用选择 */
.nocheck {
user-select: none;
}
/* 弹出菜单 */
.box {
position: relative;
width: 50px;
height: 50px;
background: rgb(240, 87, 194);
}
.butn {
position: absolute;
visibility: hidden;
left: 100%;
}
.box:hover > .butn {
visibility: visible;
}
/* 同级变淡 */
.same {
display: flex;
}
span {
padding: 0 1rem;
transition: opacity 0.2s;
}
.same:hover > span:not(:hover) {
opacity: 0.5;
}
</style>
</head>
<body>
<!-- 禁用选择 -->
<p>可以选择</p>
<p class="nocheck">
user-select: none 指定无法选取文字。
</p>
<!-- 弹出菜单 -->
<div class="box">
<div class="butn">
哈喽
</div>
<!-- position: relative 在参考父项上为其子项建立笛卡尔定位上下文。
position: absolute 将弹出式菜单从文档流中移出,并将其与父级相关。
left: 100% 将弹出式菜单的左侧宽度从其父宽度的left: 100%移开。
visibility: hidden 最初隐藏弹出菜单并允许转换(与display: none ) .
.reference:hover > .popout-menu 意味着当.reference 悬停在上方时,
选择具有.popout-menu类的直接子项并将它们的 visibility 更改为visible ,这将显示弹出窗口。 -->
</div>
<!-- 同级变淡 -->
<div class="same">
<!-- transition: opacity 0.2s 指定不透明度的更改将在0.2秒内转换。
.sibling-fade:hover span:not(:hover) 指定当父项被徘徊时,选择当前没有被徘徊的任何span子项并将其不透明度更改为0.5 。 。 -->
<span>one</span>
<span>two</span>
<span>three</span>
<span>fore</span>
<span>five</span>
</div>
</body>
</html>
网友评论