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

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

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

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

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

Q&A

解決済

3回答

42552閲覧

CSSでhoverが効かないのですがどうしたらいいでしょうか

AnnaSenzaki

総合スコア8

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

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

0グッド

0クリップ

投稿2018/04/28 11:49

前提・実現したいこと

hoverした際にアニメーションがつくようにしたいです。

発生している問題・エラーメッセージ

Chromeで実行すると、もはやhoverすらしないです。(マウスアイコンに変化がない)
aタグで記述しており、数時間前まではhoverしていたのですが、他のコードを修正しているうちに
いつの間にか消えていました・・・
他のスタイルは適用されているのですが・・・

該当のソースコード

HTML

1<nav> 2 <ul> 3 <li> 4 <a href=""> 5 TOP 6 <span>トップページ</span> 7 </a> 8 </li> 9 <li> 10 <a href=""> 11 SERVICE 12 <span>事業内容</span> 13 </a> 14 </li> 15 <li> 16 <a href=""> 17 ABOUT US 18 <span>会社案内</span> 19 </a> 20 </li> 21 <li> 22 <a href=""> 23 WORKS 24 <span>事例紹介</span> 25 </a> 26 </li> 27 <li> 28 <a class="btn" href=""> 29 お問い合わせ 30 </a> 31 </li> 32 </ul> 33 </nav>

CSS

