【发布时间】:2018-04-04 02:23:35
【问题描述】:
我试图复制 this 功能:
但是,我只希望每个按钮中包含三个 span 元素(左、右、背景)。
这是按钮的标记:
<a href="#" className="btn">Home
<span className="r"></span>
<span className="l"></span>
<span className="background"></span>
</a>
这里是对应的css:
.btn{
background-color: #FCA311;
display: inline-block;
border: 1px solid black;
height: 100%;
margin: 0 15px;
width: 100px;
padding-top: 5px;
color: #FFFFFF;
text-decoration: none;
position: relative;
}
.btn span {
display: block;
position: absolute;
opacity: 1;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
.btn .l {
right: 50%;
}
.btn .r {
left: 50%;
}
.btn .background {
top: 0;
left: 0;
bottom: 0;
right: 0;
z-index: -1;
background-color: #fff;
opacity: 0;
transition: all 0.4s ease;
box-shadow: none;
}
.l:hover ~ .background {
box-shadow: 10px 10px 10px #fff;
opacity: 1;
}
.r:hover ~ .background {
box-shadow: -10px 10px 10px #fff;
opacity: 1;
}
我尝试围绕“.l”和“.r”跨度元素实施该技术,以检测悬停并相应地调整“.background”跨度的框阴影。我不知道有什么问题。如果有人能澄清一下,那就太好了。
【问题讨论】:
-
您的代码按预期工作;它根据选择的正方形的哪一半正确应用部分框阴影。什么不按您希望的方式工作?
-
这很奇怪......我猜它只是无法在我的机器上运行。对我来说它看起来不错,所以感谢您的确认。