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

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

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

HTMLの<div>タグです。<div>要素は特に意味を持っていません。ひとかたまりのコンテンツに使用されるか、(セマンティックとして)他の要素では記述できないコンテンツに使用されることが多いです。

CSS

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

Q&A

解決済

3回答

219閲覧

Divタグについて。

Teppei.h

総合スコア11

div

HTMLの<div>タグです。<div>要素は特に意味を持っていません。ひとかたまりのコンテンツに使用されるか、(セマンティックとして)他の要素では記述できないコンテンツに使用されることが多いです。

CSS

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

0グッド

0クリップ

投稿2020/05/03 23:30

〈div class="example"〉
〈p〉There is a dog 〈/p〉
〈/div〉

ここでclassを、
.example
{color: white; }
で指定すると、P タグの中の文字が変わりますが、なぜ exampleに指定してるのに、P タグの文字は変わるのでしょうか?

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

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

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

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

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

m.ts10806

2020/05/03 23:31

〈〉 ↑そもそもHTMLとして使えないので動きません。 コードはコピペしてください。 マークダウンで提示してください。
m.ts10806

2020/05/03 23:32

あと、調べればわかることも多いです。調べたこと試したことを記載してください
guest

回答3

0

投稿2020/05/03 23:41

thyda.eiqau

総合スコア2982

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

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

Teppei.h

2020/05/03 23:43

ありがとうございます
guest

0

なぜそういう仕様がつくられたのか、私の解釈を書いてみます。

以下の場合を考えてみてください。

HTML

1<div class="example"> 2 <div class="example-header"> 3 <h2>title title</h2> 4 </div> 5 <p>There is a dog</p> 6 <ul> 7 <li><a href="">aaaaaa</a></li> 8 </ul> 9 <p>aaaa aaa aaaaaaa <a href="">リンク文字</a> aaa aaaaaaa</p> 10</div>

「.example」の背景色が黒で、すべての文字を白にしたいと思ったとき、
もし「.example」に指定した文字色の指定が子要素には反映されなかったらどうなるでしょうか?

CSS

1.example 2.example div 3.example h2 4.example p 5.example li 6.example a { 7 color: white; 8}

↑このような形でcolor: white;を指定しなければならなくなります。面倒じゃないですか?

上記のような面倒な記述を減らすため、
「.example」に文字色を指定すると子要素にも反映されるという仕様があるのだと考えると納得できるのでは、と思われます。

CSS

1.example { 2 color: white; 3}

技術的な仕様としては以下を見てみてください。
https://developer.mozilla.org/ja/docs/Web/CSS/inheritance

投稿2020/05/03 23:51

new1ro

総合スコア4528

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

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

0

ベストアンサー

コメントでの指摘を受けて、回答を訂正します。
〈div class="example"〉と対応する〈/div〉の間の全てが、"example"というクラスなので、

.example {color: white; }

とすれば、〈div class="example"〉と対応する〈/div〉の間のコンテンツに適用されますが、その中に、<p>などのオブジェクトがあれば、そのオブジェクトに継承されます。だから、"There is a dog"は白くなります。

<p>に新たに、{color: red; }を指定すれば、上書きされて、"There is a dog"は赤くなります。 "~~は、当然、"<p>There is a dog</p>"に適用されます。~~

投稿2020/05/03 23:40

編集2020/05/04 00:11
yiwsk

総合スコア38

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

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

Teppei.h

2020/05/03 23:42

なるほど、ここでいちいちP タグに色指定しなくていいんですね。 回答ありがとうございます。
thyda.eiqau

2020/05/03 23:47

この表現は正確ではありません。.example > pに対して、.exampleに指定したスタイルがすべて適用されるかのように読めます。実際にはそのような動きにはなりません。
yiwsk

2020/05/03 23:58 編集

なるほど、理解が浅かったです。 exampleの中にある<p>は、exampleクラスを継承するのですね。 質問の趣旨が、cssの適用範囲だと思ったので、あのような答え方をしましたが、表現が不正確でした。
m.ts10806

2020/05/03 23:56

質問者及び後から読む人が間違った理解のまま進んでしまうと弊害しかないので、今からでも訂正して質問者に再考を促した方が良いと思います(私も低評価しています)
thyda.eiqau

2020/05/03 23:59

より正確には、exampleというクラスの中にある<p>のcolorの値が、exampleクラスに指定されたcolorの値を継承しています。言葉を省略しているだけかもしれませんが。
yiwsk

2020/05/03 23:59

すみません、不正確な投稿をして、どのように訂正すればいいですか? 回答を訂正してしまうと、それについたコメントが無意味になってしまいますね。
m.ts10806

2020/05/04 00:00

「それぞれのタグが持つそれぞれの指定のデフォルト値」の考え方も可能なら覚えておきたい。
thyda.eiqau

2020/05/04 00:01

追記すればよいです。もとの投稿内容は残して(打ち消し線を入れる方もいらっしゃいます)末尾に書き足すのがよいと思います。
m.ts10806

2020/05/04 00:01

取り消し線をつけた上で、「コメントでの指摘を受け訂正します」とか一言書いておけば良いと思います。 (いずれにしても編集履歴から確認できるので「完全無意味」にはなりませんが、残しておいた方が丁寧)
yiwsk

2020/05/04 00:03

確かに、exampleに{color: white; }を指定しても、その中にある<p>に{color: red; }を指定すれば、"There is a dog"は赤くなりますね。指定しなければ、上位クラスの指定が継承されるということですね。すみません。
thyda.eiqau

2020/05/04 00:07

ご認識のとおりです。同じように、.example { border: 1px solid #f00; } としても、pには継承されません(もしborderの値も継承されるとしたら、pのborderとdivのborderの2本が表示されるはず)。継承されるプロパティとされないプロパティがあるということはCascading Style Sheetの "Cascading" のなんたるかの基本のところなので、覚えておく必要があります。
yiwsk

2020/05/04 00:14

若輩者が回答して迷惑をおかけしました。とても勉強になりました。ありがとうございます。
thyda.eiqau

2020/05/04 00:19

いや、別に迷惑ってことはないですが。私も何度かコメントで指摘されて認識を正せたり深められたりした経験があります。この手のフォーラム系のサービスの面白いところですね。
m.ts10806

2020/05/04 00:23

確認しました。私の低評価を外しました。 ※でも当の質問者は丸投げ繰り返してるだけなので伝わらなそうなのが残念 〈〉をそのまんまにしてるし
yiwsk

2020/05/04 00:24

いつもは、質問をして助けていただく側なので、たまにはお答えして役に立てるかなと思ったのですが、甘かったですね。汗 若輩者と書きましたが、還暦越えのサンデープログラマーです。 Cascading(階層)の意味が、本当によく理解できました。
m.ts10806

2020/05/04 00:27

>質問をして助けていただく側なので、たまにはお答えして役に立てるかなと思ったのですが 非常に良い心がけかと思います。 回答することで自身の理解度を確かめられるし、深めることも出来る。 私は回答一本でやってきてますが、自身でも成長は感じています。 がんばってください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問