
こんにちは。ページのメニューバーを<li>で作成していますが、
リンクがある<li>と、ない<li>で背景画像を変えたいのですが、<a:hover>の際の画像も別にしようと、背景画像を<a>で指定しまったため、どうしようかな、と行き詰りました。
・【横並び】
・【リンクあるなし別のボタン背景画像】
・【hover時も背景画像チェンジ】
の3点をかなえるには、どのような記述がすっきりするでしょうか。ご意見。ご指摘・叱咤、お聞かせくださいませ。
ちなみに、作っておいて、へばった記述例が、以下です。
例)横並びのメニューボタン(メニュー1、2、3)
・メニュー1(閲覧しているページへのリンクボタンなので、リンクなし)→背景A[../images/A.gif]、
・メニュー2(他ページへのリンクボタン)→背景B[../images/B.gif]、hover時は背景C[../images/C.gif]
・メニュー3(メニュー2と同様)
-----------------
ul#menu{
font-size: 12px;
list-style-type:none;
width:800;
}
ul#menu::after {
visibility: hidden;
clear: both;
}
ul#menu li{
float: left;
width: 120px;
list-style-type: none;
display: inline;
}
ul#menu a{
color: #333;
text-decoration: none;
display: block;
background-image: url(../images/B.gif);
background-repeat: no-repeat;
}
ul#menu a:hover{
color: purple;
text-decoration: underline;
display: block;
background-image: url(../images/C.gif);
background-repeat: no-repeat;
}
-------------------
No.2ベストアンサー
- 回答日時:
勉強する気はあるということで、以下実験してください。
<html><head>
<style type="text/css">
<!--
/*この下で実験してね*/
-->
</style>
</head><body><ul>
<li>123
<a href="*">4</a>
<a href="*">5</a>
<a href="*">6</a>
<a href="*">7</a></li>
<li>いろは<a href="*">に</a>
<a href="*">ほ</a>
<a href="*">へ</a>
<a href="*">と</a>
</li>
<li>
あいう<a href="*">え</a></li>
<li>ABC<a href="*">d</a>
<a href=*">E</a>
<a href="*">F</a>
<a href="*">G</a></li>
<li>ねたぎれ<a href="*">おしまい</a>
</li>
</ul>
</html>
何の指定もしていないLIです。
表示させて下さい。
これを横に並べるには、別ファイルか、ヘッダに
li{float:left;}を指定します。
実験してください。
消してください。
li{display:inline;}でも、今は見た目は同じです。
実験してください。
消してください。
わかりにくいので罫線をつけてみます
li{border:red 1px solid;}
実験してください。
消してください。
罫線をつけて、横に並べましょう
li{
display:inline;
border:red 1px solid;
}
リンク文字も扱いたいのでしたね
a:link{
display:block;
border:blue 1px solid;
}
を追加してください
ね、別々に制御できるでしょ?広すぎる?
じゃあ、幅を指定しましょう。
width:100px;
追加してください
どっちにたしたのかな?結果が違うはずです。
あ、この段階でinlineとfloatの表示に違いが出るはずです。
さっき
a:link{
としていたのを
a{
に変えてください
それがリンクしているのと、指定していないのの違いです。
別に特別分ける必要はありません。
cssだと
a{
a:link{
以上ヒントでした。
hoverもしたいって?
a:hover{backgrond:#ff2;}
を追加。
どっかのつまみ食いをして回るより、基本から学んでください。これは、CSSの基本中の基本です。元のhtmlがしっかりしていたら、cssで見た目なんてかなり変えられます。html部分がだめだと、どうしようもありません。最初はできるだけシンプルにして下さい。idやclassを出来るだけ削って記載する練習をして下さい。
うふふ。ご丁寧な回答をありがとうございます!日々基礎修練ですね。つまみ食いがばれてしまいましたね。つい、基本を学ぶより、実際に使ってみて中身を知る、でつきすすんでしまいました。
今回は、多量のボタン(背景+文字の画像)をテーブル組みで配置していくのをやめ、文字は文字で、背景の3パターンの画像だけですまそうと、手を出した次第。
ただいま、li{display:inline;}は、縦並び?で、悶絶している途中ですが、そこを飛ばして、別々に制御できることは理解しました。ので、問題は解決の道が見えてきました。ありがとうございます。ご指導賜りましたこと、感謝いたします。また、非常に分かりやすい記述にしていただき、そちらもうれしく拝見させていただきました。
No.1
- 回答日時:
こんにちは
表示部がない為どのようなのが理想なのか分からないですけど
とりあえず・・・
≪ボタンをイメージ画像化してjavascriptを使って画像変更≫
<input type="image" src="./sample0.gif" alt="リンク無">
<a href="./test0.html"><input type="image" src="./sample1.gif" alt="リンク1" onMouseover="this.src='sample2.gif'" onMouseout="this.src='sample1.gif'"><a>
<a href="./test1.html"><input type="image" src="./sample1.gif" alt="リンク2" onMouseover="this.src='sample2.gif'" onMouseout="this.src='sample1.gif'"><a>
≪tablleを使って≫
<style type="text/css">
<!--
.b0 {
width:120px;
text-align:center;
background-image: url("sample0.gif");
background-repeat: no-repeat;
background-position: top center;
}
.b1 {
width:120px;
text-align:center;
background-image: url("sample1.gif");
background-repeat: no-repeat;
background-position: top center;
text-decoration: none;
}
.b1:hover {
text-align:center;
background-image: url("sample2.gif");
background-repeat: no-repeat;
background-position: top center;
text-decoration: underline;
}
//-->
</style>
<table border="0">
<tr>
<td class="b0">リンク無</td>
<td><a href="test0.html" class="b1">リンク1</a></td>
<td><a href="test1.html" class="b1">リンク2</a></td>
</tr></table>
お返事ありがとうございます。最終目的から手法を探せば、様々な表現手法があるものですね。懇切丁寧に考えていただき、なおかつ、シンプルで「まさにこれ!」な回答に感謝しております。
私が行き詰った経由は、「まずはこうして」、「そこにこれを付け加えて」、「それにこれを反映するには?」と、行き当たりばったりな作成を手探りでしていたからです。
反省して、霧が晴れたような回答を参考にさせていただきたいと思います。そもそも、テーブル組みなしでボタンを配置させようとしたところに、越えられない壁があったように思います。壁を越えるには、まず基礎の勉強をしてから、ですね。
leap_day さんのように、引き出しが多くあると、目的から周りを見た際に選択肢がぽんぽんと浮かぶのでしょうね。回答以上に、もう反省の教えとして、ありがたく回答を拝んでおります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- HTML・CSS HTML & CSS 縦ボックス内の文字の左右センタリング 3 2023/03/25 04:23
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- HTML・CSS CSSでサイトの背景に画像を組み込みたいのですが反映されません 2 2022/11/22 16:21
- HTML・CSS cssの display: flex;で横並びにならずに困ってます 1 2022/12/04 13:18
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
liタグの中に<p>タグやら<dl>を...
-
レスポンシブWebデザインでリン...
-
複数行にまたがる括弧を表示し...
-
cssのaリンクで、幅(width=)が...
-
リストマーカーをボックス内に...
-
ulタグやliタグの中でbrタグ...
-
画像にリンクを張ると画像がず...
-
DreamWeaver MX 2004でCSSの設...
-
html <ul></ul>の並びで一行空...
-
<li>の中の<h>だから!ルール違...
-
箇条書きがずれて表示されてし...
-
HTMLで組織図を作成する方法
-
<table>の高さ固定。情報増加時...
-
<li>で改行する横並びのメニュー
-
htmlの<ol>タグで、数字などを...
-
CSS:liで作成したメニュー...
-
<ul><li></li></ul>にするメリ...
-
html/cssの、navを2段にする...
-
リストの回り込みについて(マ...
-
(HP作成)メニューバーのプル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
liタグの中に<p>タグやら<dl>を...
-
リストマーカーをボックス内に...
-
ulタグやliタグの中でbrタグ...
-
html/cssの、navを2段にする...
-
htmlの<ol>タグで、数字などを...
-
リストの数字のフォントサイズ...
-
divタグ内のコンテンツが重なっ...
-
レスポンシブWebデザインでリン...
-
<ul><li></li></ul>にするメリ...
-
HTMLで組織図を作成する方法
-
html <ul></ul>の並びで一行空...
-
ulとliで囲った文字の一部を変...
-
画像にリンクを張ると画像がず...
-
番号付きリスト(<Ol><Li>・・...
-
list-style-type部分だけ大きく...
-
html <li>の中の文字一部に色を...
-
複数行にまたがる括弧を表示し...
-
<ul>~</ul>が二つ続くと間に改...
-
ページを開いているときのリン...
-
<table>の高さ固定。情報増加時...
おすすめ情報