実現したいこと&問題点・気になること
HTML、CSSの勉強中です。
親要素(p)に子要素(div)を入れて、親要素のidプロパティ指定で要素全体(子要素まで)に
CSSを適用しようとしたのですが期待通りになりません。
期待:親要素(p)の中の文は、すべてフォントサイズが30pxになる
実際:親要素(p)の指定が子要素(div)に適用されない
※下記のソースコードで
「これはp要素の中のclass要素です。」、2個目の「これはp要素です。」のフォントサイズがデフォルト
調べてみると下記の記事が出てきて、↑のようになってしまう理由については理解できたのですが
どのように指定すればいいのか対処法が分かりません。
pでdivが囲めない件
p要素は、1つの段落を表し、p要素自体を含め、ブロックレベル要素を内容とすることはできない。
p要素は終了タグが省略できるため、p要素にブロック要素を入れ子にしようとすると、
ブロック要素の開始タグの前にp要素の終了タグが省略されていると解釈され、
ブロック要素はp要素の後続の兄弟とみなされます。
また、親要素をp要素でなくdiv要素にすると期待通りに表示されます。
なぜ同じブロック要素であるdiv要素だと許されるのでしょうか?
div要素は終了タグを省略できないからでしょうか?
(なぜ省略できないのか気になります…となると、なぜp要素は省略できるのかも気になりますが…)
###質問をまとめると
★質問1
p要素を親とした場合、その子要素にもid/class要素を持たせてCSSを適用する方法は?
ただのテキストには、どのインライン要素が適しているのか?
★質問2
なぜdiv要素(ブロック要素)では、中にブロック要素を入れることができるのか?
拙い質問で申し訳ありませんが、ご回答をよろしくお願いいたします。
該当のソースコード
html
1<!DOCTYPE html> 2<html> 3<head> 4 <meta charset="utf-8"> 5 <title>sample</title> 6 <link rel="stylesheet" href="style.css"> 7</head> 8<body> 9 <p id="p-check"> 10 これはp要素です。 11 <div class="hoge">これはp要素の中のclass要素です。</div> 12 これはp要素です。 13 </p> 14</body> 15</html>
css
1#p-check { 2 font-size: 30px; 3} 4.hoge { 5 color: red; 6}

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/31 15:30