あるwebサイトでマウスオーバーすると押した感じが出るボタンを作成しました。
margin-top/margin-bottom/box-shadowの3つのプロパティを操作して凹ませています。
その際、transitonで少しアニメーションを加えて滑らかに凹むようにしました。
以下が対象のボタンのSCSSになります。
SCSS
1a { 2 display: inline-block; 3 width: 100%; 4 letter-spacing: 0.5px; 5 color: #fff; 6 word-break: break-all; 7 word-wrap: break-word; 8 text-align: center; 9 vertical-align: middle; 10 line-height: 2.5; 11 background-color: rgb(4,187,129); 12 box-shadow: 0 4px 0 rgba(1,130,89,0.9); 13 border-radius: 4px; 14 margin-top: 0; 15 margin-bottom: 4px; 16 -webkit-box-sizing: border-box; 17 box-sizing: border-box; 18 -webkit-backface-visibility:hidden; 19 backface-visibility:hidden; 20 transition-property:background-color,box-shadow,margin; 21 transition-duration:0.1s; 22 -webkit-transition-duration:0.1s; 23 transition-timing-function: linear; 24 -webkit-transition-timing-function: linear; 25 -webkit-backface-visibility:hidden; 26 backface-visibility:hidden; 27 &:hover { 28 margin-top:2px; 29 margin-bottom: 2px; 30 box-shadow: 0 2px 0 rgba(1,130,89,0.9); 31 } 32 &:active { 33 margin-top: 4px; 34 margin-bottom: 0px; 35 box-shadow: none; 36 }
このボタンをSafari(必ず再現する)やChrome(再現するボタンと再現しないボタンあり)上でマウスオーバーすると、ボタンから見て画面下の位置にある並列&子要素もアニメーションするような感じで一時的に動いてしまいます。
いろいろ調べてbackface-visibility以外の解決策が見つからず、これだと解決していません。
もしどなたかこのような事象に心当たりがある方がいれば原因や解決策を教えていただけると幸いです。
回答1件
あなたの回答
tips
プレビュー