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

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

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

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

CSS

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

Q&A

解決済

2回答

1481閲覧

cssのレイアウトについて

退会済みユーザー

退会済みユーザー

総合スコア0

HTML

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

CSS

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

0グッド

0クリップ

投稿2018/03/03 02:52

box1とbox4の間にbox2(上),box3(下)を入れたレイアウトにしたいです。
floatレイアウトで試したもののbox2(上),box3(下)が横並びになってしまいました。
どのようにすれば、いいか教えて欲しいです。

HTML

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="utf-8"> 5 <title></title> 6 <link rel="stylesheet" href=""> 7</head> 8<body> 9 10 <div id = "left_box">1</div> 11 <div id = "onTheMiddle_box">2</div> 12 <div id = "underTheMiddle_box">3</div> 13 <div id = "right_box">4</div> 14 15</body> 16</html> 17

css

1#left_box { width: 180px; 2 height: 250px; 3 border: 1px solid black; 4 float: left; 5} 6#onTheMiddle_box { width: 180px; 7 height: 125px; 8 border: 1px solid black; 9 float: left; 10} 11#underTheMiddle_box { width: 180px; 12 height: 125px; 13 border: 1px solid black; 14 float: left; 15} 16#right_box { width: 180px; 17 height: 250px; 18 border: 1px solid black; 19 float: left; 20}

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

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

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

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

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

guest

回答2

0

ベストアンサー

最小限の対応なら、下記追加

css

1#underTheMiddle_box { 2 margin: 127px 0 0 -182px; 3} 4

自分ならレイアウト用とbox用で、構造を分けます。
結構書き変えちゃいますが。

html

1<div id = "left_area"> 2 <div class = "box" id="left_box">1</div> 3</div> 4<div id = "center_area"> 5 <div class = "box" id="onTheMiddle_box">2</div> 6 <div class = "box" id="underTheMiddle_box">3</div> 7</div> 8<div id = "right_area"> 9 <div class = "box" id="right_box">4</div> 10</div>

css

1.box { 2 width: 180px; 3 height: 250px; 4 border: 1px solid black; 5} 6#onTheMiddle_box, #underTheMiddle_box { 7 height: 125px; 8} 9#left_area, #center_area, #right_area { 10 width: 180px; 11 float: left; 12} 13 14

投稿2018/03/03 05:18

kszk311

総合スコア3404

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

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

退会済みユーザー

退会済みユーザー

2018/03/03 08:14

理解できました!回答ありがとうございます。
guest

0

今の提示コードでは全てのdiv(box)がfloat:leftなので、記述順に横並びになります。

考え方のひとつとして、div(box1からbox4)の全てを一度にfloatさせるのではなく、3つのdiv(box)をfloatさせて横に並べます。その後に、真ん中のdiv(box)を親として「box2」と「box3」をfloatなしで設定すると上下に並びます。

-追記-
「kszk311」さんの回答のまんまですね。まるかぶりでスミマセン。(^^;)

投稿2018/03/03 06:27

編集2018/03/03 06:39
yoshinavi

総合スコア3523

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

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

退会済みユーザー

退会済みユーザー

2018/03/03 08:13

回答ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問