所以,我试图给使用CSS的按钮添加3D效果。我给了它一个底部边框,在悬停/点击时,我改变了边框的大小,并使用相对定位将其等量推下。使用CSS导致点击事件出现问题的按钮效果
这个工作,看起来不错,但如果我点击靠近按钮的顶部边缘,点击事件不会触发 - 可能是因为按钮已移出指针的方式。
是否有另一种方式实现这种效果(纯CSS,而不是额外的标记),而不会干扰点击事件?
例子:
var initialCount = 0;
window.incrementCounter = function() {
document.getElementById('counter').innerHTML = 'Counter: ' + ++initialCount;
}
#counter {
margin-bottom: 1em;
}
button {
background: #ccc;
border: none;
border-bottom: 3px solid #aaa;
font-size: 16px;
padding: 5px 10px;
position: relative;
}
button:hover {
border-bottom-width: 2px;
top: 1px;
}
button:active {
border-bottom-width: 0;
top: 3px;
}
<div id="counter">Counter: 0</div>
<button id="button" onClick="window.incrementCounter()">Increment</button>
鼠标停止事件很好地解决了我的问题,欢呼!是的,这只是为了简化我的代码片段 - 在“真实”的应用程序中,事件处理程序通过JS绑定。 –
完全没有问题,我怀疑这可能是一个测试案例,但是我想我会提及它!很高兴有帮助。 – BenM