我想要一个按钮在被点击后“凹陷”。但是,我尝试的方法有一个不良影响——某些位置上的点击未被注册。
这个问题与JavaScript无关。我下面链接了一个JSFiddle,使用了一个JavaScript点击事件监听器,但这只是为了更好地描述问题。我面临的实际问题与事件监听器无关——当在各种位置点击超链接时(浏览器不会导航到链接的页面,即使CSS中的
所用的CSS:
这里有一个 JSFiddle,更深入地描述了问题:http://jsfiddle.net/g105b/d3Y9X/ 还有一个问题的录像:http://youtu.be/N6UfWdbA1Ac 问题是当按钮中发生任何移动... 这可能是 "top" 属性的变化 - 就像这个例子中的一样 - margin-top、负的 margin-bottom、translateY、padding-top ... 必须有一种方法来创建这种类型的按钮效果,而不会有这个问题?
我正在使用 Chrome 29,用于录制视频,但问题在 Firefox 23 中也显而易见,虽然在 Firefox 中 "无效区域" 在按钮内的位置不同。
:active
类正常工作,浏览器的行为就像根本没有点击一样)。所用的CSS:
a.fatButton {
display: inline-block;
position: relative;
margin: 8px;
padding: 16px;
background: #faa;
border-radius: 16px;
box-shadow: 0 8px 0 0 #f88;
text-decoration: none;
color: #000;
}
a.fatButton:active {
top: 8px;
box-shadow: none;
}
按钮内的HTML:
<div id="linkContainer">
<a class="fatButton" href="#">Click me</a>
</div>
这里有一个 JSFiddle,更深入地描述了问题:http://jsfiddle.net/g105b/d3Y9X/ 还有一个问题的录像:http://youtu.be/N6UfWdbA1Ac 问题是当按钮中发生任何移动... 这可能是 "top" 属性的变化 - 就像这个例子中的一样 - margin-top、负的 margin-bottom、translateY、padding-top ... 必须有一种方法来创建这种类型的按钮效果,而不会有这个问题?
我正在使用 Chrome 29,用于录制视频,但问题在 Firefox 23 中也显而易见,虽然在 Firefox 中 "无效区域" 在按钮内的位置不同。