• ベストアンサー

tabによるスペースの障害と、cssのDIV id=○○ seo対策における<h○>タグ について

現在、ブログで公開していた記事をやめて、HPで作り直そうと思い、メモ帳とExcelを使って、サイトを作ってみようとしているところです。 初心者です。 Excelを立ち上げて、htmlをセルに記述します。次のセルには、タイトルを。その次のセルには本文を。などというように、1行をコピーして、メモ帳に貼り付け、拡張子をhtmlで保存し、IEでプレビューすると、ちゃんと表示されるのですが、 そのソースを右クリックで表示すると、セルをまたいだ箇所に、tabの空白が入っていて、非常に見にくくなっています。 IE以外のブラウザで確認したことがないのでわかりませんが、 HTMLのソースに、必要以上にtabによる空白が入っていても、問題はないのでしょうか? もうひとつ、質問があります。 cssの、ボックス指定についてなのですが、 外部スタイルシートの記述は以下のようになっています。 #left1 { position:absolute; top:0px; left:0px; margin:0; padding: 4px; border: 1px #666 solid; width:120px; height:120px; background:#FFFFCC; } #menu1 { position:absolute; top:0px; left:134px; margin:0; padding: 0px; width:522px; height:130px; } このように指定したボックスが11個あります。 htmlの記述は、<div id="left1">~</div> などのようにしています。 span class id などの違いがよくわかりません。 1枚のHTMLファイルの中に、こんなにたくさん<div id="~"> を使ってはいけないなどの決まりはあるのでしょうか? 最後の質問です。 見出しタグについてなのですが、 <h1><h2><h3><p> と、文章をつなげた後、 <h2><h3><p> のように、一度<h3>を出現させた後に、また<h2>を使用してもいいのでしょうか? 理解不足で申し訳ありません。 どなたか、それかひとつでもいいので、教えていただけますでしょうか。 よろしくお願いいたします。

  • HTML
  • 回答数7
  • ありがとう数11

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

  • ベストアンサー
回答No.2

▼ idとclass そのページで1カ所だけに適用させたいスタイルは「id」を使い、ページ内で2カ所以上に適用させたいスタイルは「class」を使う決まりになっています。 同じページ内で使い回し出来るのが「class」、使い回し出来ないのが「id」ということです。 ▼ spanとdiv  「span」はインライン要素、対して「div」はブロックレベル要素。 ブロックレベル要素とは、「(通常)改行を伴う表示上のまとまり」として扱われるもので、内容として別のブロックレベル要素やインライン要素を含むことができます。(見出し(h1~h6)、段落(p)、リスト(ul,ol,dl)、ブロック引用(blockquote)、アドレス(address)、hr、整形済み要素(pre)、テーブル要素、div要素など。) 但し、p要素のように内容にインライン要素しか持てないものやpre要素のようにさらに内容が限定されるもの、hr要素のように内容を持たないものもあります。  インライン要素とは、主としてブロックレベル要素の内容として、特定の部分になんらかの役割や機能を持たせる要素 で、その内容に文字データあるいは他のインライン要素を持つことができますが、ブロックレベル要素を含むことはできません。(リンク(a)、強調(strong,em)、img、br、span要素など。) > そこからさらに   h2→p→h3→p   と、繰り返してもよいのでしょうか? 問題ありません。正しい文書構造になっています。 > <h1><h2><p><h3><p><h2><p><h3><p>   のようになり、<h3>が出現した後に、また<h2>が出現するようになります。   まるで順番を無視したような形になってしまうので不安です。 これも問題ありません。 hタグの用法として注意しなければいけないのは、 <h1>~<h2>~<h4> のような構造は正しくないという点です。 <h2>からいきなり<h3>をとばして<h4>になっているのは文書構造として間違っています。<h1>がなく<h2>から始まっているページなどもダメです。 階層が下がる時は、順番通りにしなければいけないということです。 逆に、階層が上がる時の順番は関係ありませんので、下のような構造は問題ありません。 <h1>  <h2>   <h3>    <h4>  <h2>   <h3>  <h2>   <h3>

poppo112
質問者

お礼

