セレクタ―に"+"(プラス記号)を使い下記のようにCSSを記述しました。
p + p {
color: orange
}
下記の解説通り解釈すると<section>の後にある同じ階層にある3つのPタグの真ん中だけに”color:orange”が適用されるのではないでしょうか?
”+”(プラス記号)を使ったセレクタ―の使い方が自分の中でうまく解釈できません。
”~”(波ダッシュ? チルダ? 記号)を使ったセレクタ―の組み合わせとうまく整理できません。
”「~区切りだと後ろに続くもの」、「+区切りだとすぐ後ろだけ」というイメージですね。”とサイトに解説してありますが、一番下に記述したタグのように「+区切り」でもすぐ後ろだけがオレンジ色に変わるわけではありません。
どなたかわかりやすいように解説していただけないでしょうか? よろしくお願いいたします。
------------------------------------
あるサイトには以下のような説明があります。
https://saruwakakun.com/html-css/reference/selec …
◯ + ◯ {〜}
「+」で区切ると、同じ階層のすぐ隣(後ろ)の要素にのみCSSが適用されます。
使用例
(HTML)
<p>適用されない</p>
<p class="example">適用されない</p>
<p>適用される</p>
<p>適用されない</p>
(CSS)
.example + p {
/*.exampleのすぐ後のpタグに対して…*/
color: orange;
}
------------------------------------
https://saruwakakun.com/html-css/reference/selec …
「~」で区切ると同階層の後につづく要素に適用されます。
r
▼使用例
<p>適用されない</p>
<p class="example">適用されない</p>
<p>適用される</p>
<p>適用される</p>
.example ~ p {
color: orange;
}
/*.exampleの後のpタグに対して…*/
---------------------------------------------
<main>
<h1 class="ttl info">Title</h1>
<p>Hello, hello.</p>
<section>
<h1 class="ttl">Title</h1>
<p>Hello, hello.</p>
●<p>Hello, hello.</p>
<p>Hello, hello.</p>
</section>
</main>
(CSS)
p + p {
color:orange;
}
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
><section>の後にある同じ階層にある3つのPタグの真ん中だけに”color:orange”が適用されるのではないでしょうか?
A,
いいえ、
p + pの場合だと、
Pの次P(次隣)がcolor:orangeになります!
真の隣なので、別のタグをを挟んだり順列だと無効になります。
<h1>title</h1>
<p>適用されない</p>
<p>前がPだから、次Pが適用される</p>
<p>前がPだから、次Pが適用される</p>
<p>前がPだから、次Pが適用される</p>
-----------
2個目だけにCSSで適用したいのなら、私なら、
h1 + p + p { color:orange;}
h1の 次Pの 次P って事です。
-----------
「~」でも、
:first-child
:nth-child(n)
からの応用でも可能ですが、貴方のスキルだと、まだ時期尚早でしょうから、
先に「+」を完璧に学習してからにしましょう。
頭で覚えるよりも、使って覚えた方が良いような気がします。
私は、「~」はまず利用しませんが、
「+」と「:first-child」は毎回のように利用します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS htmltとcssの連携をして画像縮小について 1 2022/11/15 20:32
- HTML・CSS Dreamweaver のテンプレートでの相対パスの設定について 2 2023/06/13 17:28
- HTML・CSS cssの display: flex;で横並びにならずに困ってます 1 2022/12/04 13:18
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
- HTML・CSS html cssのmargin 5 2022/12/03 11:04
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- HTML・CSS CSSが上手く反映されないみたいです 2 2022/11/21 16:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
clear bothで回り込みがうまく...
-
サイトにjQueryが使用されてい...
-
CSSを使うと<IMG>タグのHSPACE...
-
:hoverで他の要素の値を変更で...
-
CSSでテキストリンクの色を複数...
-
CSSでひとつだけdisplay:none;...
-
CSSに同じclass名がいっぱい‥。...
-
idの中のid指定
-
最近、HTMLのヘッダーをIDで定...
-
CSSで下まで背景色を伸ばす方法
-
CSSの適用を一部だけ除外したい。
-
個別にリンクの色を変える方法
-
セルの高さが変化しない(ワー...
-
CSSのホバーエフェクト
-
「CSSで1つの要素に複数のクラ...
-
htmlのid属性って必要なの?
-
リンク文字の 一部だけ色を変...
-
htmlの文字が縦書きになる
-
【ヒトの神秘】美男美女から何...
-
html/cssの、navを2段にする...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
idの中のid指定
-
CSSに同じclass名がいっぱい‥。...
-
個別にリンクの色を変える方法
-
HTML要素のid/class名の長さに...
-
最近、HTMLのヘッダーをIDで定...
-
CSS, リンクの色を一部変えるに...
-
liリストタグの背景色に色がつ...
-
CSSのクラス名・ID名の指定でワ...
-
htmlのid属性って必要なの?
-
サイトにjQueryが使用されてい...
-
スタイルシートで、id属性の中...
-
リンク文字の 一部だけ色を変...
-
外部css定義したclassをht...
-
ページの左右の余白(枠外)に...
-
<span>で2重にかけているものを...
-
CSSでテキストリンクの色を複数...
-
同ページ内でリンクの色を変え...
-
CSSが効かずどのように指定すれ...
-
display:table-cell内でこんな...
-
CSSで下まで背景色を伸ばす方法
おすすめ情報