1nav ul { 2 display: flex; 3 flex-flow: row; 4 justify-content:space-between; 5 width: 100%; 6} 7 8nav li a { 9 padding: 10px 15px; 10 text-decoration: none; 11 color: #ffffff; 12 letter-spacing: 1px; 13 position: relative; 14 display: inline-block; 15} 16 17nav li a:hover::after { 18 transform: scale(1, 1); 19} 20 21nav li a::after { 22 position: absolute; 23 bottom: 0; 24 left: 0; 25 content: ''; 26 width: 100%; 27 height: 2px; 28 background: #9c501f; 29 transform: scale(0, 1); 30 transform-origin: left top; 31 transition: transform .3s; 32 display: block; 33} 34 35 36 37nav li a span { 38 display: block; 39 text-align: center; 40 font-size: 60%; 41 padding-top: 10px; 42} 43 44.btn { 45 display: block; 46 width: 160px; 47 height: 30px; 48 outline: none; 49 background-color: transparent; 50 border: 2px solid #fff; 51 line-height: 30px; 52 text-align: center; 53 color: #fff; 54 text-decoration: none; 55 transition: .4s; 56} 57.btn:hover { 58 background-color: rgba(255, 255, 255, .2); 59}

補足情報

サブライムテキストで記述していますが、CSSの他の部分には行の表示の部分に
まとまりを示す▼が出てくるのにhoverの部分だけ出てきません。

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

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

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

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

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

guest

回答3

0

自己解決

こちらの質問ですが、要素の検証をしてみたところ、hover自体は効いていて、背景のz-indexを-4に設定していたことでhoverが隠れてしまっていた?ことが原因のようでした・・・。皆さまありがとうございました。

投稿2018/04/29 02:31

AnnaSenzaki

総合スコア8

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

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

0

サブライムテキストで記述していますが、CSSの他の部分には行の表示の部分に

まとまりを示す▼が出てくるのにhoverの部分だけ出てきません。

CSSの記述に問題があるのではないでしょうか。
気付きづらいのは以下のようなものですかね・・確認してみてください。

・全角の空白が含まれている
・セミコロン「;」やコロン「:」の打ちミス

解決しなければ、そんなに行数無いので一度記述し直してみるとよいかもしれません。

投稿2018/04/28 12:43

編集2018/04/28 12:45
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

AnnaSenzaki

2018/04/28 13:14

ご回答ありがとうございます!記述し直してみたんですがやはり効かないみたいです。ナビゲーション以外の部分にも(普通にpタグのところとか)hoverを適用させようとしてみたのですが、効かなかったです・・・。
退会済みユーザー

退会済みユーザー

2018/04/28 13:21

AnnaSenzakiさんが記述されたコードをそのままコピーして確認すると、hoverで要素下部に左からアニメーションで線が描画されます。これ以外に記述があるのであれば、この部分以外を消していき、どの時点でうまく動くか確認するとよいと思います。また、ほかのコメントにもあるようにキャッシュを削除してみると改善することがあります。
AnnaSenzaki

2018/04/29 02:30

こちらの質問ですが、要素の検証をしてみたところ、hover自体は効いていて、背景のz-indexを-4に設定していたことでhoverが隠れてしまっていた?ことが原因のようでした・・・。皆さまありがとうございました。
guest

0

文字色が白になっているのでhoverになっているかわからないだけなような気がしますがどうでしょうか。

html

1nav li a { 2 padding: 10px 15px; 3 text-decoration: none; 4 color: #ffffff; 5 letter-spacing: 1px; 6 position: relative; 7 display: inline-block; 8} 9

のcolor: #ffffff;
を消したら、特に問題なさそうに見えます。

----- 以下追記

html

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <title>JSオブジェクト</title> 6 <style> 7nav ul { 8 display: flex; 9 flex-flow: row; 10 justify-content:space-between; 11 width: 100%; 12} 13 14nav li a { 15 padding: 10px 15px; 16 text-decoration: none; 17/* color: #ffffff;*/ 18 letter-spacing: 1px; 19 position: relative; 20 display: inline-block; 21} 22 23nav li a:hover::after { 24 transform: scale(1, 1); 25} 26 27nav li a::after { 28 position: absolute; 29 bottom: 0; 30 left: 0; 31 content: ''; 32 width: 100%; 33 height: 2px; 34 background: #9c501f; 35 transform: scale(0, 1); 36 transform-origin: left top; 37 transition: transform .3s; 38 display: block; 39} 40 41 42 43nav li a span { 44 display: block; 45 text-align: center; 46 font-size: 60%; 47 padding-top: 10px; 48} 49 50.btn { 51 display: block; 52 width: 160px; 53 height: 30px; 54 outline: none; 55 background-color: transparent; 56 border: 2px solid #fff; 57 line-height: 30px; 58 text-align: center; 59 color: #fff; 60 text-decoration: none; 61 transition: .4s; 62} 63.btn:hover { 64 background-color: rgba(255, 255, 255, .2); 65} 66 67 </style> 68</head> 69<body> 70<nav> 71 <ul> 72 <li> 73 <a href=""> 74 TOP 75 <span>トップページ</span> 76 </a> 77 </li> 78 <li> 79 <a href=""> 80 SERVICE 81 <span>事業内容</span> 82 </a> 83 </li> 84 <li> 85 <a href=""> 86 ABOUT US 87 <span>会社案内</span> 88 </a> 89 </li> 90 <li> 91 <a href=""> 92 WORKS 93 <span>事例紹介</span> 94 </a> 95 </li> 96 <li> 97 <a class="btn" href=""> 98 お問い合わせ 99 </a> 100 </li> 101 </ul> 102</nav> 103</html>

投稿2018/04/28 12:19

編集2018/04/28 12:28
webarata3

総合スコア367

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

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

AnnaSenzaki

2018/04/28 12:24

ご回答ありがとうございます。hoverした際に、下線が引かれるアニメーションをつけているのですが、それが実行されないです・・・。あと、hoverするとマウスアイコンが矢印から手のアイコンに変わると思うのですが、それもないのでそもそもリンクとして認識されていないのでしょうか・・・?
webarata3

2018/04/28 12:27

うーん。私の環境だと問題なくアンカーのアニメーションが表示されるんですよね。 回答に、私の環境で動いたものを記載しますね。
AnnaSenzaki

2018/04/28 12:33

そうなんですか!?ではここに載せている以外のhtmlかcssの構造に問題があるのでしょうか・・・?? 私の環境だと、ChromeでみてもSafariでみてもhoverにならないです。
AnnaSenzaki

2018/04/29 02:30

こちらの質問ですが、要素の検証をしてみたところ、hover自体は効いていて、背景のz-indexを-4に設定していたことでhoverが隠れてしまっていた?ことが原因のようでした・・・。皆さまありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問