• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:横並びサイトマップをリスト要素で構築したいけど..)

横並びサイトマップの作成方法

このQ&Aのポイント
  • Webサイトで横並びのサイトマップを作成する方法について紹介します。
  • 横並びのサイトマップは、一般的なサイトマップとは異なり、情報を横に並べて表示するデザインです。
  • HTMLとCSSを使用してサイトマップを作成し、リスト要素や背景画像を設定することで横並びのレイアウトを実現することができます。

質問者が選んだベストアンサー

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

 メニュー項目が増減するたびにHTMLはともかく、CSSを書き直す以外無理です。その場合でもHTMLに文書構造に関係のない属性を忘れずに書き換えなければなりません。  なぜそうなのかは、とても深くて説明するのが長くなります。  ざっと思いつく方法は、各項目の文字数が10文字以下、3階層目の文字数は8文字以下、4項目以下に制限した上で、スタイルシートでデザインする。それならごく簡単に下記で良いと思う。  table的に、2項目目を真横に持ってくるのは無理だと思います。 ★HTMLの制約、ウィンドウサイズなど制約が多くユーザビリティ上、よいデザインとは思えません。いっそのこと、単純なリストのままのほうが、はるかにわかりやすくデザインしやすいのではないかと思います。・・スタイルを指定しないほうが優れていると言うことです。ブラウザの表示メニューから「スタイルなし」を選択すると、そのほうがはるかにわかりやすい。それじゃデザインする意味がないですよ。 [HTML] _<div id="info_sitemap"> __<!-- 各項目の文字数が10文字以下、3階層目の文字数は8文字以下 --> __<ul> ___<li>TOPページ</li> ___<li>店舗案内 ____<ul> _____<li class="01">情報ページその1 ______<ul> _______<li class="03">コンテンツ1-1</li> _______<li class="03">コンテンツ1-2</li> _______<li class="03">コンテンツ1-3</li> _______<li class="03">コンテンツ1-4</li> ______</ul> _____</li> _____<li class="01">情報ページその2</li> _____<li class="01">情報ページその3</li> ____</ul> ___</li> ___<li>ご利用方法 ____<ul> _____<li class="02">情報01</li> _____<li class="02">情報02</li> _____<li class="02">情報03</li> ________<li class="02">情報04</li> ____</ul> ___</li> ___<li>業務案内 ____<ul> _____ <li class="02">情報01</li> _____<li class="02">情報02</li> _____ <li class="02">情報03</li> ________<li class="02">情報04</li> ____</ul> ___</li> ___<li>ブログ</li> ___<li>お問い合わせ</li> __</ul> _</div> [CSS] #info_sitemap {line-height:30px;width:900px;} #info_sitemap ul,#info_sitemap ul li{display:block;list-style:none;margin:0;padding:0;} #info_sitemap ul ul{margin-left:10em;} #info_sitemap ul ul ul{position:relative;top:-30px;} #info_sitemap ul li ul li ul li{display:inline;} #info_sitemap ul li ul li{height:30px;} #info_sitemap ul li{border-bottom:dotted red 2px;padding:0.5ex 0.5em;} #info_sitemap ul li ul li{border-bottom:none;} #info_sitemap ul li{background-color:rgb(255,200,200);} #info_sitemap ul li ul li{background-color:rgb(200,255,200);} #info_sitemap ul li ul li ul li{background-color:rgb(200,200,255);}

toonie
質問者

お礼

