- ベストアンサー
aタグをマウスオーバーで背景色を変える方法
- HTML5を使用してaタグで要素を囲む方法について質問があります。aタグで囲っている部分をマウスオーバーした際に背景色を変えるためにCSSを設定していますが、うまくいきません。自分の理解不足で何か間違っているのか、教えていただければと思います。
- aタグで囲まれた要素にマウスオーバーした時に背景色が変わらない問題があります。HTML5を使ってお知らせ部分を作成し、CSSで背景色の変更を設定しましたが、うまく反映されません。どのようにすれば背景色を変えることができるのか、わかる方がいれば教えてください。
- aタグをマウスオーバーした時にa要素の背景色を変える方法についての質問です。HTML5で作成したお知らせ部分にaタグを使用し、aタグで囲まれた要素にマウスオーバーした時に背景色を変えたいのですが、うまくいきません。どのような設定が必要なのか、教えていただけると助かります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>HTML5だとaタグで要素全体を囲えるとのことなので、 つまみ喰いはダメです。括れますが・・・<dl>要素には<dt><dd>要素以外は含むことが出来ません。 <dl> <dt><a href="">日付</a><dt> <dd><a href="">メッセージ</a></dd> <dt><a href="">日付</a><dt> <dd><a href="">メッセージ</a>/dd> <dt><a href="">日付</a><dt> <dd>メッセージ</dd> </dl> と書かなければなりません。 無難なのは <ul> <li> <dl> <dt><a href="">日付</a></dt> <dd><a href="">記事</a></dd> </dl> </li> <li> <dl> <dt><a href="">日付</a></dt> <dd><a href="">記事</a></dd> </dl> </li> にてli:hover{}でしょうね。
その他の回答 (2)
- DrFell
- ベストアンサー率55% (305/551)
aはインライン要素なのでブロックレベル要素であるdlやdt、ddを子要素に持つことができません。(html4までhtm5はブロックレベル・インラインが無くなります) マウスオーバーだけなら、a要素で囲む必要は古ーい間違ったブラウザを意識しなければ必要ありません。 <dl> <dt>日付</dt> <dd>テキストテキスト</dd> </dl> にたいして、1行ずつなら dl *:hover{background:#FF9900;} 全体になら dl:hover{background:#FF9900;} とすれば、OKです
お礼
ご回答ありがとうございました。 残念ながら自分が思うような状態には持って行けませんでしたが、 参考になりました。 重ね重ねありがとうございました。
- Ogre7077
- ベストアンサー率65% (170/258)
dl 要素の中は、dt/dd 要素しか使えません。なので不正な a 要素が自動的に排除されたようです。 そもそも a 要素はインライン型なので、要件を満たせません。 ブロックへの背景色ならば、以下の様に組んではいかがでしょか。 インライン要素の下にブロック要素を置き、ブロック要素に対してスタイルを指定しています。 <style> a:hover section { background: #FF9900; } </style> <a href="#"><section> <h6>日付</h6> <p>てきすと </section></a>
お礼
ご回答ありがとうございました。 残念ながら自分が思うような状態には持って行けませんでしたが、 参考になりました。 重ね重ねありがとうございました。
お礼
ご回答ありがとうございました。 その回答をもとにして思うような形にもっていくことができました。 仰るとおり、つまみぐいはだめですね。 きちんと基本を学ばないと…