• 締切済み

横並びのメニュータブについて

横並びタブナビゲーションのテキストを画像の後ろに含める方法で試行錯誤しております。 下記のCSS記述ではie8及びFirefoxはテキストが隠れ動作確認も問題ないのですが、ie6dではテキストが隠れず画像の下に表示されてしまいます。 どこを訂正または記述追加すればよいか困っております。 ぜひ、ご教授いただければ幸いです。 CSS /* ---------------- .navi .naviin ---------------- */ .navi { background:#063686 url("/test/menu_bg.png") repeat-x top; border-bottom:1px solid #8fa5ca; } .navi .naviin{ width:990px; clear: both; margin: 0 auto; } .navi .naviin ul.tab{ height:30px; } .navi .naviin ul.tab li{ float:left; } .navi .naviin ul.tab li a.tab_01{ width:163px; height:0; overflow:hidden; display:block; padding-top:30px; margin-right:2px; background:url(/test/navi01_n.png) no-repeat left top; } .navi .naviin ul.tab li a.tab_02{ width:163px; height:0; overflow:hidden; display:block; padding-top:30px; margin-right:2px; background:url(/test/navi01_n.png) no-repeat left top; } .navi .naviin ul.tab li a.tab_03{ width:163px; height:0; overflow:hidden; display:block; padding-top:30px; margin-right:2px; background:url(/test/navi01_n.png) no-repeat left top; } .navi .naviin ul.tab li a.tab_04{ width:163px; height:0; overflow:hidden; display:block; padding-top:30px; margin-right:2px; background:url(/test/navi01_n.png) no-repeat left top; } .navi .naviin ul.tab li a.tab_05{ width:163px; height:0; overflow:hidden; display:block; padding-top:30px; margin-right:2px; background:url(/test/navi01_n.png) no-repeat left top; } .navi .naviin ul.tab li a.tab_06{ width:165px; height:0; overflow:hidden; display:block; padding-top:30px; background:url(/test/navi06_n.png) no-repeat left top; } /* ---------------- a.の設定 ---------------- */ .navi .naviin ul.tab li.on a.tab_01{ background:url(/test/navi01_o.png) no-repeat left top; } .navi .naviin ul.tab li.on a.tab_02{ background:url(/test/navi01_o.png) no-repeat left top; } .navi .naviin ul.tab li.on a.tab_03{ background:url(/test/navi01_o.png) no-repeat left top; } .navi .naviin ul.tab li.on a.tab_04{ background:url(/test/navi01_o.png) no-repeat left top; } .navi .naviin ul.tab li.on a.tab_05{ background:url(/test/navi01_o.png) no-repeat left top; } .navi .naviin ul.tab li.on a.tab_06{ background:url(/test/navi06_o.png) no-repeat left top; } /* ---------------- hoverの設定 ---------------- */ .navi .naviin ul.tab li a:hover.tab_01{ background:url(/test/navi01_o.png) no-repeat left top; } .navi .naviin ul.tab li a:hover.tab_02{ background:url(/test/navi01_o.png) no-repeat left top; } .navi .naviin ul.tab li a:hover.tab_03{ background:url(/test/navi01_o.png) no-repeat left top; } .navi .naviin ul.tab li a:hover.tab_04{ background:url(/test/navi01_o.png) no-repeat left top; } .navi .naviin ul.tab li a:hover.tab_05{ background:url(/test/navi01_o.png) no-repeat left top; } .navi .naviin ul.tab li a:hover.tab_06{ background:url(/test/navi06_o.png) no-repeat left top; } /* ---------------- submenu ---------------- */ .navi .naviin ul.submenu{ padding:6px 0 6px 0; } .navi .naviin ul.submenu li{ float:left; padding:0 7px 0 10px; background:url(/test/sub_line.png) no-repeat left center; white-space:nowrap; } .navi .naviin ul.submenu li a{ padding:0 0 0 12px; color:#ffffff; background:url(/test/triangle.png) no-repeat left center; } .navi .naviin ul.submenu li.firstList{ background:none; padding:0 7px 0 5px; } HTML <div> <div class="navi"> <div class="naviin"> <ul class="tab"> <li class="on"><a class="tab_01" href="">タブ01</a></li> <li><a class="tab_02" href="">タブ02</a></li> <li><a class="tab_03" href="">タブ03</a></li> <li><a class="tab_04" href="">タブ04</a></li> <li><a class="tab_05" href="">タブ05</a></li> <li><a class="tab_05" href="">タブ06</a></li> </ul> <ul class="submenu clearfix"> <li class="firstList"><a href="">サブ01</a></li> <li><a href="">サブ02</a></li> <li><a href="">サブ03</a></li> <li><a href="">サブ04</a></li> <li><a href="">サブ05</a></li> </ul> </div> </div> </div>

この投稿のマルチメディアは削除されているためご覧いただけません。
noname#145208
noname#145208
  • HTML
  • 回答数2
  • ありがとう数1

みんなの回答

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

まずHTMLから書き直します。HTMLは文書構造をマークアップするものですから、きちんとマークアップが出来ていれば、スタイルシートも簡単になります。  ソースから判断すると、カレントのページのみサブメニューを表示することを考えているのだろうと思いますが、その場合でも各HTMLのごく一部だけ書き換えて済むようにしたいのでしたら、下記の様なHTMLで良いでしょう。  liにcurrentのようなclass名をつけておくとスタイルシートは楽です。  このようにHTMLができているとスタイルシートは十数行~数十行もあれば書けるはずです。 _<div class="nav"> __<ul> ___<li class="left0"><a href="">タブ01</a> ____<ul> _____<li><a href="">サブ01</a></li> _____<li><a href="">サブ02</a></li> _____<li><a href="">サブ03</a></li> _____<li><a href="">サブ04</a></li> _____<li><a href="">サブ05</a></li> ____</ul> ___</li> ___<li class="current left1"><a href="">タブ02</a> ____<ul> _____<li><a href="">サブ01</a></li> _____<li><a href="">サブ02</a></li> _____<li><a href="">サブ03</a></li> ____</ul> ___</li> ___<li><a href="">タブ03</a> ____<ul> _____<li><a href="">サブ01</a></li> _____<li><a href="">サブ02</a></li> ____</ul> ___</li> ___<li left="3"><a href="">タブ04</a> ____<ul> _____<li><a href="">サブ01</a></li> _____<li><a href="">サブ02</a></li> _____<li><a href="">サブ03</a></li> _____<li><a href="">サブ04</a></li> ____</ul> ___</li> ___<li><a href="">タブ05</a></li> ___<li><a href="">タブ06</a></li> __</ul> _</div>

noname#145208
質問者

お礼

ご回答ありがとうございます。 参考にさせていただきます。

noname#158634
noname#158634
回答No.1

なんというかどこからツッコめばいいのやら。 まず、大前提としてHTMLの組み方がおかしい。 ・クラスもIDもない<div>は何?何もしないボックスを作る意味がない。 ・一つしかないものにはクラスではなくIDを使うべき。一つのHTML内に同じIDは一度しか使えないがクラスは複数使える。これが転じて、一意の箇所にはID、同じ名前を複数要素につけたい場合はクラスを使うことになっている(もちろんクラスで間違いというわけではない)。 ・クラスやIDを付けなければCSSを適用できないわけではないのでむやみに使わないこと。見てのとおりHTMLもCSSも記述が煩雑になっているし、tab_01~06の重複記述の嵐は見るに堪えない。セレクタについての基礎知識を身に着けてください。 で。 画像はよく見えないわ「テキストを画像の後ろに含める」が意味不明だわでもう何とも言えない。 こんな煩雑なコードを張り付けるくらいなら、これがどういう動作を想定しているのかくらい書いてください。わざわざ意味を読み取ってあげるのは回答者の仕事じゃない。 ただ、あなたの身に余ることをしようとしていることだけは分かります。ちゃんと基本的なことを覚えずに変な洒落っ気を出しても、今のように手に負えなくなるのは明白。まずはきちんと基本を身につけましょう。

関連するQ&A

  • CSSについて

    /** ナビゲーション */ #mainNavi { width:740px; height:50px; overflow:hidden; margin-left:200px; } #mainNavi li, #mainNavi li.acitve { float:left; padding-left:10px; margin-left:1px; background:url(/images/navi.png) left 0px no-repeat; } #mainNavi a { height:50px; display:block; line-height:50px; padding:0 13px 0 3px; background:url(/images/navi.png) right 0px no-repeat; color:#fff; font-size:13px; font-weight:bold; text-decoration:none; } #mainNavi li.active { background:url(/images/navi.png) left -10px no-repeat; } #mainNavi li.active a { background:url(/images/navi.png) right -100px no-repeat; color:#fff; } #mainNavi .wii li.active { background:url(/images/navi.png) left -50px no-repeat; } #mainNavi .wii li.active a { background:url(/images/navi.png) right -50px no-repeat; color:#fff; } #mainNavi .ds li.active { background:url(/images/navi.png) left -150px no-repeat; } #mainNavi .ds li.active a { background:url(/images/navi.png) right -150px no-repeat; color:#fff; } #mainNavi a:hover{ color:#ff0; text-decoration:underline; } #mainNavi li.active a:hover { } というCSSを使って、 ホームページを作成しました。 すべて人から教えてもらったものなので、CSSは初心者です・・・。 そこで思ったのですが、 TOP・掲示板・メール等・・・ のメニューを、左寄りにすることはできないのでしょうか? よろしくお願いします。

    • ベストアンサー
    • CSS
  • IE以外のブラウザーで

    はじめまして。 ホームページの作成をDW5.5で行っています。 以下のソース、cssにてアップしたところ、header menuの部分の画像が IEだとちゃんと横並びに表示されるのですが、Firefox、Safariなどでは menuが縦に並んでしまいます。 どのように修正すればいいのか、ご指導いただけませんでしょうか? <<ソース部>> <body> <div id="header"></div> <div id="head_navi"> <ul> <li id="head_bu1"><a href="../index.html"></a></li> <li id="head_bu2"><a href="../about.html"></a></li> <li id="head_bu3"><a href="#"></a></li> <li id="head_bu4"><a href="#"></a></li> <li id="head_bu5"><a href="#"></a></li> <li id="head_bu6"><a href="../policy.html"></a></li> <li id="head_bu7"><a href="#"></a></li> <li id="head_bu8"><a href="#"></a></li> </ul></div> </body> <<css部>> *{ margin:0px; padding:0px; } img{ border:none; } li{ list-style-type:none; } body{ font-size:12px; line-height:1.4em; font-family:"MS Pゴシック", "MS PGothic", "メイリオ", Meiryo, Osaka, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif; background-color: #333333; margin:0px auto; } /* FireFox リンク選択時の点線を消す */ a{ overflow:hidden; outline:none; } /* FireFox flashの境界の点線を消す */ object{ outline:none; } /* ■ヘッダー */ #header{ width:1000px; height:320px; background-color: #000000; } #head_navi{ width:1000px; height: 40px; background-color: #666; } #head_navi ul{ overflow:hidden; float:left; padding-left: 21px; } #head_bu1 a{ display:block; width:112px; height:38px; float: left; background:url(../img/header_1_off.png) no-repeat left top; } #head_bu1 a:hover{ background:url(../img/header_1_on.png) no-repeat left top; } #head_bu2 a{ display:block; width:113px; height:38px; float: left; background:url(../img/header_2_off.png) no-repeat left top; } #head_bu2 a:hover{ background:url(../img/header_2_on.png) no-repeat left top; } #head_bu3 a{ display:block; width:117px; height:38px; float: left; background:url(../img/header_3_off.png) no-repeat left top; } #head_bu3 a:hover{ background:url(../img/header_3_on.png) no-repeat left top; } #head_bu4 a{ display:block; width:122px; height:38px; float: left; background:url(../img/header_4_off.png) no-repeat left top; } #head_bu4 a:hover{ background:url(../img/header_4_on.png) no-repeat left top; } #head_bu5 a{ display:block; width:101px; height:38px; float: left; background:url(../img/header_5_off.png) no-repeat left top; } #head_bu5 a:hover{ background:url(../img/header_5_on.png) no-repeat left top; } #head_bu6 a{ display:block; width:126px; height:38px; float: left; background:url(../img/header_6_off.png) no-repeat left top; } #head_bu6 a:hover{ background:url(../img/header_6_on.png) no-repeat left top; } #head_bu7 a{ display:block; width:134px; height:38px; float: left; background:url(../img/header_7_off.png) no-repeat left top; } #head_bu7 a:hover{ background:url(../img/header_7_on.png) no-repeat left top; } #head_bu8 a{ display:block; width:133px; height:38px; background:url(../img/header_8_off.png) no-repeat left top; } #head_bu8 a:hover{ background:url(../img/header_8_on.png) no-repeat left top; }

  • CSSについての質問

    /** ナビゲーション */ #mainNavi { width:740px; height:50px; overflow:hidden; margin-left:200px; } #mainNavi li, #mainNavi li.acitve { float:left; padding-left:10px; margin-left:1px; background:url(/images/navi.png) left 0px no-repeat; } #mainNavi a { height:50px; display:block; line-height:50px; padding:0 13px 0 3px; background:url(/images/navi.png) right 0px no-repeat; color:#fff; font-size:13px; font-weight:bold; text-decoration:none; } #mainNavi li.active { background:url(/images/navi.png) left -10px no-repeat; } #mainNavi li.active a { background:url(/images/navi.png) right -100px no-repeat; color:#fff; } #mainNavi .wii li.active { background:url(/images/navi.png) left -50px no-repeat; } #mainNavi .wii li.active a { background:url(/images/navi.png) right -50px no-repeat; color:#fff; } #mainNavi .ds li.active { background:url(/images/navi.png) left -150px no-repeat; } #mainNavi .ds li.active a { background:url(/images/navi.png) right -150px no-repeat; color:#fff; } #mainNavi a:hover{ color:#ff0; text-decoration:underline; } #mainNavi li.active a:hover { } というCSSを使って、 下のようなホームページを作成しました。 http://www.nin-site.net/ すべて人から教えてもらったものなので、CSSは初心者です・・・。 そこで思ったのですが、 TOP・掲示板・メール等・・・ のメニューを、左寄りにすることはできないのでしょうか? 下は、イメージ図です。(編集しました。) http://www.nin-site.net/image_style.jpg よろしくお願いします。 すべての内容が見たい場合は、 HTMLソース:http://www.nin-site.net/index.txt CSS:http://www.nin-site.net/css/style.css です。

    • ベストアンサー
    • CSS
  • 困っています。教えてください!

    ブラウザ表示すると、変な場所にリンクがつきます。 置き換えた画像にリンクがつきません。 ナビゲーションを画像にして横に並べたいです。 以下にコードあります。 どこが間違っていますか? 教えてください。 お願いいたします! -----HTML----- <div id="navi"> <ul> <li><a href="#" id="home">Home</a></li> <li><a href="#" id="price">Price</a></li> <li><a href="#" id="catalog">Catalog</a></li> <li><a href="#" id="access">Access</a></li> <li><a href="#" id="reserve">Reserve</a></li> </ul> </div> -----CSS----- #navi { width:950px; height:48px; } #navi ul { list-style:none; margin:0px; padding:0px; } #navi li { text-indent:-9999px; float:left; width:135px; margin:0px; padding:0px; } #navi li a { display:inline; } #navi ul li a#home { display:block; width:148px; height:48px; margin-left:100px; margin-top:30px; background:url(images/home.gif) no-repeat; } #navi ul li a#price { display:block; width:135px; height:48px; margin-left:116px; margin-top:30px; background:url(images/price.gif) no-repeat; } #navi ul li a#catalog { display:block; width:154px; height:48px; margin-left:120px; margin-top:30px; background:url(images/catalog.gif) no-repeat; } #navi ul li a#access { display:block; width:135px; height:48px; margin-left:140px; margin-top:30px; background:url(images/access.gif) no-repeat; } #navi ul li a#reserve { display:block; width:155px; height:48px; margin-left:150px; margin-top:30px; background:url(images/reserve.gif) no-repeat; }

    • ベストアンサー
    • CSS
  • Chrome だと、画像が少し下にずれてしまう

    こんにちは! CSS初心者で、今回初めてCSSを利用してホームページを作っています。 制作中に、行き詰ってしまい質問をさせていただきました。 メインナビの背景に画像、その上にリストのテキスト、そしてカーソルオーバーをすると、違う画像が表示するようにしています(ナビは、リストをfloatで横並びに表示しています)。 IEだと、問題なく正しい位置で表示されるのですが、Firefoxや Chromeだと、カーソルオーバー用の画像が下に少しずれて表示されてしまいます。 元凶を、探してみたんですが、なかなか見つけられません。 わかる方がいらっしゃったら、教えていただけないでしょうか。 お粗末なCSSコードですが(多分、無駄なコードがいっぱいありそう・・・) のせさせていたたきました。 よろしくお願いします。 CSS -------------------------------------------------------------- @import url(base.css); body{ text-align:center; margin-right : auto;margin-left : auto; background-image : url(images/bg_brown.png); background-repeat: repeat; font-size : 90%; padding-top : 0px; padding-bottom : 0px; margin-top : 0px; margin-bottom : 0px; height : 100%; } #wrap{ text-align : center; margin-top : 0px; margin-left : auto; margin-right : auto; margin-bottom : auto; width : 100%; padding-top : 0px; } #com_back{ background-image : url(images/bg_green.png); background-repeat : repeat-x; } #g_navi_back{ width : 100%; height : 80px; text-align : center; background-repeat : repeat; background-image : url(images/bg_g_navi.png); } #g_navi{ overflow : hidden; width : 900px; margin 0 auto; margin-left : auto; margin-right : auto; background-repeat : no-repeat; background-image : url(images/navi_base.png); height : 80px; } #g_navi ul{ padding-top : 0px; padding-left : 0px; padding-right : 0px; padding-bottom : 0px; margin-top : 0px; margin-left : 0px; margin-right : 0px; margin-bottom : 0px; } #g_navi li{ text-align : center; width : 180px; float : left; border-collapse : collapse; background-position : left center; top : 50%; bottom : 50%; letter-spacing : 1px; line-height : 18px; } #g_navi li a{ display : block; padding-top : 20px; } #g_navi ul li a:link{ text-decoration : none; color : black; } #g_navi ul li a:hover{ background-image : url(images/navi_hover_g.png); background-repeat : no-repeat; background-position : center center; height : 80px; } .inner{ text-align : left; margin-top : 0px; margin-left : auto; margin-right : auto; width : 900px; background-repeat : repeat; height : auto; background-image : url(images/bg_white.png); } html ------------------------------------------------------------------------------ <!--外枠--> <div id="wrap"> <!--ロゴ--> <div id="com_back"><div id="com" ></div></div> <!--ナビ--> <div id="g_navi_back"> <div id="g_navi"> <UL style="list-style-type : none"> <LI><a href="index.html">ホーム</a></li> <LI><a href="**********">ご案内</a></li> <LI><a href="**********">ご利用方法</a></li> <LI><a href="**********">イベント詳細</a></li> <LI><a href="**********">アクセス</a></li> </UL></div> </div><!--ナビ_end--> <div class="clear"><hr /></div><!--ナビfloatクリア--> <div class="inner"><!--インナー-->

    • ベストアンサー
    • CSS
  • cssのfloatで右にメニューを出す方法を勉強し

    cssのfloatで右にメニューを出す方法を勉強しています。 ヘッダの左にロゴ(クリックをするとTOPへ飛ぶ) 右にメニューを横並びで表示したいです。 _________ ■   ■■■■ ロゴ  メニュー _________ のようにしたいのです。 例えばロゴもメニューもそれぞれwidth100px heith50pxのサイズとし、 メニューにもそれぞれ違う画像を入れ、マウスオーバーで違う画像に変わるようにし、marginを10pxあけるとすると ☆★☆★css☆★☆★ /* abc */ #header ul.abc{ float:right; margin: 0 ; padding: 0 ; width: 400px; } #header ul.abc li { float:left; display: inline; } /* 01 */ #header ul.abc li.01 { width:100px; height:50px; margin:0 10 0 0; } #header ul.abc li.01 a { display: block; background: url(../img/01.jpg) no-repeat top left; } #header ul.abc li.01 a:hover { display: block; background: url(../img/01_om.jpg) no-repeat top left; /* 02 */ #header ul.abc li.02 { width:100px; height:50px; margin:0 10 0 0; } #header ul.abc li.02 a { display: block; background: url(../img/02.jpg) no-repeat top left; } #header ul.abc li.02 a:hover { display: block; background: url(../img/02_om.jpg) no-repeat top left; /* 03 */ #header ul.abc li.03 { width:100px; height:50px; margin:0 10 0 0; } #header ul.abc li.03 a { display: block; background: url(../img/03.jpg) no-repeat top left; } #header ul.abc li.03 a:hover { display: block; background: url(../img/03_om.jpg) no-repeat top left; /* 04 */ #header ul.abc li.04 { width:100px; height:50px; margin:0 0 0 0; } #header ul.abc li.04 a { display: block; background: url(../img/04.jpg) no-repeat top left; } #header ul.abc li.04 a:hover { display: block; background: url(../img/04_om.jpg) no-repeat top left; ☆★☆★html☆★☆★ <div id="header"> <div class="logo"><a href="">ロゴ</a></div> <ul class="menu"> <li class="01"><a href=""01</a></li> <li class="02"><a href="">02</a></li> <li class="03"><a href="">03</a></li> <li class="04"><a href="">04</a></li> </ul> <div class="clear"></div> </div> これは例なんですが、 この記述できると思ったのですが、うまくいかず困っています。 何か足りないのでしょうか?それともcssで何か勘違いをしているのでしょうか? お手数をおかけしますが、ご教授お願いします。

    • ベストアンサー
    • CSS
  • 横並びのメニューボタンについて

    float:leftでメニューボタンを横並びにしています。 表示を100%にするとうまく並ぶのですが、 100%以上にすると左端に隙間が、 100%未満にすると、ある時点からメニューボタンが2列になってしまいます。 これを回避する方法はあるでしょうか。 <<html>> <body> <div id="wrap"> <img src="image/photo1.jpg"> <div id="navi"> <!-- ナビボタン ここから --> <ul class="menu"> <li><a href="index.html" >ホーム</a></li> <li><a href="page1.html" >ページ1</a></li> <li><a href="page2.html" >ページ2</a></li> <li><a href="page3.html" >ページ3</a></li> <li><a href="page4.html" >ページ4</a></li> <li><a href="page5.html" >ページ5</a></li> </ul> </div> <!-- /navi --> </div> <!-- /wrap --> </body> <<css>> body { text-align: center; background-color:#EEEEEE; font-size: 12px; margin-top: -10px } #wrap{ margin: 0 auto; text-align: left; background-color: #ffffff; width: 752px; border: 1px solid #404040; border-collapse: collapse; padding: 0; } .navi{ width:750px; } ul.menu { margin: -5 0 0 0px; padding :0; list-style-type : none; } ul.menu li { margin:0; float:left; width: 125px; line-height: 30px; } ul.menu li a{ display:block; text-align:center; text-decoration: none; background-image: url(menu1.jpg); background-repeat: no-repeat; color: #ffffff; font-size: 12px; } ul.menu li a:hover{ background-image: url(menu2.jpg); color: #404040; } よろしくお願いします。

    • ベストアンサー
    • HTML
  • IE6でナビ下に隙間ができてしまいます。

    横並びのナビの下に隙間無く内容を入れたいのですが、IE6だとナビ下に2ミリ位の隙間ができてしまいます。 いろいろ調べてIE6対策でline-height: 0・margin: 0を追加してもうまくいきません。 何が間違っているのか、ご支持お願いします。 <body> <div id="wrapper"> <div id="headnavi"> <ul> <li id="A"><a href=""><span>A</span></a></li> <li id="B"><a href=""><span>B</span></a></li> <li id="C"><a href=""><span>C</span></a></li> <li id="D"><a href=""><span>D</span></a></li> <li id="E"><a href=""><span>E</span></a></li> <li id="F"><a href=""><span>F</span></a></li> </ul> </div><!-- / #headnavi --> <div id="pro_back"> <p>○○○○○</p> </div><!-- / #pro_back --> </div><!-- / #wrapper --> </body> </html> *{ margin: 0px; padding: 0px; font-weight: normal; list-style-type:none; } body { width: 100%; font-size: 75%; font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "MS Pゴシック", "MS PGothic", sans-serif; line-height: 180%; color: #333; } #wrapper { position: relative; width: 960px; margin-left:auto; margin-right:auto; } #pro_back { width: 960px; height: 623px; background-image: url(images/pro_back.gif); background-repeat: no-repeat; margin: 0; } #headnavi { width:960px; height: 33px; margin: 0; } #headnavi ul { line-height: 0; margin: 0; } #headnavi ul li a { display: block; width: 172px; text-decoration: none; height: 33px; } #headnavi ul li a span { position: absolute; width: 0; height: 0; padding: 0; overflow: hidden; } ul li#A a { position: absolute; left: 890px; top: 0px; background-repeat: no-repeat; background-position: 0 0; background-image: url(images/topbotan.gif); margin: 0; } ul li#B a { position: absolute; left: 632px; top: 0px; background-repeat: no-repeat; background-position: 0 0; background-image: url(images/link.gif); margin: 0; } ul li#C a { position: absolute; left: 474px; top: 0px; background-repeat: no-repeat; background-image: url(images/mail.gif); margin: 0; } ul li#D a { position: absolute; left: 316px; top: 0; background-repeat: no-repeat; background-image: url(images/illustration.gif); margin: 0; } ul li#E a { position: absolute; left: 158px; top: 0; background-repeat: no-repeat; background-image: url(images/designwork.gif); margin: 0; } ul li#F a { position: absolute; left: 0px; top: 0; background-position: 0 0; background-repeat: no-repeat; background-image: url(images/profile.gif); margin: 0; }

    • 締切済み
    • CSS
  • display blockのレイアウトが崩れます

    IEでみると、左のメニューのボタン部分が 高さが圧縮され、表位置も左よりになってしまいます。 何故崩れるのか原因がわかりません。 よろしくお願いいたします。 ul#menu { float: left; width: 150px; height: 40px; list-style: none; color: #585262; background-color: #ffffff; } ul#menu li { display: block; margin: 0; padding: 0; font-size: small; line-height:0px; } ul#menu li span { display: block; font-size: x-small; } li#c01 a { background: url(../images/navi/c01.jpg) 7px 5px no-repeat; } li#c02 { background: url(../images/navi/c02.jpg) 7px 5px no-repeat; } li#c03 a { background: url(../images/navi/c03.jpg) 7px 5px no-repeat; } li#c04 a { background: url(../images/navi/c04.jpg) 7px 5px no-repeat; } li#c05 a { background: url(../images/navi/c05.jpg) 7px 5px no-repeat; } li#c06 a { background: url(../images/navi/c06.jpg) 7px 5px no-repeat; } li#c07 a { background: url(../images/navi/c07.jpg) 7px 5px no-repeat; } li#c08 a { background: url(../images/navi/c08.jpg) 7px 5px no-repeat; } li#c09 a { background: url(../images/navi/c09.jpg) 7px 5px no-repeat; } ul#menu li a { display: block; height: 40px; padding: 5px 7px 5px 66px; border-bottom: 1px dotted #ffffff; text-decoration: none; color: #aa8f78; border: solid 2.5px; border-color:#ebdbd7 pink pink #ebdbd7; background-color: #ffdce8; line-height:normal; } ul#menu li a:hover { color: #794c2c; background-color: #eee9e2; } ul#menu li#c02 { padding: 5px 7px 5px 66px; border-bottom: 1px dotted #ffffff; height: 40px; line-height:normal; } ul#menu li#c09 a { border-bottom: none; }

  • ナビゲーションバーの背景画像が表示されません(CSS)

    私は今ホームページを作っておりまして、 先日ウェブデザインについての本を買ったのですがそこに書かれていた スタイルシートの記述例(ナビゲーションバーです)をまねて 自分で記述してみたのですが思うように表示できません。 どなたか教えてください。 ◆問題の部分です◆ スタイルシート div#navi{ width:900px; margin-bottom:7px; padding-bottom:7px;} ul ,li{ margin:0; padding:0; } ul#navbar{ list-style-type:none; width:900px; float:right; } ul#navbar li, ul#navbar li a{ float:left; text-indent:-9999px; display:block; width:100px; height:25px;} ul#navbar li#link a{ background:url(image/menu-kyousitu.png) no-repeat left top; float:right;} 以下同じ様にメニューが続き ul#navber li#sample1{background:url(image/menu-a5.png) no-repeat left top;  float:right;} ↑最後のsampleの部分はリンクを張らないようにしたいのでこのように記述したところ、この部分には背景画像が表示されません。 HTML <div id="navi"> <ul id="navbar"> <li id="link"><a href="**">リンク集</a></li> <li id="sample1">sample</li> </div> 見苦しい分で申し訳ありませんが、どなたかよろしくお願いします。

    • ベストアンサー
    • CSS

専門家に質問してみよう