html&cssを勉強中の初心者です。
簡潔に、やりたいことは以下の2点です。
1.マウスオーバーした時に画像を変える
2.同じくマウスオーバーした時に画像の上に配置している文字の色も変える
現状、1と2どちらもそれぞれ単独では出来ているのですが、画像にマウスを置いた時点で文字の色も変える方法が分かりません。(文字のところまで持っていかないと変わらない)
なお、文字はabsoluteを使って配置していて、画像と一体化されていません。
【html】
<div class="relative1">
<a href="test.html">
<img src="img/button_search_blue.png" width="230" height="60" alt="検索">
<p class="absolute1">検索</p>
<p class="absolute2">search</p></a>
</div>
【css】
.relative1{/*検索ボタンの画像*/
position:relative;
width:230px;
float:left;
margin-top:5px;
margin-left:10px;
background:url("img/button_search_yellow.png")no-repeat;
}
.relative1 a:hover{
background-color:transparent;
}
.relative1 a:hover img{/*検索ボタンのマウスオーバー時_青の画像を隠す*/
visibility:hidden;
}
.absolute1{/*検索ボタンの「検索」フォント設定*/
position:absolute;
bottom:10px;
left:60px;
color:black;
font-size:20px;
width:230px;
}
.absolute1:hover{/*検索ボタンの「検索」マウスオーバー時*/
color:red;
}
.absolute2{/*検索ボタンの「search」フォント設定*/
position:absolute;
bottom:-5px;
left:80px;
color:white;
width:230px;
}
.absolute2:hover{/*検索ボタンの「search」マウスオーバー時*/
color:red;
}
No.1ベストアンサー
- 回答日時:
基本から説明します。
ご存知のようにHTML(必ず大文字)は、文書構造だけを記述し、プレゼンテーションはCSSなどのスタイルシートで行います。基本ですから・・構造とプレゼンテーションの分離( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )
HTMLは
<p><a href="test.htm><img src="img/button_search_blue.png" width="230" height="60" alt="検索"></a></p>
と言うことでしょ。
でも、検索の画像はそのページのコンテンツではないので
<p class="search"><a href="test.htm>検索</a></p>
のほうがベストです。段落に目印あるほうが良いので、classをつけてます。
★HTMLには、文書構造しか書かれていないため、改定も容易ですしデザインは自由に変更できる。スタイルシートもわかりやすい。
★継承や詳細度というカスケーディングはきちんと理解しておきましょう。
★floatされた時点で、staticでないのでposition:rerative;は要らない。
p.search{
_width:230px;height:60px;
_float:left;
_margin:5px 0 0 10px;
_line-height:60px;
_text-align:center;
_font-weight:bold;
_font-size:30px;
}
p.search a{
_display:block;
_width:100%;height:100%;
_background:url(img/button_search_blue.png);
_color:blue;
_text-decoration:none;
}
p.search a:hover{
_background:url(img/button_search_yellow.png);
_color:green;
}
p.search a:active{
_color:red;
}
★下記サイトを参考に。文書構造しかないのでデザインは自由になる
ナビゲーションリストを様々にデザインしてみよう。( http://www.ichiya.com/WebService/Howto/sample/HT … )
ご丁寧にありがとうございます!色々試してみて
a:hover .absolute1{
color:red;
}
で出来ました。ORUKA1951さんの回答も参考にさせて頂きます。
No.2
- 回答日時:
補足です。
divは、意味のないブロックでHTML4.01では、「class,idを併用して文書構造を示す」( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )目的で使われていました。しかし、それでは「relative1」のように、全く意味のない使われ方がされてきた反省から、HTML5ではdivは原則使わないことになり、代わりに文書構造を示す要素が追加されました。
4.4 Grouping content — HTML5( https://www.w3.org/TR/2014/REC-html5-20141028/gr … )
のNOTE
ここは、単に段落ですから<p></p>でよいということ。それでは誰もわからないので、classでsearchをclassとして付けた。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS img と p を縦中央に配置したいのですがうまくいきません。 2 2023/01/12 14:38
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS 吹き出し 下記の吹き出しのスタイルシートについて 下記のスタイルシートは左側にアイコンがでる使用にな 1 2022/11/12 17:55
- HTML・CSS cssの display: flex;で横並びにならずに困ってます 1 2022/12/04 13:18
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの文字が縦書きになる
-
css初心者 フレックスボックス...
-
widthやheightの数値に単位(px...
-
画像と一緒にスライドするリン...
-
CSS:animation開始位置の設定
-
テキストボックスの高さを可変...
-
インラインフレーム内の表示位...
-
Media Queries 4 で 非推奨とな...
-
CSSのposition値の上書き(打消...
-
<div>と<div>の間の10px程の...
-
【HTML&CSS】フッター下部の余...
-
footer を横幅いっぱいに広げる...
-
余分な縦スクロールバーが出て...
-
4枚の画像を均等間隔で一列に...
-
W3Cのソースコードの検証サービ...
-
CSSがなぜかfont-sizeだけ効か...
-
ddの内容が多い時のdtの背景を...
-
CSSで背景色を下まで表示させたい
-
ライトボックスでスクロールバー
-
【HTML】【CSS】【Swiper】 元...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlの文字が縦書きになる
-
widthやheightの数値に単位(px...
-
css初心者 フレックスボックス...
-
form input テキストを上下中央...
-
<div>と<div>の間の10px程の...
-
CSSがなぜかfont-sizeだけ効か...
-
divで囲まれたpaddingの指定を...
-
表示倍率を変えるとレイアウト...
-
画像イメージの上下左右、欲し...
-
CSS、width100%でもできる余白
-
cssで中央寄せ
-
CSS:animation開始位置の設定
-
スクロールボックスを中央に配...
-
CSSで背景画像を一番下にもって...
-
【CSS】ヘッダーの高さが不明の...
-
初心者html・CSS ウィンドウを...
-
footer を横幅いっぱいに広げる...
-
CSSで指定した背景画像にリンク...
-
div領域をウインドウサイズに合...
-
W3Cのソースコードの検証サービ...
おすすめ情報