ありがとうございました。 <h○>の使い方に不安があったので、教えていただいて安心できました。 spanやdivのインライン要素やブロックレベル要素などについて、まだまだ不安が残りますが、これから勉強していきたいと思います。 ありがとうございました。

その他の回答 (6)

noname#19175
noname#19175
回答No.7

> 初心者です。 何の初心者ですか? EXCELの初心者、ということで良いでしょうか。それともHTMLの初心者ですか?はたまた日本語の初心者でしょうか? あえてEXCELを「使わなければならない」というのでなければ、 HTMLを直接書くか、HTMLのオーサリングソフトを利用されたほうがいいのではないでしょうか? ほかの方もおっしゃってますが、Microsoft Office系のソフトでウェブページを作るのはお薦めできません。 理由はいろいろありますが、その理由により、「EXCELを使わなければならない」ということも考えられますので、何とも言えませんが。 自分のブログをHTMLに書き換える方法で一番手っ取り早いのは、 MozillaやNetscapeなどの編集機能もついた統合ブラウザでそのページを表示して、 そのまま編集画面を表示してそこで編集することじゃないでしょうか? (広告や画像など、自分が著作権を持っていない部分を削除する必要があります) Mozillaでそのページを表示、Ctrl+E(MacはCommand+E)で編集画面が出ますので、そのままワープロ間隔で編集できます。 http://www.mozilla-japan.org/products/mozilla1.x/ > 1枚のHTMLファイルの中に、こんなにたくさん<div id="~"> > を使ってはいけないなどの決まりはあるのでしょうか? このような規定はありませんが、 あまりに多すぎると、表示に時間がかかるなどの問題が出てきます。 できるだけシンプルな方が(人にもブラウザにも)理解しやすいです。 > h1で、そのページのタイトルを決め、(h1は1回しか使ってはダメだと聞きました。) そんなことはありません。 ページのタイトルとページの中の見出しは別物です。 タイトルはさしずめ第一巻○○、第二巻○○といったものになりますので、 見出しではありません。 もちろん、作者が違えば考え方も変わります。 大見出しをタイトルに昇格(?)させることもできます。 その場合は、<h1>で書かれた見出しを、<title>の所に書き直して、 <h2>~以下をそれぞれ<h1>~に書き直せばよいことですし、結果的に<h1>が1ページに1つだけ、ということにもなるかもしれません。 逆に、第一巻、第二巻もないのなら、小説のタイトルをページタイトルにしても良いでしょう。 > <h1><h2><h3><p> (誤) 第一章 (<h1>)  第一節 (<h2>)   第一項 (<h3>) 第二章 (<h1>)   第一項 (<h3>) というふうに、間をとばすことは出来ません。 (正) 第一章 (<h1>)  第一節 (<h2>)   第一項 (<h3>)    本文 (<p>) 第二章 (<h1>)  第一章 (<h2>)   本文 (<p>) つまり、<H3>の次に<H1>や<H2>が来ても問題ありません。 (日本語では一般的に3~4種類の見出しですが、HTMLという言語では7種類(<H1>~<H7>)あります。 また、<h1>から始めなくても、<h3>から始めても良いです。) それ以外の点については、ほかの方の回答をご参考ください。

参考URL:
http://www.mozilla-japan.org/products/mozilla1.x/
poppo112
質問者

お礼

初心者であるのは、ご指摘いただいた、Excel HTML 日本語、すべてです。 はじめに申し上げず、不愉快な思いをさせてしまったのでしたら、大変申し訳ありませんでした。 それにもかかわらず、質問にお答えいただきありがとうございます。 教えていただいたMozillaをインストールしてみました。 ブラウザはIEしか使ったことがなかったので、戸惑いましたが、文字の大きさひとつから違って見えることに驚きました。 人にもブラウザにも優しいページを目指して、頑張ろうと思います。 ありがとうございました。

回答No.6

