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

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

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

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

CSS

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

Q&A

解決済

4回答

1239閲覧

最後のボックスの色がなくなってしまいます....

zeben

総合スコア67

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

CSS

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

0グッド

0クリップ

投稿2015/12/01 05:44

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>ボックステスト</title> <link rel="stylesheet" type="text/css" href="test.css"> </head> <body> <div class="box1"> BOX1 </div> <div class="boxA">
<div class="box2"> <h1>ボックス2</h1> </div> <div class="box3"> <p>あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお</p> </div>
</div> <div class="box4">
<h1>ボックス4</h1>
</div> </body> </html>

これに対して

  • {
    padding:0;
    margin:0;

}

body{
margin: 0;
}

.boxA:after{

display: block; clear: both;

}

.box1{
background-color: red;
height:200px;

}
.box2{
background-color: blue;
float: left;
height:300px;
width:100%;
margin-right: -300px;

}
.box3{
background-color: gray;
float:left;
height:300px;
width:300px;
}

.box4{
background-color: green;
height:200px;
}
というCSSなのですが
ボックス4だけ色指定をしているにも関わらず無色になってしまいます。
なぜでしょうか?
初心者ですが宜しくお願い申し上げます。

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

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

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

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

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

guest

回答4

0

.boxA:afterにcontentプロパティの指定が無いからではないでしょうか?

投稿2015/12/01 10:17

hotsecret

総合スコア16

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

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

zeben

2015/12/01 10:18

contentプロパティの指定は内容がなくてもcontent:"";のような形で記述が必要なのでしょうか?
guest

0

「.box4」に回り込み解除プロパティを付与する事で解決します。

css

1clear:both;

原因は、「float」された要素は実体としての高さを失う為、「.box4」の直前の要素に重なって見えなくなっています。
※「実体としての高さを失う」と言う表現は、個人的な認識です

投稿2015/12/01 06:46

seiji_maemura

総合スコア129

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

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

zeben

2015/12/01 08:56

ありがとうございます。だからこそboxAというdivでclear:both; しているのですがなぜだめなのでしょうか?
guest

0

ベストアンサー

css

1.boxA:after{ 2 content: ""; 3 display: block; 4 clear: both; 5} 6

これでbox4の背景色も表示されました。
詳しいことはよくわかってないのですが、スタイルを適応する中身がないのでダメ、ということなのかもしれません^^;

投稿2015/12/01 10:21

ao_love

総合スコア441

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

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

0

.box4{
float:left;
background-color: green;
height:200px;
}

box4にfloat:leftをつけたら、緑になりましたよ。
今回の場合、box2とbox4が重なっていたため、緑色が表示されていなかったようです。
詳しい原因が分かっていないのでちゃんとした説明はできませんが、問題分析をするには、

http://www.buildinsider.net/web/chromedevtools/01

このサイトにあるようなツールを使ってみるのがいいと思います。

投稿2015/12/01 06:02

LaLaLand

総合スコア107

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

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

zeben

2015/12/01 06:35

ありがとうございます。 floatを使わずに行いたいのですが...
zeben

2015/12/01 09:00

ありがとうございます! 前述の方法でも可能でしたし、今回の方法でも可能でした。しかし、boxAでclear:both; をしているにも関わらずなぜだめなのかという事が疑問として残ってしまいました。すみません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問