要するに、ボトムの境界が暗いボタンがあります。ホバーでは、ボタンを少し下に移動して(ボタンを押したままにする)ボーダーを縮小します。複数の変更中にCSSのトランジションがちらつく
しかし、アニメーションのようにわずかにジッタがあり、ボタン「押さ」の感触を完全に消滅させます。
.btn {
color: grey;
background: lightgrey;
border: 0 rgba(0, 0, 0, .1) solid;
border-bottom-width: 4px;
font-family: sans-serif;
padding: 10px;
position: relative;
text-decoration: none;
top: 0;
transition: all 250ms;
}
.btn:hover {
top: 2px;
border-bottom-width: 2px;
}
私は簡単のためにここに-webkit
のような接頭辞を使用していない。ここで
は、問題のCSSとともに、問題を実証Fiddleです。
主な問題はボトムボーダーです。ボタンは下に滑り落ちますが、境界線は違ったことをしているように見えます(滑らかではありません)。
ここに任意のアイデアはありますか?
あなたが 'opacity'を使用することが推奨されており、パフォーマンスを最適化するための 'transform'プロパティ – sdvnksv
私はSafariでジッターは見ませんが、私はFireFox、Opera、Google Chromeで見ています。起こっているのは、ボタン(上)が1ピクセル下がったことです。ボーダーの幅が1ピクセル下がり、ボタンがもう一度下に移動し、ボーダーが再び下に移動します。私は別のアプローチを試みます。ボックスの影を追加して、ボックスの影だけを変えることもできます。また、2つのボタンを位置とz-インデックスで重ねて配置し、最も高いz-インデックスでボタンを下に移動することもできます。このように、トランジションは1つのトランジションだけを処理します。 – Kobbe
これをボックスシャドーで試すことができます(https://jsfiddle.net/vishal_vash/2w3v8rcc/) – Vishal