いつもありがとうございます! 教えていただいたスタイルシートとても参考になりました!! 確かにソースは極力シンプルなほうがいいですよね。 今後、こういうWeb制作の機会も増えそうなので そういったことも踏まえ地道に勉強していきたいと考えています。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • リスト横並びのメニューのアンドロイドでの隙間

    スマホ用のメニューを作成しています。 とりあえず、シンプルなメニューを作っているのですが、viewportを入れると画面を横に回転した際に右端に余白が生じてしまいます。 ぴったり収まるように20%ずつ5つのメニューとしています。 解決する方法はあるでしょうか? <style> body{ margin:0; padding:0; } .globalnavi{ margin: 0; padding: 0; width: ***; } .globalnavi ul{ list-style-type: none; width: 100%; margin: 0 auto; padding: 0; } .globalnavi li{ float: left; width: 20%; margin: 0; padding: 0; } .globalnavi a{ text-align: center; display:block; padding: 0.5em 0; width: 100%; background-color: black; color: white; } .globalnavi a:hover{ background-color: red; color: white; } </style> <nav> <ul class="globalnavi"> <li><a href="#">Home</a></li> <li><a href="#">menu1</a></li> <li><a href="#">menu2</a></li> <li><a href="#">menu3</a></li> <li><a href="#">menu4</a></li> </ul> </nav>

    • 締切済み
    • CSS
  • Dreamweaverでリストを作成するとボックスからずれてしまいます

    DreamweaverCS3を使用してサイトを作成している初心者です。 AP divで作ったボックスの中にリストを作成したのですが、 何故か文字の部分がボックスから大幅にずれてしまいます。 CSS記述↓ #apDiv1 { position:absolute; left:57px; top:82px; width:150px; height:143px; z-index:12; background-color: #FFFFFF; } #apDiv1 li { list-style-type: none; background-color: #CCCCCC; color: #333333; display: block; width: 135px; padding-bottom: 4px; padding-top: 4px; margin-bottom: 1px; margin-left: 0px; margin-top: 0px; padding-left: 15px; } #apDiv1 li a:hover { background-color:#999999 } <body>内です↓ <div id="apDiv1"> <ul> <li class="style4"><a href="http://oshiete.goo.ne.jp/">あああ</a></li> <li class="style4"><a href="http://oshiete.goo.ne.jp/">いいい</a></li> <li class="style4"><a href="http://oshiete.goo.ne.jp/">ううう</a></li> <li class="style4"><a href="http://oshiete.goo.ne.jp/">えええ</a></li> </ul> </div> どうしたらボックスにピッタリ合わせる事ができるのでしょうか。 どうぞ宜しくお願い致します。

  • 画像を横並びに2つと、その右側に文字入りのボックス

    画像を横並びに2つと、その右側に文字入りのボックスを横並びに2(よこ)×3段(たて)で配置したいのですが、IE7だけ2つの画像の下に、文字入りボックスが3(よこ)×2段(たて)で並んでしまいます。 IE8やそれ以外のブラウザは画像右側に文字入りボックスが2(よこ)×3段(たて)で並びます。 どのようにすれば、IE7も他と同じようになりますか。 よろしくお願い致します。 <div class="imagebox"> <p class="image"><img src="1.jpg" width="145" height="120" alt=""/></p> </div> <div class="imagebox" style="margin:0 20px 0 10px"> <p class="image"><img src="2.jpg" width="145" height="120" alt=""/> </div> <ul class="box"> <li>aaa</li> <li>bbb</li> <li>ccc</li> <li>ddd</li> <li>eee</li> <li>fff</li> </ul> <div style="clear: left;"></div> div.imagebox { background-color: #383838; width: 145px; float: left; margin: 0px; } p.image { text-align: center; margin: 0px; } ul.box { list-style:none; width:100%; margin: 0 0 5px 0; padding: 0; } ul.box li { width: 180px; height: 14px; padding: 4px 5px 4px; border-color: #000033; border-style: double; background: #373737; color: #7e7763; text-align: center; float: left; display: inline; list-style: none; margin: 2px; }

    • ベストアンサー
    • HTML
  • float横並びにしたブロックの中のul/liを縦並びにさせたい

    float leftで横並びさせている中でul/liを縦並びにさせたい。現在はすべて横並びしてしまう。 (html) <div class="base"> <div class="box1"> <a href="#"><img src="#" alt=""></a> </div> <div class="box2"><img src="images/spacer.gif" width="1" height="1" alt=""></div> <div class="box3"> <ul class="list-y"> <li>ああああ</li> <li>いいいい</li> <li>うううう</li> <li>ええええ</li> <li>おおおお<a href="#">かかか</a></li> </ul> </div> </div> (css) ul{ margin: 0; padding: 0; list-style-type: none; text-decoration: none; display: block; } li { margin: 0; padding: 0; display: inline; } .base { width: 618px; height: 100px; margin: 0; padding: 8px 10px 0 10px; text-align: left; line-height: 1.5em; background-image: url(../images/content_bg.gif); background-repeat: repeat-y; } .base .box1 { width: 130px; height: 97px; margin: 0; padding: 0; float: left; outline: solid 2px black; } .base .box2 { width: 2px; height: 100px; margin: 0 5px 0 10px; padding: 0; float: left; border-right: dotted 2px #ccc; } .base .box3 { margin-left: 157px; padding: 0; font-weight: bold; text-align: left; } .list-y{ clear: both; } 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
  • 下部のリストが繰り返されます。

    「飲み放題コース」の見出し部分の下部にある、リストの「ソフトドリンク」がHTMLには、1度しか記載していないのに左にずれて「ソフトドリンク」が2度繰り返されてしまいます。「ソフトドリンク」をリストから外すと、「酎ハイ(5種類)」が2度繰り返されてしまいます。<div class="clear"></div>が関係しているのか?と思い、消したりつけたりしてみたのですが、改善されません。 この原因が分かる方がいましたら、教えていただきたいのですが? 分かりにくい説明ですみません。宜しくお願いします。 =============HTML部分============== <!--飲み放題コース開始--> <div class="course_box"> <h2>飲み放題コース</h2> <div class="course_contents"> <img src="images/drink.gif" width="390" height="80" alt="飲み放題コース" /> <h3><img src="images/course11.gif" width="390" height="20" alt="いろいろ飲み放題 お一人様2,100円飲み放題コース" /></h3> <div class="li_box"> <ul> <li>オリオンビール</li> <li>泡盛各種</li> <li>かめだし紹興酒(ショウコウシュ)中国浙江省紹興市より直輸入!</li> <li>杏露酒(アンズ酒)</li> <li>桂花陳酒(ケイカチン酒)</li> <li>当店オススメ!(赤・白)中国産葡萄をフランスのワイン職人の手によって醸造された中国発の本格派ワイン! カクテル(18種類)</li> <li>酎ハイ(10種類)</li> <li>ソフト・ドリンク(8種類)</li> </ul> </div> <h3><img src="images/course12.gif" width="390" height="20" alt="とりあえずビール1本飲みたい お一人様1,575円飲み放題コース" /></h3> <div class="li_box"> <ul> <li>お一人様1本</li> <li>オリオンビール</li> </ul> </div> <div class="li_box"> <ul> <p>下記は飲み放題!</p> <li>泡盛各種</li> <li>かめだし紹興酒(ショウコウシュ)中国浙江省紹興市より直輸入!</li> <li>杏露酒(アンズ酒)</li> <li>桂花陳酒(ケイカチン酒)</li> <li>当店オススメ!(赤・白)中国産葡萄をフランスのワイン職人の手によって醸造された中国発の本格派ワイン!</li> <li>酎ハイ(5種類)</li> <li>ソフト・ドリンク(8種類)</li> </ul> </div> </div> </div> <!--飲み放題コース終了--> </div> <!--右コンテンツ終了--> <div class="clear"></div> =========CSS部分========== /*==全体の設定=*/ *{ border:none; text-decoration:none; margin:0px; padding:0px; } body { background:url(../images/back.jpg) repeat; } #wrpaper { background:url(../images/naruto_line.gif) repeat-y; padding:0px; margin:0 auto; width:682px; height:auto; } #all{ width:630px; height:auto; padding:0px; margin:0 0 0 26px; background-color:#FFF; } /*==フロート解除==*/ .clear{ clear:both; } /*==通常リンク==*/ a{ color: #993399; text-decoration: none; } /*==選択時リンク==*/ a:hover{ color: #CC3300; text-decoration: none; } #big_box{ width:414px; height:auto; padding:0px; margin:0; float:left; } .course_box{ background:url(images/ryu.jpg) no-repeat; background-position:right bottom; float:left; width:414px; height:auto; padding:0px; margin:0 0 12px 8px; } /*==右部メニュー==*/ h2{ width:407px; display:block; background:url(images/course_mid.gif) no-repeat; height:24px; padding:8px 0 0 7px; margin:0px; font-size:1em; color:#fff; display:block; clear:both; } h3{ text-indent:-2000px; width:414px; height:21px; padding:0px; margin:8px 0 8px; } p{ padding:0px; margin:0 0 0 0; } .course_contents li{ list-style-position:outside; font-size:0.8em; padding:0; margin:2px 0 0 18px; } .li_box{ width:396px; height:auto; padding:0px; margin:0 0 0 18px; } .course_contents img{ padding:0px; margin:7px 0 3px 10px; }

  • ドリームウィーバーでリスト作成すると余白ができる

    ドリームウィーバーで、CSSでサイドナビをつくっています。 リストをたてにし、1項目づつボーダーでかこっています。 IE でも ファイアーフォックスでもきれいに表示されるのですが、 ドリームウィーバー上では、左に余白ができる分、右に飛び出し、 その横のボックスが下にずれるということが起こっています。 ご指導お願いします。 ~html <div id="sidenavi"><img src="img/sidenavi.jpg" width="180" height="165"> <ul> <li> AAAAAAA</li> <li class="menu">BBBBBB</li> <li class="menu">CCCCCCC</li> <li class="menu">DDDDDDD</li> <li>HTML</li> <li>プログラム</li> </ul> </div> ~CSS #sidenavi { float: left; height: 600px; width: 180px; margin: 0px 0px 0px 2px; padding: 0px; background-color: #FFFFFF; background-image: url(img/rose.jpg); background-repeat: repeat-y; } ul { padding: 5 0 0 0px; margin: 0px; list-style-type: none; background-position: left; text-align: left; } li { width: 180px; height:25px; margin: 0 0 0 0px; padding: 5 0 0 10px; background-color: #DD041A; text-align: left; font-size: 14px; font-family: "MS Pゴシック", "Osaka"; border-top: 1px solid #CC0099; border-right: 1px none #CC0099; border-bottom: 1px solid #CC0099; border-left: 1px none #CC0099; color: #FFFFFF; font-weight: bold; } .menu{ margin-left: 0px; padding-left:19px; background-color: #ffffff; width: 180px; font-weight: normal; color: #333333; }

  • safariでの横並びリスト(List)CSSずれについて

    CSSマスターの方にご質問させていただきます。 現在横並びリストを制作しようとしております。 リストに表示する文字の高さを中央揃えにし、カーソルが触れるまでは黒色画像、hover時に赤色画像のバックグラウンドをマイナス設定にてロールオーバー効果を演出しようとしています。 IEではきちんと表示されているのですがsafariではパディング分、赤色がズレてしまい、hover時には黒色がズレてしまいます。 <UL id="sitemenu"> <LI id="side">あいうえお <LI id="side">かきくけこ </UL> /***********LI設定***********/ #side A{ width:60px; //幅 height:40px; //高さ margin-top : 0px; margin-left : 0px; margin-right : 0px; margin-bottom : 0px; background-image : url(背景.gif); //背景 background-position : 0px 0px; no-repeat; text-align : center; //文字の位置 text-decoration : none; //文字飾り vertical-align : top; //文字の高さ padding-top : 10px; //パディング高さ float : left; } #side A:hover{ background-position : 0px -40px; no-repeat; } /***********UL設定***********/ #sitemenu{ padding-top : 0px; padding-left : 0px; padding-right : 0px; padding-bottom : 0px; margin-top : 0px; margin-left : 0px; margin-right : 0px; margin-bottom : 0px; border-width : 0px 0px 0px 0px; vertical-align : top; text-align : left; list-style-type : none; float : left; } #sitemenu LI{ float : left; } なんとか背景画像がずれない様に表示させていので、どなたかわかる方がいらっしゃいましたら大変申し訳ないのですがご教授お願いいたします。

    • ベストアンサー
    • HTML
  • リストを全体的に右寄せにしたい。

    リストを横並びにしました。 これを大きいdivで囲んだ中の右寄せにするにはどうしたらよいのでしょうか。 #ex { width: 100%; background-color: #66CCFF; height: 28px; } #ex ul { list-style: none; } #ex li { margin: 0px; padding: 5px 0px 5px 30px; list-style: none; float: left; background: url(***.gif) no-repeat 10px 0.5em; } <div id="ex"> <ul> <li><a href="#">リスト</a></li> <li><a href="#">リスト</a></li> </ul> </div>

    • ベストアンサー
    • HTML
  • リスト表示を左に寄せたい

    いつもお世話になります。 下記のようなCSSで縦並びのリスト表示をさせていますが、 どうしてもリスト(全体)が左に寄らないので困っています。 できたらボックス(id-=navi)の左から10ピクセルぐらいのところから リストを始めたいのですが・・・ (ちなみに3段組みの一番左のボックスです) 現在はおそらく30pxくらいのところから始まっていて、何をしてもうごきません。 よろしくお願いします。 ---------CSS------------------ #wrapper { width: 855px; background-color:#A96223; } #main{ float:left; width:675px; background-color:#EBE3BE; } #navi{ float:left; width:150px; background-color:#A96223; padding-top:20px; padding-left:10px; text-align:left; margin: 0px; } #advertisement{ float:right; width:30px; background-color:#A96223; } #footer{ clear:both; background-color:#804C2E; height:20px; } #navi ul{ list-style:none; margin:0px; padding:0px; } #navi li{ list-style:none; color:#FFFFFF; margin-left:0px; padding-left:10px; line-height:10px; background-image:url(img/common/yajirushi.gif); background-repeat:no-repeat; background-position:left center; } --------------html---------------------- <body> <div id="wrapper"> <div id="navi"> <ul> <li>TOP</li><br /> <li>新着情報</li><br /> <li>おすすめメニュー</li><br /> <li>ご宴会・パーティー</li><br /> <li>お店のご案内</li><br /> <li>イベントご案内</li><br /> <li>お得クーポン</li><br /> </ul> </div> <div id="main"> <br /><br /><br /><br /><br /><br /><br /><br /> </div> <div id="advertisement"> <br /><br /><br /><br /><br /><br /><br /><br /> </div> <div id="footer"> </div> </div> </body>

    • ベストアンサー
    • HTML