質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

hover

これは、HTMLの 擬似クラス[hover]に関するタグです。Hoverは与えられた要素へマウスカーソルを置くことを意味します。また、タッチ可能なデバイスでユーザーが要素へタッチすることをHoverと呼ぶ場合もあります。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

3593閲覧

ボタンのホバーアニメーションでカーソルが乗るとパタパタする

snof

総合スコア17

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

hover

これは、HTMLの 擬似クラス[hover]に関するタグです。Hoverは与えられた要素へマウスカーソルを置くことを意味します。また、タッチ可能なデバイスでユーザーが要素へタッチすることをHoverと呼ぶ場合もあります。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2018/04/01 04:34

編集2018/04/02 09:27

https://sirinova.com/nova-button.html

イメージ説明

Chromeでボタンの上部にカーソルを乗せるとアニメーション→アニメーションのキャンセルでカーソルが点滅します。CSSのみでこの問題を解決する方法はありますか?

.btn01 a, .btn02 a, .btn03 a, .btn04 a, .btn05 a, .btn06 a, .btn07 a { display: inline-block; font-size: 1.6rem; font-weight: bold; line-height: 1.5; text-align: center; max-width: 90%; padding: .8em 1.6em; transition: .3s ease-in-out; color: #fff; background-color: #5bbff7; } .btn02 a { opacity: inherit; box-shadow: 0 4px 0 #4999c6; } .btn02 a:hover { transform: translateY(3px); background-color: #4999c6; box-shadow: 0 1px 0 #4999c6; }

追記、以下の方法でパタパタは収まりましたが、ホバーがボタンの外側まで反応してしまいます。

.btn02:hover a{ transform: translateY(3px); background-color: #4999c6; box-shadow: 0 1px 0 #4999c6; }

イメージ説明

追記2「デザイン2(立体ボタン)」はposition: relative;を追加したらパタパタが無くなりました。理由は分かりません。デザイン1(フラットボタン)の方はまだパタパタしてしまいます。

.btn02 a { opacity: inherit; box-shadow: 0 4px 0 #4999c6;/* 追加 */ position: relative; }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

:hoverの検知主体を”動く”a要素から、”動かない”btn02クラスに変更すればよいでしょう.

CSS

1.btn02 a:hover { 2 transform: translateY(3px); 3 background-color: #4999c6; 4 box-shadow: 0 1px 0 #4999c6; 5}

CSS

1.btn02:hover a{ 2 transform: translateY(3px); 3 background-color: #4999c6; 4 box-shadow: 0 1px 0 #4999c6; 5}

投稿2018/04/01 04:41

defghi1977

総合スコア4756

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

snof

2018/04/02 09:21

ありがとうございます。パタパタは収まったのですが、ボタンの幅を超えてホバーされてしまいました。gifを追加しましたのでご覧いだだけたらと思います。
defghi1977

2018/04/02 09:26

> パタパタは収まったのですが、ボタンの幅を超えてホバーされてしまいました。 原理的に、ホバーを検知しているノードとアニメーション対象の(要はホバーの検知範囲が変化する)ノードとを一緒にしている限りこの問題は解決できません. 従って, - 甘んじてパタパタするのを受け入れる - ホバー範囲をアニメーション対象のノードから切り離す、つまり多少のホバー範囲のずれを受け入れる のいずれかを選択するしかありません
snof

2018/04/03 00:40

回答ありがとうございます。よく考えると気づく人は殆どいないと思うのでこのままでいこうと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問