したがって、CSSを使用してボタンに3Dエフェクトを追加しようとしています。私はそれに下の境界線を与え、ホバー上/クリックすると、私は境界線のサイズを変更し、相対位置を使用して同じ量を押し下げます。クリックイベントでCSSを使用するボタンエフェクト
これはうまくいきますが、ボタンの上端付近をクリックすると、クリックイベントが発生しません。おそらく、ボタンがポインタの途中で移動したためです。
Clickイベントに干渉することなく、この効果を達成する別の方法(追加のマークアップではなく純粋な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