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

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

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

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

CSS

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

Q&A

解決済

1回答

4527閲覧

cssでdivタグの高さの指定が効かない

hodoru3sei

総合スコア284

HTML

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

CSS

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

0グッド

0クリップ

投稿2019/07/06 09:01

やりたいこと

htmlとcssで以下のようなレイアウトのwebページを作りたいと考えています。
イメージ説明

わからないこと

わからないことが2つあります。

❶ pタグに文字を入れずに空白をつける方法

該当部分のhtmlとcssは以下のように定義しています。

現状<p>タグに何かしらの文字列(空白以外)を入れておくとオレンジ色の枠ができるのですが、pタグを削除したり空にするとオレンジ色がなくなってしまいます。

html

1 <div class="empty"> 2 <p>a</p> 3 </div>

css

1.empty { 2height:50%; 3background: orange; 4}

####❷ 高さの%指定が適応されていない
cssで空白部分などにheightを%で指定しているのですが適応されていないようでオレンジの背景の大きさが変わらない状態です。widthの%指定は正常に動作しました。

#####コード全文

<!doctype html> <head> <link rel="stylesheet" type="text/css" href="test.css"></head> <meta charset="UTF-8"> <title>inouefood</title> <html> <body> <div class="empty"> <p>a</p> </div> <div class="description"> <p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p> </div> <div class="application"> <div class="app1"> <img src="img/icon1.png" width=200 height=200> </div> <div class="app2"> <img src="img/icon2.png" width=200 height=200> </div> </div> </body> </html>

css

1body { 2 /* 画像ファイルの指定 */ 3 background-image: url(img/background.png); 4 /* 表示するコンテナの大きさに基づいて、背景画像を調整 */ 5 background-size: cover; 6 height: 100%; 7} 8p { 9color: #ffffff; 10font-size: 150%; 11text-align:center; 12} 13 14.empty { 15height:30%; 16width:50%; 17background: orange; 18} 19 20.description { 21height:30%; 22} 23 24.application { 25content: ""; 26display: block; 27clear: both; 28} 29.app1 { 30float: left; 31width:50%; 32text-align:right; 33} 34.app2 { 35float: left; 36width:50%; 37text-align:left; 38}

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

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

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

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

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

guest

回答1

0

ベストアンサー

<percentage>
包含ブロックの高さのパーセントで高さを定義します。

height - CSS: カスケーディングスタイルシート | MDN

包含ブロックとはひとことで言うと親要素のことです。そして親要素のheightautoの場合はautoとして扱われます。
なので、❶❷の現象は同じ原因です。
.emptyの親要素であるbodyheight100%になっていますが、その親要素のhtmlautoですから、auto扱いとなり、.emptyauto扱いになります。

css

1html{ 2 height: 100%; 3}

を追加してみてはいかがでしょうか。

投稿2019/07/06 10:57

Lhankor_Mhy

総合スコア36115

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

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

hodoru3sei

2019/07/06 11:21

ありがとうございます! 解決しました
hodoru3sei

2019/07/06 12:03

一つ気になったことがあるのですが、cssでhtmlのせっていをおこなうときは . 演算子をつけなくて良いのでしょうか? 今まで他の要素には. をつけてしまっていたので区別する方法があるのであれば教えていただきたいです
Lhankor_Mhy

2019/07/06 13:03

.empty ←の.ドットですか? これは、クラス名を表わします。 .html → class="html" html → <html> です。
hodoru3sei

2019/07/08 02:26

なるほど! モヤモヤが解決しました、ありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問