質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

3回答

1529閲覧

レイアウトについて

hikaru-ichimura

総合スコア12

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2015/09/08 15:34

こんばんは。見てくださってありがとうございます。

ぜんぜん簡単なことなのかもしれませんが、
下記のhtmlとcssでなぜnavがwrapperの
下のほうに配置されてしまうのか、
sectionの周りにできてしまう余白はなんなのか
がわからないです。

初歩的な質問で申し訳ございません。
よろしくお願いいたします。

html

<!doctype html> <html> <head lang="ja"> <meta charset="utf-8"> <title>test</title> <meta name="description" content=""> <link type="text/css" rel="stylesheet" href="style.css"> </head> <body> <header> </header> <div id="wrapper"> <nav> <ul> <li>1</li><!-- --><li>2</li><!-- --><li>3</li><!----> </ul> </nav> <section> </section> </div> <footer> </footer> </body> </html> ------------------------------------------

css

*{
margin:0;
padding:0;
}
header{
width:100%;
height:300px;
background:#000;
}
div#wrapper{
width:960px;
margin:0 auto;
}
nav{
display:inline-block;
width:500px;
background:#00f;
}
nav ul li{
color:#fff;
}
section{
display:inline-block;
width:450px;
height:100px;
background:#0f0;
}
footer{
width:100%;
height:100px;
background:#aaa;
}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/09/08 16:12

そもそもですが…あなたはどのようにレイアウトしたいのかがわかりません。 どうしたいのかがわからずに、なぜかを問われても回答の仕様がありません。
guest

回答3

0

html

1<body> 2 <header> 3 </header> 4 <div id="wrapper"> 5 <nav> 6 <ul> 7 <li>1</li><!-- --> 8 <li>2</li><!-- --> 9 <li>3</li><!-- --> 10 </ul> 11 </nav> 12 <section> 13 </section> 14 </div> 15 <footer> 16 </footer> 17</body>

わかりやすくすればこうですね。
親子関係がはっきりします。
このスペースみたいなのはキーボードのTABと書かれたボタンでうてます。
インデントって言います。

なぜnavがwrapperの下のほうに配置されてしまうのか、

<nav>をid="wrapper"の次に書いているから(設定しているから)です。 htmlってどこに何を書くかを決めるためのものなんですよね。 (悪い言い方ですけど) id="wrapper"はなくても大丈夫ですね。

sectionの周りにできてしまう余白はなんなのか

<section><article><p><img>など タグには空白が設定されています。 cssでは padding 内枠 margin 外枠 です。 これの値を0にすれば空白は消えます。 逆に値を入れればそのぶん空白ができます。 ```css section { padding: 0; margin: 0; } ``` ```css section { padding: 50px; margin: 50px; } ```

投稿2015/09/11 10:46

makoto-n

総合スコア436

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

css

1div#wrapper{ 2 width:960px; 3 margin:0 auto; 4 display: table; 5} 6nav{ 7 display:table-cell; 8 width:500px; 9 background:#00f; 10 vertical-align: top; 11} 12section{ 13 display:table-cell; 14 width:450px; 15 height:100px; 16 background:#0f0; 17}

親のタグに display: table;
子供に display: table-cell;

これでどうでしょうか
また、nav, section だと全てのsection に反映されてしまうので
class="tekitou" にして 反映させた方いいかと思います。

あと、ul li のところでコメントで埋めていますが、
/li の省略タグは省略でき、inline-blockにした場合の横の空白をなくすことができます。

投稿2015/09/09 03:56

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hikaru-ichimura

2015/10/05 15:55

遅くなってしまい申し訳ございません。 /liって省略できたんですね。 こちらの回答でやりたいことができましたので、ベストアンサーとさせていただきます。 たくさんのご回答ありがとうございました。
guest

0

私はdisplay:inline-block;が大嫌いです.
html内の改行がデザインに影響するなんて最悪の設計だと思っています.

html

1</nav> 2<section>

これを

html

1</nav><section>

こうするだけで解決します.

floatの方がまだ好きです.
個人の感想ですが.

投稿2015/09/08 20:30

KenTerada

総合スコア751

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問