>HTMLのソースに、必要以上にtabによる空白が入っていても、問題はないのでしょうか? TAB は空白でしかなく、空白は連続しても無視というか1つとして扱われます。 ソースを診やすくする目的で、無駄な空白や TAB を入れる事は良くあります。 >span class id などの違いがよくわかりません。 SPAN は要素で CLASS, ID は属性。 CLASS, ID は微妙に命名規則からして異なり、CSS での優先度も ID の方が CLASS より上。(CLASS は要素より上)。ただし ID は HTML の規則上、単一のソースで名前は一意でなければならない。 >見出しタグについてなのですが、 ><h1><h2><h3><p> >と、文章をつなげた後、 ><h2><h3><p> >のように、一度<h3>を出現させた後に、 >また<h2>を使用してもいいのでしょうか? 技術的な事だけなら、何も気にせずどうぞという事なのですが・・・。 意味的というと少々面倒で、どのレベルという事まで考えないといけなくて。 まずタグはその内容の意味によって選択します。対象となる内容が意図する物ならそのタグでなんら問題ありません。で問題とするべきはタグではなく対象となる内容です。 全体の見出しのない文章に最初のページに出てきた段落の見出しだからと言って <H1> タグを用いるのは誤りです。もし <H1> の有無を問題にするのならいきなり <H2>, <H3> などが出る事を問題にするのではなく、<H1> に当たる見出しが無い事が良い事か検討するのが本来です。 そして今回の例示では、後に出てくる見出しが適切な位置に配置されているかが問題で、先に別の見出しがあるかどうかはあまり関係ありません。 (というか、見出しを付けるからには、それなりの内容の塊を意識していると思いますが、<H2> の塊の中に 別の <H2>, <H1> があっても変でしょう。) <h1>1.大見出し</h1> <h2>1-1.中見出し</h2> <h3>1-1-1.小見出し</h3> <p>1-1-1-段落</p> <h2>1-1-2.小見出し</h2> <h3>1-1-2-1.見出し</h3> <p>1-1-2-1-段落</p> これは何か変でしょう・・・。 つまり順番の問題でなく意味の問題かと・・・。

参考URL:
http://www.doraneko.org/webauth/css1/19961217/Overview.html#class-as-selector
poppo112
質問者

お礼

順番ではなく意味の問題ですね、本当にその通りだと思います。 次はSEO対策とばかり、方向を間違っていたように思います。 ありがとうございました。

  • UKY
  • ベストアンサー率50% (604/1207)
回答No.5

id と class の違いは単純に一回しか使えないか何度でも使えるかというようなものではなくて、もっと根本的に違います。少なくとも使う回数によって使い分けるものではありません。 http://deztec.jp/x/01/tips/page/p0045.html http://web.xii.jp/iec/html/memo/id-class http://www.tg.rim.or.jp/~hexane/ach/awht/awht07.htm 厳密には HTML の id/class と CSS の id/class は分けて考えるべきなのですが、難しいので触れないことにします。 あと、h1 が一回しか使えないというのは嘘で、二回以上使おうと思えば使えます (文法上は)。 しかし、h1 は文章の中で一番大きな見出し、つまりタイトルに相当するものなので、結果的に一度しか使わないということなのです。文章の中にタイトルが二回以上出てくるなんて事は普通はありえないですからね。

poppo112
質問者

お礼

教えていただいたURLを拝見いたしました。 ありがとうございます。 例がとてもわかりやすく参考になりました。 ありがとうございました。

noname#19206
noname#19206
回答No.4

ExcelみたいなMS Office系のソフトウェアは、 作成したファイルに使用者の情報が入るのであまりお勧めできません。 他のソフトウェアをお試しください。 ワープロ感覚でWebページを作成できるソフトウェアはフリーでも幾らかありますよ。

poppo112
質問者

お礼

使用者情報について、考えていませんでした。 ありがとうございます。 ページすべてのデータをExcelで管理していたので、間にタグを入力したら便利かと思っていました。 横着せずに頑張ります。ありがとうございました。

回答No.3

