Cara w3sekolah mengungkapkannya , mereka terdengar sama.
div + p
Memilih semua<p>
elemen yang ditempatkan tepat setelah<div>
elemen
div ~ p
Memilih setiap<p>
elemen yang didahului oleh sebuah<div>
elemen
Jika sebuah <p>
elemen berada tepat setelah sebuah <div>
elemen, bukankah itu berarti <p>
elemen tersebut didahului oleh sebuah <div>
elemen?
Bagaimanapun, saya sedang mencari selektor di mana saya dapat memilih elemen yang ditempatkan tepat sebelum elemen tertentu.
css
css-selectors
pengguna4055428
sumber
sumber
+
adalah berikutnya segerap
elemen dan~
merupakan semua dari berikutnyap
elemen (setelah masing-masingdiv
elemen)before
. mustahil. hanya dengan javascript. Anda harus mencarinya dan itu semuabefore
yang menjadi target kelas di CSS Anda.Jawaban:
Pemilih saudara yang berdekatan X + Y
ul + p { color: red; }
Tampilkan cuplikan kode
ul + p { color: red; }
<div id="container"> <ul> <li>List Item</li> <li>List Item</li> <li>List Item</li> <li>List Item</li> </ul> <p>This will be red</p> <p>This will be black</p> <p>This will be black</p> </div>
Seleksi saudara kandung umum X ~ Y
ul ~ p { color: red; }
Tampilkan cuplikan kode
ul ~ p { color: red; }
<div id="container"> <ul> <li>List Item <ul> <li>Child</li> </ul> </li> <li>List Item</li> <li>List Item</li> <li>List Item</li> </ul> <p>This will be red.</p> <p>This will be red.</p> <p>This will be red.</p> <p>This will be red.</p> </div>
Sumber
code.tutsplus
Seleksi saudara kandung MDN
Seleksi saudara kandung yang berdekatan w3
sumber
Ini benar. Dengan kata lain,
div + p
adalah bagian yang tepat daridiv ~ p
- apa pun yang cocok dengan yang pertama juga cocok dengan yang terakhir, oleh kebutuhan.Perbedaan antara
+
and~
is yang~
cocok dengan semua saudara berikut terlepas dari kedekatannya dari elemen pertama, selama keduanya berbagi induk yang sama.Kedua poin ini diilustrasikan secara ringkas dengan satu contoh, di mana setiap aturan menerapkan properti yang berbeda. Perhatikan bahwa salah satu
p
yang segera mengikutidiv
kedua aturan tersebut diterapkan:div + p { color: red; } div ~ p { background-color: yellow; }
<section> <div>Div</div> <p>Paragraph</p> <p>Paragraph</p> <p>Paragraph</p> </section> <section> No div <p>Paragraph</p> <p>Paragraph</p> <p>Paragraph</p> </section>
Sayangnya, belum ada .
sumber
pertimbangkan contoh ini:
p + p { /* the first p immediately after a preceding p */ color: red; } p ~ p { /* all p's after a preceding p */ font-weight: bold; }
<div> <p>1</p> <div>separator</div> <p>2</p> <!-- only ~ is applied here --> <p>3</p> <!-- both + and ~ are applied here --> </div>
sumber
1) Penyeleksi Saudara yang Berdekatan (S1 + S2)
Pemilih saudara yang berdekatan digunakan untuk memilih elemen tertentu yang berada tepat di samping elemen tertentu lainnya. Kedua elemen tersebut harus berada pada level yang sama.
div + p { color:red; }
Contoh Seleksi Saudara yang Berdekatan
2) Penyeleksi Saudara Umum (S1 ~ S2)
Pemilih saudara umum digunakan untuk memilih semua elemen saudara tertentu dari elemen lain yang ditentukan.
div ~ p { color:red; }
Contoh General Sibling Selectors
Saudara yang Berdekatan (S1 + S2) vs Saudara Umum (S1 ~ S2) penyeleksi:
Pemilih saudara yang berdekatan (S1 + S2) hanya memilih elemen saudara kandung tetapi pemilih saudara umum (S1 ~ S2) memilih semua elemen saudara dari elemen lain yang ditentukan. Kedua kasus, kedua elemen (S1 dan S2) harus berada pada level yang sama.
Selektor yang tersisa dijelaskan di sini: https://www.csssolid.com/35-css-selectors-to-remember.html
sumber