【发布时间】:2017-03-23 07:04:16
【问题描述】:
我正在创建一个矩形轮廓,在空的<div> 周围有一个5px 细边框。当用户将鼠标悬停在边框上时,我希望边框改变颜色。这一切都很好,但是当用户的鼠标在 <div> 内时,我不希望边框保持更改,因为它实际上不再在边框上。
在此处查看示例: https://jsfiddle.net/qbcc1trt/
.outer {
position: relative;
overflow: hidden;
display: inline-block;
}
.myborder {
content: '';
position: absolute;
bottom: 5%;
left: 20%;
width: 40%;
height: 50%;
box-shadow: inset 0px 0px 0px 5px rgba(0, 0, 0, 0.6);
}
.myborder:hover {
content: '';
position: absolute;
bottom: 5%;
left: 20%;
width: 40%;
height: 50%;
box-shadow: inset 0px 0px 0px 5px rgba(100, 200, 100, 0.6);
}
<div class="outer">
<img src="https://s-media-cache-ak0.pinimg.com/736x/ff/00/5e/ff005e0fa600c51c5e36f6059bbe6053.jpg">
<div class="myborder"></div>
</div>
有什么方法可以做到这一点?
【问题讨论】:
-
如果没有 JavaScript,我认为这是不可能的
-
用JS怎么实现?
-
如果你用四个元素构建了一个正方形并让它们都在悬停时触发 w/CSS 怎么办?我从来没有见过这种类型的动作,你有在其他地方工作的例子吗?
-
@abagshaw 你真的需要阴影是透明的吗?如果没有,我有一个解决方案。
-
你对不同的html结构没问题吗?