#2の方が既に回答してくれていますので必要ないと思いますが、例のソースの見出しを取り出すと <h1></h1> <h2></h2> <p>や<dl><ul><li> <h2></h2> <p>や<dl><ul><li> <h2></h2> <p>や<dl><ul><li> <h3></h3> <p>や<dl><ul><li> <h3></h3> <p>や<dl><ul><li> <h2></h2> <p>や<dl><ul><li> <h2></h2> このようになっていますよね。 大見出しが有って、各一まとまりの段落やリストの見だしがあってときにはその中に小さな見出しが有るイメージになっていると思います。 ですからご質問の使い方はHTMLとしては問題はないと思います。 この辺りは、文章を作るときの感覚で不自然さがなければほとんど問題はないです。 body内に出現できるほとんどのタグは、文章の各部分を表す記号と解釈すると自然にご質問されている形になってしまうと思います。 逆にHTMLの意味合いに応じて見出しをつけるならご質問されている形にするしかないと思います。 ただ、心配なのは検索エンジンのことと思いますので、W3Cのページを例にさせていただきました。 私も検索エンジンについてははっきり言えないものですから。 それと、念のために私の感覚からすると<h2><h3>をくっつけるのは不自然に感じますけどね。

poppo112
質問者

お礼

ありがとうございました。 コンテンツに見合うような正しい文法を身につけて、これから頑張りたいと思います。 ありがとうございました。

回答No.1

Tabは連続していても、1つの空白になると思います。 せめてIE6では問題ありません。 大雑把に言ってidとclassの違いは、1つのファイルで同じ値を付けられるのがclassです。 付けられないのがidです。 例えば <div id="a"> が1つのファイルの中で2回書いてはいけないけどclassだったらOKです。 値("a"の部分)が違っていたら何度出てもOKです。 http://www.w3.org/TR/html4/ このページのソースを見てください。 h1とh2が続いていますので問題ないと思います。 しかも、ページランクが9ありますので、検索エンジンスパムにもならないと思いますよ。

poppo112
質問者

お礼

ありがとうございました! 補足部分にも答えていただければ幸いです。

poppo112
質問者

補足

ありがとうございます! idとclassの違いは、大変よく理解できました。 あ!そうだったんだ! と、納得できて、とてもうれしく思います。 tabの問題も、これから安心して対処できそうです。 ありがとうございました。 教えていただいたURLのソースを見たのですが、 h3の後にh2はないように、思えました。 h1で、そのページのタイトルを決め、(h1は1回しか使ってはダメだと聞きました。) その後に h2で小見出し(?)をだし、それに対する本文(p)があり、 さらに小見出しh3→本文(p)があるとして、 そこからさらに h2→p→h3→p と、繰り返してもよいのでしょうか? 全体で見ると、 <h1><h2><p><h3><p><h2><p><h3><p> のようになり、<h3>が出現した後に、また<h2>が出現するようになります。 まるで順番を無視したような形になってしまうので不安です。 お時間のあるときに、教えていただければうれしく思います。 よろしくお願いします。

