• 締切済み

ドロップダウンメニューについて質問です。

横並びのナビゲーションに更にドロップダウンをつけたいのですがうまくいかないので質問させていただきます。 メニューはそれぞれバッググラウンドで使ってます。 横並びのナビげーションはできました。 ロールオーバー時の画像の入れ替えもできました。 コレクション部分のドロップダウンがうまくいきません。 ドロップダウンで3つでるようにしたいと思うのですが 現状のHTML&CSSを記載します。 よろしくお願いいたします。 html <div id="navi"> <ul> <li class="nav_03"> <ul class="sub"> <li class="nav_001"></li> <li class="nav_002"></li> <li class="nav_003"></li> </ul> </li> </ul> </div> CSS #navi { height: 10px; width: 650px; margin-top: 34px; margin-left: 154px; margin-bottom: 75px; } #navi li { float:left; list-style-type: none; } .nav_03 a { height: 10px; width: 54px; background-image: url(../images/navi/catalog.jpg); background-repeat:no-repeat; display:block; text-indent:-9999px; margin-right: 42px; } .nav_03 a:hover { height: 10px; width: 54px; background-image: url(../images/navi/catalog_r.jpg); background-repeat:no-repeat; display:block; text-indent:-9999px; margin-right: 42px; #navi ul.sub li { float: none; height: 10px; width: 54px; list-style-type: none; } #navi ul.sub li a { background: none; height: 10px; width: 54px; } #navi ul.sub .nav_001 li a:hover { background-image: url(../images/navi/tops_r.jpg); height: 10px; width: 54px; display: block; background-repeat: no-repeat; position: absolute; z-index: 10; } #navi ul.sub .nav_001 li a{ background-image: url(../images/navi/tops.jpg); height: 10px; width: 54px; display: block; background-repeat: no-repeat; } /*サブメニューを、カーソルが乗るまで非表示にしておく設定*/ ul .nav_04 li ul { display: none; } /*サブメニューを、カーソルが乗った時に表示する設定*/ #navi ul li:hover .sub .nav_001{ display: block; position: absolute; z-index: 100; background-image: url(../images/navi/tops.jpg); height: 10px; width: 54px; display: block; float:left; line-height: 180%; } #navi ul li:hover .sub .nav_002{ display: block; position: absolute; z-index: 100; background-image: url(../images/navi/bottoms.jpg); height: 10px; width: 54px; display: block; float:left; line-height: 180%; }}

  • HTML
  • 回答数1
  • ありがとう数0

