No.4ベストアンサー
- 回答日時:
なるほど・・皆さんの回答を見て
.test div・・・子孫セレクタの意味ですね。
セレクタの基本は、単純セレクタを接続子でつなげて適用対象を特定する
単純セレクタ
タイプセレクタと全称セレクタのこと(タイプセレクタとはHTMLの要素名)
例) body p
単純セレクタに擬似要素や擬似クラスをつけて使うこともある
タイプセレクタは詳細度1、全称セレクタは0
それにつながるセレクタ
子孫セレクタ 半角スペースです。
body div.section p{}と言うふうに使う
div.section div{}でその子孫末代までdivに適用される。
子セレクタ >です。
body>divの場合、body div divには適用されない。直接の子孫一代のみ
隣接セレクタ +です。
兄に+がいるpだけに適用
属性セレクタ 単純セレクタ[attr~=value][attr][attr=value][attr|=value]など
詳細度は10あります。
例) a[name]{} 属性にnameをもつa要素に適用
例) div[class~=test] class属性の値が半角スペースで区切られているとき
そのうちのひとつが一致するとき class属性については
div.testとまったく同じ意味を持つ
クラスセレクタ
[class~=value]の意味
詳細度は10
一意セレクタ [id=value]と同じ、#valueとかく
例) p#test
詳細度は100になる。ひとつの文書に一度しか現れないので単純セレクタを
省略して#testでもよいが、複数の文書に共通のスタイルシートを適用する
ことも考えれば、div.section h2#testとしておくほうが無難かも
擬似クラス:first-child,:hoverなど
詳細度10
擬似要素:first-letter :first-lineなど
詳細度1
たとえば、次のようなウェブ標準マークアップされたHTMLにおいて
<body>
<div class="header">
<h1>見出し</h1>
</div>
<div class="section">
<h2>見出し</h2>
<div class="section">
<h3>見出し</h3>
<p>文章でここは<em>重要A</em></p>
</div>
</div>
<div class="footer">
<p>ここは<em>重要B</em></p>
<p>ここは<em>重要C</em></p>
</div>
</body>
で、em{text-decoration:under-line;}ですべてのemに下線が引かれます。(詳細度は1ですね)
div.footer em{color:red}でfooter内のemがすべて赤くなります。詳細度は12ですね。
div.footer p+p em{font-weight:bold;}でCのみ太字になります。詳細度は14ですね。
div em{color:green}だと、詳細度が2ですから、Aは緑になりますが、BとCは、詳細度12で赤に指定されているので上書きされませんね。
このようにセレクタをつなげて、不必要なidやclass名をつけなくても、特定の場所を特定できるのです。
この仕組みがカスケーディングの要のひとつです。従来のようにHTML作者がデザインを考えなくて、文書構造だけに専念してマークアップできるようにするためです。★HTMLにデザインのためにclass名やid名をつけなくてすむのです。それを覚えればね。だから便利なのです。
すみません、初心者でしてちょっと難しかったです(;_;)今後勉強しつつ、何度かこのご回答を読み返していきたいと思います(^^)
ただ「このようにセレクタをつなげて・・・」から始まる最後の文は非常にわかりやすかったです!セレクタについて理解が足りなかったのだなと、皆様から頂いたご回答からわかりました。
どうも丁寧にご説明いただきありがとうございます!
No.3
- 回答日時:
こんな感じでしょうか
/*--HTML--*/
<div class="test">
<div>
<p>ここのdivと</p>
</div>
<div>
<p>ここのdivは同じスタイル</p>
</div>
</div>
/*--CSS--*/
.test div{
border:solid 2px #dcdcdc;
padding:10px;
margin:10px;
}
testの中のdiv全てに適用
No.2
- 回答日時:
.test dev・・・・・そんなの知りません。
そもそも、.testって書かれていたとき、それが意味することわかってますか?
時々と言うか、オーサリングツールを作ったりすると出力されたりするセレクタですが、これはCSS2では
*.test の略とみなされます。
【引用】____________ここから
5.3 Universal selector
The universal selector, written "*", matches the name of any element type. It matches any single element in the document tree.
If the universal selector is not the only component of a simple selector, the "*" may be omitted. For example:
・ *[lang=fr] and [lang=fr] are equivalent.
・ *.warning and .warning are equivalent.
・ *#myid and #myid are equivalent.
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[Selectors( http://www.w3.org/TR/CSS2/selector.html#universa … )]より
「universalセレクタが単純セレクタの唯一の構成条件ではない時、アスタリスクを省略することができる。」ということです。省略形だということを理解していないと本来の使い方ができません。
本来は、div.section単純セレクタ(*とタイプセレクタ)につなげて使うのです。さらに、この.と言う結合子は、div[class~=section]の省略でCSS1とCSS1と整合させるために使われています。
私は100%、.testなんて書き方はしません。必ず単純セレクタにつなげて使用します。ですから.test dev???(devはわかりませんがtypeのことかも)は、覚える必要のない書き方だと
Selectors ( http://www.w3.org/TR/CSS2/selector.html )
セレクタ ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2 … )
をしっかり読んで、
Assigning property values, Cascading, and Inheritance ( http://www.w3.org/TR/CSS2/cascade.html )
値の割り当て、カスケード処理、継承 ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2 … )
を読む。
最低限
div.section.body p+p em{}
で文書内のどこを指定しているとか、詳細度がいくつかなどが理解できるようになること。。
難しいですね(>_<)教えていただいたリンク先は今後時間をかけて理解していきたいと思います。
どうもありがとうございました(^^*)
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- サーバー Windowsサーバでグループを検索したい 1 2023/04/17 15:30
- PHP ECCUBE4のページ管理でPHPを実行させたい 1 2023/04/06 11:42
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- システム ホームページの仕組みについて 3 2022/08/16 14:33
- HTML・CSS brにクラスをつけてcssでdisplay:none;としても改行されてしまいます 2 2022/06/22 14:45
- Visual Basic(VBA) Selenium Basicの件 5 2023/04/10 20:55
- PHP PHP一覧表示した項目にリンクをはりたい 1 2023/07/12 17:08
- Visual Basic(VBA) Excle VBA Findメソッドについて 3 2022/07/15 13:56
- その他(プログラミング・Web制作) VScodeでpythonプログラムの関数を実行したい 2 2022/07/13 19:24
- 食生活・栄養管理 腸活にオススメの食品やサプリメントを教えてください。 4 2022/06/28 16:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
idの中のid指定
-
CSS, リンクの色を一部変えるに...
-
HTML要素のid/class名の長さに...
-
brにクラスをつけてcssでdispla...
-
外部css定義したclassをht...
-
リンクの文字の色の反転につい...
-
CSSのクラス名・ID名の指定でワ...
-
CSSの適用を一部だけ除外したい。
-
最近、HTMLのヘッダーをIDで定...
-
同ページ内でリンクの色を変え...
-
<span>で2重にかけているものを...
-
マススポインタがリンクの上に...
-
個別にリンクの色を変える方法
-
透過背景を解除するにはどうす...
-
htmlの文字が縦書きになる
-
【ヒトの神秘】美男美女から何...
-
超音波で洗脳。
-
リンクを知らせる手のマークが...
-
ボタンをセル内一杯に表示させ...
-
input type="hidden"で取得した...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
個別にリンクの色を変える方法
-
htmlのid属性って必要なの?
-
最近、HTMLのヘッダーをIDで定...
-
HTML要素のid/class名の長さに...
-
CSSに同じclass名がいっぱい‥。...
-
liリストタグの背景色に色がつ...
-
CSSのクラス名・ID名の指定でワ...
-
サイトにjQueryが使用されてい...
-
ページの左右の余白(枠外)に...
-
CSS, リンクの色を一部変えるに...
-
透過背景を解除するにはどうす...
-
<span>で2重にかけているものを...
-
idの中のid指定
-
display:table-cell内でこんな...
-
CSSが効かずどのように指定すれ...
-
スタイルシートで、id属性の中...
-
【VBA/HTML】IE画面内のページT...
-
brにクラスをつけてcssでdispla...
-
外部css定義したclassをht...
-
CSS内で使われる山括弧の意味が...
おすすめ情報