関連するQ&A

  • divタグ+CSSでのレイアウトで、Firefox, Operaで不必要な余白ができてしまいます。

    divタグ+CSSでレイアウトしようとしています。 横関係では全体がセンタリングされていて、縦関係においては、各ブロック要素間の余白がなくぴったりくっついている状態にしたいのですが、Firefox 1.0やOpera 8などを使ってレイアウトを確認すると、上下や要素間に余白が出来てしまい、なかなかうまくいきません。 以下、HTMLとCSSのソースを、レイアウトに関する部分だけ載せます。 [--HTML--] <body> <div id="all"> <div id="header"> <p>header</p> </div> <div id="body"> <p>body</p> </div> <div id="sidebar"> <p>sidebar</p> </div> <div id="footer"> <p>footer</p> </div> </div> </body> [--CSS--] @charset "shift_jis" body { margin: 0 auto; padding: 0; text-align: center; } div#all { width: 760px; background-color: blue; margin: 0 auto; padding: 0 0 20px; text-align: left; overflow: hidden; } div#header { position: relative; left: 17px; width: 717px; height: 50px; background-color: yellow; margin: 0; padding: 0; text-align: left; } div#body { position: relative; left: 17px; width: 522px; height: 200px; background-color: lime; margin: 0 0 2em; padding: 0; text-align: left; float: left; } div#sidebar { position: relative; left:32px; width: 180px; height: 200px; background-color: red; margin: 0 0 3em; padding: 0; float: left; } div#footer { position: relative; left: 17px; width: 717px; height: 100px; background-color: fuchsia; margin: 0; padding: 0; clear: both; } ---------- marginやpaddingを"0"にしているにもかかわらず、余白が生まれてしまうのはなぜなのでしょう・・?

    • ベストアンサー
    • CSS
  • positionプロパティの設定について

    下記のようなposition: relative;の指定widthが100%に対して、position: absolute;を指定するdiv#innerのwidthが800pxでセンター表示されるように指定したいのですが、position: absolute;のtop: 0px; left: 0px;と記述すると当然のごとく左寄りに表示されます。 div#inner部分をpositionプロパティを使いセンター表示される記述方法があればご教授下さい。 なお、positionプロパティを使う方法のみのご回答でお願いします。 ----------------------------------------- div#footer { position: relative; width: 100%; height: 250px; margin: 0; padding: 0; background : url(images/footer_bg.gif) repeat-x 0 0; } div#inner { position: absolute; top: 0px; left: ?px; width: 800px; margin: 0px auto 0px auto; } -----------------------------------------

    • ベストアンサー
    • HTML
  • 中央寄せが出来ません。

    下記の様な構成で中央寄せが出来ません。 何がいけないのでしょうか? アドバイスお願い致します。 index.html <body> <div id="hedderdiv"> <div id="hedder"> </div> <div id="buttomgrp"> </div> </div> </body> CSSファイル #hedderdiv { width: 800px; height: 500px; margin: 0 auto; } #hedder { width: 800px; height: 280px; background-color:#3F3; position:absolute; top: 0px; left: 0px; margin: 0 auto; } #buttomgrp { width: 650px; height: 200px; background-color:#C63; position:absolute; top:200px; left:50px; margin: 0 auto; }

    • ベストアンサー
    • HTML
  • CSS:印刷時のレイアウト崩れについて

    CSSを利用してレイアウトしたページを作成しています。 もう殆ど作りこんだ今になって気付いたのですが、記事本文のテキストが長くなり、印刷プレビュー時に改ページされる程度にまで伸びると、一挙にレイアウトが崩れてしまうようなのです。 こちらにつきまして回避策はありますでしょうか? ★外部CSS部分 body { padding: 0px; margin: 0px; } #container { width: 762px; position: relative; margin: 0 auto; margin-left: auto; margin-right: auto; top: 0px; } #header { width: 549px; position: absolute; left: 212px; top: 3px; } #left { width: 211px; position: absolute; left: 1px; top: 0px; } #content_right { width: 510px; margin-left: 231px; padding-top: 149px; font-size: 0.8em; line-height: 140%; } #footlink { text-align: center; margin: 30px 0px 40px 0px; } ★HTML部分 <div id="container"> <div id="content_right"> <h1>h1テキスト</h1> <h2>h2テキスト</h2> <p>記事:この辺に印刷プレビューで改ページされるほど改行を入れた場合です</p> <div id="footlink"><a href="#">フッダリンク</a></div> </div> <div id="header">ヘッダメニューとかタイトル画像とか</div> <div id="left">左メニュー部分</div> <div>コピーライト</div> </div> どうにもならないようであれば、印刷時に記事部分だけ抜き出すようなカタチにするべきなのかと考えていますが、難しそうで少し尻込みしています。 良い手立てがあるようでしたら、是非教えてください。 よろしくお願いします。

  • CSSについて 入力フォームの上下揃い

    CSSについて 入力フォームの上下揃い sample.css @CHARSET "windows-31j"; html,body,div,span,h1,h2,h3,h4,h5,h6{margin:0; padding:0; font-size:100%} html { height:100%; } body { height:100%; } body > #container { height: auto; z-index:0; } #container{ width:780px; margin-top:auto; margin-left:auto; margin-right:auto; margin-bottom:auto; position:relative; min-height:100%; border:1px solid #999; } #header{ margin: 0; padding: 0px 0px 0px 0px; width: 100%; height: 100px; background-color:#4682B4; z-index:1; } #main{ padding:auto; width:100%; backgruond-color:#87CEEB; z-index:1; } #footer{ position:absolute; bottom:0px; width: 100%; height: 100px; background-color:#4682B4; z-index:1; } index.html <div id="container"> <div id="header"></div> <div id="main"> <div class="vartical-align"> <form action=""> <input type="text" name="id"> <input type="password" name="pas"> </form> </div> </div> <div id="footer"></div> </div> 上記の用なCSSにて入力フォーム等を、id=main内にて上下中央揃えにしたいのですが どうした良いでしょう?

  • CSSレイアウト positionについて

    下記のタグにてpositionタグを使って指定した場合 IEの文字サイズを変更しるとcopyrightと言うboxが ずれてしまいます。ずれない方法はありませんでしょうか? お分かりの方のご回答をお待ちしております。 なお簡単なタグを記載してくれると幸いです。 body {    margin-left:3em; margin-left:3em; } .mainspace { width:480px; position:absolute; left:260px; padding-top:10px; padding-bottom:10px; } .leftmenu { width:200px; height:280px; position:absolute; left:50px; padding:5px; } .rightmenu { width:200px; height:280px; position:absolute; left:750px; padding:5px; } .copyright { text-align:center; position:absolute; left:50px; top:480px;       width:900px padding-bottom:10px; padding-top:10px; } HTML <h1>タイトル</h1> <div class="mainspace"> <h2>タイトル</h2> <br> <h2>タイトル</h2> <br> </div> <div class="leftmenu"> <h3>メニュー</h3> <ul> <li><a href="">テスト</a></li> <li><a href="">テスト</a></li> </ul> <h3>メニュー</h3> <ul> <li><a href=""></a>テスト</li> <li><a href=""></a>テスト</li> </ul> <h3>メニュー</h3> <ul> <li>テスト</li> <li>テスト</li> </ul> </div> <div class="rightmenu"> <h3>サブタイトル</h3> <br> </div> <div class="copyright"> test </div>

    • ベストアンサー
    • HTML
  • IE6でfloatされない。

    IE6でfloatされない。 横幅950pxのコンテンツの中に divで3つのboxを作って横一列に並べているのですが ie7,8, firefoxでは意図した通りに表示されますがie6ではdiv id="c"(下記ソース)がfloatされません、どなたか解決策をご指導お願いします。 <div id="a"><img src="img/left.png" width="403" height="240" alt="スペース左" title="" /></div> <div id="b"><iframe name="iframe3" id="iframe3" frameborder="0" scrolling="no" src="home.html" title="******">*******</iframe></div> <div id="c"><img src="img/right.png" width="403" height="240" alt="スペース右" title="" /></div> css記述は下記の通りです #a{ padding-top : 0px; padding-left : 0px; padding-right : 0px; padding-bottom : 0px; margin-top : 0px; margin-left : 0px; margin-right : 0px; margin-bottom : 0px; width : 403px; height : 240px; float : left; display : inline; } #b{ padding-top : 0px; padding-left : 0px; padding-right : 0px; padding-bottom : 0px; margin-top : 0px; margin-left : 0px; margin-right : 0px; margin-bottom : 0px; width : 144px; height : 240px; float : left; display : inline; } #c{ padding-top : 0px; padding-left : 0px; padding-right : 0px; padding-bottom : 0px; margin-top : 0px; margin-left : 0px; margin-right : 0px; margin-bottom : 0px; width : 403px; height : 240px; float : left; display : inline; } #iframe3{ border-width : 0px 0px 0px 0px; margin-left : 0px; width : 144px; height : 240px; padding-top : 0px; overflow : hidden; margin-top : 0px; margin-right : 0px; margin-bottom : 0px; padding-bottom : 0px; padding-left : 0px; padding-right : 0px; } 宜しくお願いします。

  • IEでは指定の位置に配置してくれません

    添付図のようにしたいのですが、 IEでは右に空白ができてしまい配置したいところに配置できません。 図のFireFox確認時の方が配置したい位置に配置できている正です。 タグ <div id="header"> <h1><a href="index.html"><img src="images/buyoon_syoukai_web_site.jpg" alt="ブヨーン商会WEBSITE" width="180" height="50" /></a></h1> <div id="gNavi"> <ul> <li><a href="information.html"><img src="images/information.jpg" alt="information" width="120" height="50" /></a></li> <li><a href="profile.html"><img src="images/profile.jpg" alt="profile" width="120" height="50" /></a></li> <li><a href="photograph.html"><img src="images/photograph.jpg" alt="photograph" width="120" height="50" /></a></li> <li><a href="bbs.html"><img src="images/bbs.jpg" alt="bbs" width="120" height="50" /></a></li> </ul> </div><!-- /gNavi --> </div> CSS /* レイアウト設定ここから */ #pageBody { width: 740px; margin-top: 0px; margin-right: auto; margin-left: auto; margin-bottom: auto; } #header { width: 740px; height: 50px; margin: 0px; padding: 0px; } #topFlContens { width: 740px; height: 320px; margin: 0px; padding: 0px; } #box { width: 740px; height: 550px; margin-top: 20px; margin-right: 0px; margin-left: 0px; margin-bottom: 0px; padding: 0px; } /* レイアウト設定ここまで */ #header h1 { width: 180px; height: 50px; margin-top: 0px; margin-right: px; margin-bottom: 0px; margin-left: 0px; padding: 0px; float: left; position: absolute; } #gNavi { list-style-type: none; width: 560px; height: 50px; margin-top: 0px; margin-right: 0px; margin-left: 220px; margin-bottom: 0px; float: right; position: absolute; } #gNavi ul { margin: 0px; } #gNavi li { list-style-type: none; margin: 0px; padding: 0px; float: left; } Web初心者のため、アドバイス頂けると幸いです。

    • ベストアンサー
    • HTML
  • htmlを組んでいるのですが、DIVを使用した階層の作り方がわからず困

    htmlを組んでいるのですが、DIVを使用した階層の作り方がわからず困っています。 2レベルまでの階層ならば、まだわかるのですが、3レベル以上になった場合に思い通りに動作させることができなくなってしまいます。 具体的には、下で記述した場合、 <div id="test"> テスト </div> が、右寄せにならないのですが、何がいけないのでしょうか? 【-------------html-------------】 <DIV id="wrap"> <div id="head"> <div id="logo"> ロゴ配置予定 </div> <div id="test"> テスト </div> </div> <div id="menu"> メニュー </div> <div id="left"> レフト </div> <div id="right"> メインコンテンツ </div> <div id="foot"> フッタ </div> </dib 【-------------css-------------】 /* レイアウトの設定*/ body{ margin:0px; padding:0px; text-align:center; } /* ラッパーの設定*/ #wrap{ position:relative; width:600px; background-color:#FFFFCC; margin:0px auto; text-align:left; } /* ヘッダーの設定*/ #head{ width:600px; height:350px; background-color:#CC9999; div#logo{ position: absolute; float: left; width:200px; height: 30px; } div#test{ width:100px; height: 30px; float: right; } } /* ヘッダーの設定*/ #menu{ width:600px; height130px; background-color:#CC9900; } /* 左側の設定*/ #left{ width:150px; height:300px; float:left; background-color:#FFAC99; } /* 右側の設定*/ #right{ width:450px; height:300px; float:right; background-color:#CCCCFF; } /* フッターの設定*/ #foot{ position:relative; width:100%; height:30px; background-color:#CCFFCC; clear:both; }

  • position:absoluteなのにセンター合わせができるのは何故?

    CSSです。 うまく表示されているのですが、何でうまくいっているのかわからないことがあります。 というのも、コンテンツをセンター合わせのレイアウトにしているというのにposition:absoluteのパーツがちゃんとセンター合わせがなぜかできてしまっているんです。 ユーザがブラウザの横幅を拡げようとも狭めようとも、常に左右をセンター合わせするつくりになっています。 以下が成功ソースです。 ※下記のlinkboxは、headerというIDセレクタに包含されている。 div#linkbox { position: absolute; top:50px; padding-left: 300px; width: 500px; _width: 800px; } div#header { background: #333333; text-align: left; width:800px; height:100px; margin-left: auto; margin-right: auto; } なぜこのソースでうまくいってしまうんでしょうか。 absoluteでも、左右を設定しない場合、自動で包含ブロック内に収まるとでもいうのでしょうか。

    • ベストアンサー
    • HTML