みんなの回答

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

}の位置がおかしいためエラーになります。それが原因かもしれません。 →W3C CSS 検証サービス ( http://jigsaw.w3.org/css-validator/#validate_by_input )  しかし、そんな煩雑なHTMLもCSSも書きません。途中で見るのを止めました。多分ご自身でも「わけわかめ」じゃないかと思います。  コメントや重複した改行を除いても80行を超えている、せいぜい特定のブロックのスタイルシートはテキストエディタでみて40行程度に抑えないと、後日のメンテナンスが大変です。(今でさえ大変なのに・・)  スタイルシートを簡潔に書き、かつ適用させるためには、HTMLも正しくなければなりません。 【引用】____________ここから メモ: CSSスタイルシートを意図した通りに機能させるには、正しい文書解析木が必要です。つまり、正当なHTMLを用いるべきです。.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[W3C CSS 検証サービス( http://jigsaw.w3.org/css-validator/#validate_by_input )]より  スタイルのためだけにidをつけてしまうと、それ(一意セレクタ)自体の詳細度がb=1なので、カスケーディングが使いにくくなります(CSSとはカスケーディングが命)。 ・基本的に同じプロパティは一回しか書かない。  セレクタのグループ化をする。  継承されるものは継承させる。そのために詳細度を計算する癖をつけましょう。 ・プロパティの書き方を工夫する。  同じ性質のプロパティは、一行ないしまとめておく。  プロパティは一括指定を使う。 ・きちんと接続詞、タイプを記述して他の部分に影響を与えないようにする。  .class名だと、CSS2.1では*(全称セレクタ).class名と判断されます。p.strongとblock.strongが区別されない。  区別しなくてよいときだけ、*.class名 と書き、通常はタイプセレクタと併用する。 ・HTMLは文書構造を的確に示すこと  それによって、スタイルシートを編集するときにHTMLを開かなくてもよくなります。  divやidの名称は文章の構造を示すものにする。(リンクの終端でもないのに不必要なIDはつけない) 【引用】____________ここから DIV要素とSPAN要素は、id属性及び class属性と併用することで、文書に構造を付加するための一般機構を提供する。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[7.5.4要素のグループ化: DIV要素とSPAN要素( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/global.html#h-7.5.4 )]より 下記がサンプルになります。 ★ウィンドウ幅は様々です。固定したらダメなのでi-phone,i-padからとても広いウィンドウにも合わせてあります。  これはとても重要です。--ひとつのHTMLが、携帯電話も読み上げブラウザも展示端末もで利用できることが最大の利点なのですから 【引用】____________ここから HTML文書が、ブラウザやプラットフォームの違いを超えてうまく働くべきである・・・【中略】・・・なぜならただ1種類の文書しか作る必要がなくなるからだ。・・・【中略】・・・ HTMLは、どんな環境からもWebの情報を利用できるようにすべきだという方針の下に開発されている。・・・【略】・・・  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[2.2.1 HTMLの略歴( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/intro/intro.html#h-2.2.1 )]より  ウィンドウ幅を変えてご覧ください。 ★HTMLを見なくても、スタイルシートを読むだけでどこの何について指定しているかわかるはず  これで行数は(同じ性質のプロパティはまとめてありますが)、24行しかありません。 ★以下で検証済みです。 →Another HTML-lint gateway ( http://openlab.ring.gr.jp/k16/htmllint/htmllint.html ) →W3C CSS 検証サービス ( http://jigsaw.w3.org/css-validator/#validate_by_input )オプションでCSS3を選択  ※CSS2.1の場合、  div.nav ul li ol li:last-child a{}をdiv.nav ul li ol li+li+li a{}に変更すること。aの属性セレクタ a[href="profile/recruit.html"]を使っても良いですが、いずれも古いブラウザIE6以前は未対応です。それらに対応させるためには、aにclass名をつけると良いでしょう。 ※タブは_に置換してあります。元のタブに戻してテストしてください。具体的な値は、あなたのイメージに合わせて変更してください。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja"> <head> _<meta http-equiv="content-type" content="text/html; charset=Shift_JIS"> _<title>サンプル</title> _<meta name="author" content="ORUKA1951"> _<meta http-equiv="Content-Style-Type" content="text/css"> _<link rev="made" href="mailto:oruka1951@hoge.com" title="send a mail" > _<link rel="START" href="../index.html"> _<style type="text/css" media="screen"> <!-- div.nav{ _height:20px;;width:auto; _line-height:20px; _margin:34px auto; _min-width:450px;max-width:650px; } div.nav ul,div.nav ol,div.nav ul li{ _display:block;list-style:none; _margin:0;padding:0; } div.nav ul{margin:0 40px 0 0;} div.nav ul li{height:100%;width:30%;float:left;} div.nav ul li ol li{float:none;width:100%;} div.nav li a{ _display:block; _width:100%;height:100%; _text-align:center; _background-image:url(../images/navi/catalog.jpg); } div.nav ul li a:hover{background-image:url(../images/navi/catalog_r.jpg)} div.nav ul li ol li a{background-image: url(../images/navi/tops.jpg);} div.nav ul li ol li:last-child a{background-image: url(../images/navi/bottoms.jpg);} div.nav ul li ol li a:hover{background-image: url(../images/navi/tops_r.jpg);} div.nav ol{display:none;} div.nav ul li:hover ol{display:block;} --> _</style> </head> <body> _<h1>サンプル</h1> <div class="nav"> _<ul> __<li><a href="proflie">会社概要</a> ___<ol> ____<li><a href="profile/place.html">所在地</a></li> ____<li><a href="profile/history.html">歴史</a></li> ____<li><a href="profile/recruit.html">採用</a></li> ___</ol> __</li> __<li><a href="/product">製品</a></li> __<li><a href="/contactUs">問合せ</a></li> _</ul> </div> </body> </html>

関連するQ&A

  • 画像を使ったドロップダウンメニュー

    ホームページのメニューボタンにドロップダウンを使おうと思っています。 色々ネットから調べて自分で試したのですが、 オンマウスで画像を変えたりと、少し複雑な為、うまく表示できません。 文字数の関係上スタイルシートのコードだけしか貼れませんが、 よろしくお願いいたします。 /* ナビゲーション */ #navi_continer { position: relative; z-index:100; width: 400px; height:110px; } #navi { position: absolute; width: 100px; background-image: url(./img/menu/03a.jpg); height: 110px; } #navi ul { margin: 0; padding: 0; list-style: none; } #navi li { color: #fffff; float: left; width: 100px; margin: 0; } #navi li a { font-size: 14px; color: #ffffff; display: block; width: 100%; padding: 3px 0; text-align: center; font-weight: bold; text-decoration: none; background-image: none; } #navi li a:hover { color: #ffffff; background-image: url(./img/menu/03b.jpg); height: 110px; width: 100px; } /* サブメニュー */ #navi ul.sub { background: #eeeeee; } #navi ul.sub li { float: none; } #navi ul.sub li a { color: #666666; background: none; font-size: 12px; font-weight: normal; padding: 3px 0; border-top:1px solid #000099; } #navi ul.sub li a:hover { color: #ffffff; background-color: #ff9900; } #navi ul li.navi_menu ul { display: none; } #navi ul li.navi_menu_on ul { display: block; } #navi li.navi_menu{ border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; } #navi li.navi_menu_on{ border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; }button { background-image: url(%E3%83%94%E3%82%AF%E3%83%81%E3%83%A3%201.jpg); }

  • 困っています。教えてください!

    ブラウザ表示すると、変な場所にリンクがつきます。 置き換えた画像にリンクがつきません。 ナビゲーションを画像にして横に並べたいです。 以下にコードあります。 どこが間違っていますか? 教えてください。 お願いいたします! -----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
  • <li>でドロップダウンボタンを真下表示するには?

    お世話になります。以下の問題を解決したいのですが、以下のソースでどこが間違っているのか教えていただけないでしょうか。 (1)メニューボタンをhoverすると、<ul><li>の下の階層のリスト<ul><li><ul><li>をドロップダウンボタンとしてそのボタンの真下に表示されるようにしたいのですが、横並びに配置されてしまいます。 親<ul>のdisplay:blockは<ul><li><ul>でdisplay:noneしているのですが、原因は何でしょうか? またその際(2)hover時にドロップダウンボタンのlist-style-imgも一緒にロールオーバーさせたい。 (3)メニューが少し長いタイトルで2行になってもlist-style-img画像分は空白があるようにしたい。 という仕様を実然させたいのですが、どうかご教授いただけないでしょうか。 分かりやすく説明すると添付ファイルのようなことを実現させたいです。 よろしくお願いします。 HTML--- <div id="menu_nav"> <ul> <li><a href="#"><img src="images/menu-nav/menu_navi-01.jpg" alt="説明文"/></a></li> <li><img src="images/menu-nav/menu_navi-02.jpg" alt="ブライトが選ばれる理由" /> <ul> <li><a href="#">豊富な施工実績</a></li> <li><a href="#">完全自社施工<br />自慢の職人たち</a></li> <li><a href="#">安心の保険制度</a></li> </ul></li> <li><img src="images/menu-nav/menu_navi-03.jpg" alt="説明文" /> <ul> <li><a href="#">防水工事</a></li> <li><a href="#">外壁塗装</a></li> </ul></li> <li><img src="images/menu-nav/menu_navi-04.jpg" alt="説明文" /> <ul> <li><a href="#">実績01</a></li> <li><a href="#">実績02</a></li> </ul></li> <li><img src="images/menu-nav/menu_navi-05.jpg" alt="説明文" /> <ul> <li><a href="#">よくあるご質問</a></li> <li><a href="#">お客様のお声</a></li> </ul></li> <li><img src="images/menu-nav/menu_navi-06.jpg" alt="説明文" /> <ul> <li><a href="#">代表者挨拶</a></li> <li><a href="#">会社概要</a></li> <li><a href="#">個人情報保護について</a></li> <li><a href="#">求人募集</a></li> </ul></li> <li><a href="#"><img src="images/menu-nav/menu_navi-07.jpg" alt="説明文" /></a></li> </ul> </div> CSS--- #menu_nav { clear:both; height:56px; background-image:url(../images/bg/bg_15.jpg); background-repeat:repeat-x; background-position:top center; } #menu_nav ul { width:960px; display:block; list-style:none; margin:auto; padding:0; } #menu_nav ul li { float:left; position:relative; } #menu_nav ul li a { clear:both; display:block; width:100%; height:100%; } #menu_nav ul li ul { display:none; position:absolute; top:56px; left:0; list-style-image:url(../images/contents/dropdown_btn_30.gif); list-style-position:inside; } #menu_nav ul li ul li a { color:#000000; font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic,P r o " , " O s a k a " , " メイリオ" , " M e i r y o " , " M S P ゴシック","MSPGothic",sans-serif; font-size:0.75em; background-color:#FFFFFF; width:125px; padding:5px 5px 5px 5px; border:1px solid #d83434; text-align:left; text-decoration:none; } #menu_nav ul li ul li a:hover { color:#FFFFFF; background:#d83434; } #menu_nav ul li:hover ul{ display:block; }

    • ベストアンサー
    • CSS
  • ドロップダウンのサブメニューを画面の左右いっぱい

    メインのナビゲーションでマウスを重ねた時に下にサブメニューを表示させるのですが、画面左右いっぱいにバックカラーを入れたいのですが、できません。 バックカラーはAAAの幅になります。 ul.nav li ul.sub のwidthに数値を入れれば右側に広がりますが左右いっぱいにはなりません。 マウスを“AAA”に重ねても文字の色は変化しません。 jQueryは初めてで、マニュアル本を見ながらの作成の為、悪戦苦闘です。 よろしくお願いします。 【html】 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script> <script> $(function(){ $("ul.sub").hide(); $("ul.nav li").hover(function(){ $("ul:not(:animated)",this).slideDown("fast"); }, function(){ $("ul",this).slideUp("fast"); }); }); </script> </head> <div class="wrapper"> <nav> <ul class="nav"> <li><a href="#">AAA</a></li> <ul class="sub"> <li><a href="#">AAA-1</a></li>     <li><a href="#">AAA-2</a></li>      <li><a href="#">AAA-3</a></li> </ul> <li><a href="#">BBB</a></li> <li><a href="#">CCC</a></li> <li><a href="#">DDD</a></li> <li><a href="#">EEE</a></li> </ul> </nav> </div> 【CSS】 .wrapper { position: relative; width: 960px; margin-left:auto; margin-right:auto; } ul.nav { width: 960px; margin: 0; margin-left:auto; margin-right:auto; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; padding: 10px 0; ul.nav li { border-left: 1px solid #ccc; float: left; position:relative } ul.nav li:first-child { border: 0; padding-left:150px; } ul.nav li a{ display: block; padding:10px 30px; color: #333; text-decoration: none; } ul.nav li a:hovre{ color:#009F00; } ul.nav:after { height:0; visibility:hidden; content:"."; display:block; clear:both; } ul.nav li ul.sub { position: absolute; top:30px; width:100%; background-color:#808080; } ul.nav li ul.sub li{ float:left; } ul.nav li ul.sub:after { height:0; content:"."; display:block; clear:both; }

    • 締切済み
    • CSS
  • ドロップダウンメニューについて

    apycomでhttp://apycom.com/menus/1-yellow-green.htmlの ドロップダウンメニューをダウンロードして設定しているのですが、サブメニューのリンク文字の変更方法が分からなくて困っています。 サブメニューの背景を変更したのでリンクの文字をもっとハッキリ見える色に変更したいです。 マウスが乗った時の文字の色も変更できません。 昨日から色々やってるのですがどうしても解決できないのでお聞きしました。 よろしくお願いします。 /** ********************************************* * Prototype of styles for horizontal CSS-menu * @data 30.06.2009 ********************************************* * (X)HTML-scheme: * <div id="menu"> * <ul class="menu"> * <li><a href="#" class="parent"><span>level 1</span></a> * <ul> * <li><a href="#" class="parent"><span>level 2</span></a> * <ul><li><a href="#"><span>level 3</span></a></li></ul> * </li> * </ul> * </li> * <li class="last"><a href="#"><span>level 1</span></a></li> * </ul> * </div> ********************************************* */ /* menu::base */ div#menu { height:41px; background : transparent url(main-bg.png) repeat-x scroll 0% 0%; } div#menu ul { margin: 0; padding: 0; list-style: none; float: left; } div#menu ul.menu { padding-left: 30px; } div#menu li { position: relative; z-index: 9; margin: 0; padding: 0 5px 0 0; display: block; float: left; } div#menu li:hover >ul { left: -2px; } div#menu a { position: relative; z-index: 10; height: 41px; display: block; float: left; line-height: 41px; text-decoration: none; font: normal 12px Trebuchet MS; } div#menu a:hover, div#menu a:hover span { color: #fff; } div#menu li.current a {} div#menu span { display: block; cursor: pointer; background-repeat: no-repeat; background-position: 95% 0; } div#menu ul ul a.parent span { background-position:95% 8px; background-image : url(item-pointer.gif); } div#menu ul ul a:hover.parent span { background-image : url(item-pointer-mover.gif); } /* menu::level1 */ div#menu a { padding: 0 10px 0 10px; line-height: 30px; color : rgb(56, 56, 56); } div#menu span { margin-top: 5px; }/**@replace#1*/ div#menu li { background : transparent url(main-delimiter.png) no-repeat scroll 98% 4px; } div#menu li.last { background: none; } /* menu::level2 */ div#menu ul ul li { background: none; } div#menu ul ul { position: absolute; top: 38px; left: -999em; width: 163px; padding: 5px 0 0 0; background : rgb(179, 221, 81) none repeat scroll 0% 0%; margin-top:1px; } div#menu ul ul a { padding: 0 0 0 15px; height: auto; float: none; display: block; line-height: 24px; color : rgb(56, 56, 56); } div#menu ul ul span { margin-top: 0; padding-right: 15px; _padding-right: 20px; color : rgb(56, 56, 56); } div#menu ul ul a:hover span { color: #fff; } div#menu ul ul li.last { background: none; } div#menu ul ul li { width: 100%; } /* menu::level3 */ div#menu ul ul ul { padding: 0; margin: -38px 0 0 163px !important; margin-left:172px; color: #FFFFFF; } /* colors */ div#menu ul ul ul { background: rgb(41,41,41); } div#menu ul ul ul ul { background: rgb(38,38,38); } div#menu ul ul ul ul { background: rgb(35,35,35); } /* lava lamp */ div#menu li.back { background : transparent url(lava.png) no-repeat scroll right -44px !important; background-image : url(lava.gif); width: 13px; height: 44px; z-index: 8; position: absolute; margin: -1px 0 0 -5px; } div#menu li.back .left { background : transparent url(lava.png) no-repeat scroll left top !important; background-image : url(lava.gif); height: 44px; margin-right: 8px; } 【html】 <div id="menu"> <ul class="menu"> <li><a href="#"><span>Home</span></a> <li><a href="#" class="parent"><span>商品紹介</span></a> <ul> <li><a href="#"><span>コンクリート</span></a> <li><a href="#"><span>木材</span></a> <li><a href="#"><span>アクセサリー</span></a> <li><a href="#"><span>砂</span></a> <li><a href="#"><span>フード</span></a>

  • 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の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
  • ドロップダウンメニュー

    ドロップダウンメニュについてお伺いします。下記、サンプルがWebにあったのですが メニュー1、メニュー2、メニュー3をマウスオーバーした時に選択肢が表示されます。 しかしながら横に最大3個未満の場合、余分なスペースができてしまいます。 この余分なスペースを出さないで存在する選択肢の分だけ表示表示させるようなことは できるのでしょうか。 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css"> #header-wrapper { height: 60px; } #header { height: 60px; } #site-title { padding: 10px 0 0 0; } h5 { margin-top: 20px; } #main { clear: left; margin: 20px auto; padding: 5px 20px; width: 900px; } h3 { font-size: 20px; } #sample ul { list-style:none; } #menu li { position: relative; float: left; margin: 0; padding: 5px; width: 200px; height: 20px; border: solid 1px #ccc; font-weight: bold; } #menu li:hover { color: #fff; background: #333; } #menu li ul { display: none; position: absolute; top: 30px; left: -1px; padding: 5px; width: 600px; background: #eee; border: solid 1px #ccc; } #menu li ul li { float:left; margin: 0; padding: 0; width: 200px; border: none; } #menu li ul li a { display: inline-block; width: 200px; height: 20px; } #menu li ul li a:hover { background: #999; color: #fff; } </style> <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript">google.load("jquery", "1.7");</script> <script type="text/javascript"> $(function() { $("#menu li").hover(function() { $(this).children('ul').show(); //$('#menu li ul').css('width', '200px'); }, function() { $(this).children('ul').hide(); }); }); </script> </head> <body class="archive date col-2-right fixed loggedin browser-chrome"> <div id="page"> <div id="main"> <div id="sample"> <ul id="menu"> <li id="menu1">メニュー1 <ul> <li><a href="#">サブメニュー1-1</a></li> </ul> </li> <li id="menu2">メニュー2 <ul> <li><a href="#">サブメニュー2-1</a></li> <li><a href="#">サブメニュー2-2</a></li> </ul> </li> <li id="menu3">メニュー3 <ul> <li><a href="#">サブメニュー3-1</a></li> <li><a href="#">サブメニュー3-2</a></li> <li><a href="#">サブメニュー3-3</a></li> <li><a href="#">サブメニュー3-4</a></li> </ul> </li> </ul> </div> </div><!--main--> </div><!--page--> </body> </html>

    • 締切済み
    • CSS
  • idかclassか どっちが良いでしょうか?

    A.htmlページ <div> <ul><li>A</li><li>B</li><li>C</li></ul> </div> B.htmlページ <div> <ul><li>A</li><li>B</li><li>C</li></ul> </div> の様に各ページが同じHTMLで、各ページで別画像にする場合、 どの様なCSSで書いていますか? また、理想ですか? 何故そうしますか? ページ数=各画像数がこれより多い場合や管理面も含めてご回答をお願いします。 ======================== パターン1 <div class="nav" id="nav1"> <ul><li>A</li><li>B</li><li>C</li></ul> </div> /* 共通CSS */ .nav{height:200px; width:600px; background:no-repeat 50% 50%;} #nav1{background-image:url(~A.jpg);}/* A.html用 */ #nav2{background-image:url(~B.jpg);}/* B.html用 */ #nav3{background-image:url(~C.jpg);}/* C.html用 */ パターン2-1 <div id="nav1"> <ul><li>A</li><li>B</li><li>C</li></ul> </div> /* 共通CSS */ #nav1,#nav2,#nav3 {height:200px; width:600px; background:no-repeat 50% 50%;} #nav1{background-image:url(~A.jpg);}/* A.html用 */ #nav2{background-image:url(~B.jpg);}/* B.html用 */ #nav3{background-image:url(~C.jpg);}/* C.html用 */ パターン2-2 #nav1/* A.html用 */ {height:200px; width:600px; background:url(~A.jpg) no-repeat 50% 50%;} #nav2/* B.html用 */ {height:200px; width:600px; background:url(~B.jpg) no-repeat 50% 50%;} #nav3/* C.html用 */ {height:200px; width:600px; background:url(~C.jpg) no-repeat 50% 50%;}

    • ベストアンサー
    • CSS
  • ドロップダウンメニューを作るこのCSSどこが変?

    お世話になります。 Webサイトのメニューボタンにマウスオンすると下部にダウンメニューが飛び出す仕様をCSSで作りたいと思っています。添付ファイルのように、ボタン画像の下にまたメニュー項目(background-imageがついてくる)が展開していくよくある仕様です。 ネットでの情報を参考にしながら、書いたソースが以下のものですが、 問題は(1)ダウンメニューにしたいのにむしろ上部へ表示される (2)テキスト分しか表示されない、きちんと画像全体を表示させたい! 個人的にもいろいろ試行錯誤してみましたが、どうも分かりませんでした。 もしかしたら、ものすごく基本的なところでつまずいているかもしれませんが、どうかご容赦ください。 もしよろしければアドバイスお願いします。 HTML--- <div id="global_nav"> <ul> <li><a href="#"><img src="images/button_06.gif" alt="TOPボタン" class="btn"/></a></li> <li><a href="#"><img src="images/button_07.gif" alt="Aボタン" class="btn"/></a> <ul> <li><a href="#">会社概要</a></li> <li><a href="#">営業所</a></li> </ul> </li> <li><a href="#"><img src="images/button_08.gif" alt="Bボタン" class="btn"/></a></li> <li><a href="#"><img src="images/button_08.gif" alt="Cボタン" class="btn"/></a></li> <li><a href="#"><img src="images/button_08.gif" alt="Dボタン" class="btn"/></a></li> <li><a href="#"><img src="images/button_08.gif" alt="Eボタン" class="btn"/></a></li> </ul> </div> CSS--- #global_nav { float:right; width:720px; margin:0; padding-right:15px; } #global_nav img { float:left; display:block; border:0; } #global_nav ul { list-style:none; margin:0; padding:0; } #global_nav li { min-width:120px; white-space:nowrap; float:left; } #global_nav ul ul { display:none; position:absolute; z-index:10; padding-top:2px; } #global_nav ul ul a { font-family:"MS Pゴシック", "ヒラギノ角ゴ Pro W3", sans-serif; font-size:0.75em; color:#FFF; background-image:url(../images/dawnmenu_button.gif); height:40px; width:120px; text-decoration:none; text-align:center; padding:20px 10px 0 10px; } #global_nav li li { clear:left; position:relative; width:100% } #global_nav ul li:hover > ul { display:block; }

    • ベストアンサー
    • CSS