Jika saya memiliki tag header <h1 class="hc-reform">title</h1>
h1.hc-reform{
float:left;
font-size:30px;
color:#0e73bb;
font-weight:bold;
margin:10px 0px;
}
dan setelah itu saya punya paragraf <p>stuff here</p>
.
Bagaimana saya bisa memastikan menggunakan CSS bahwa setiap <p>
tag yang mengikuti h1.hc-reform
untuk menggunakan:clear:both;
apakah itu:
h1.hc-reform > p{
clear:both;
}
untuk beberapa alasan itu tidak berfungsi.
html
css
css-selectors
siblings
tony noriega
sumber
sumber
p
yang datang setelah ituh1.hc-reform
. Dan lagi-lagi itu mungkin satu-satunya yangclear: both
perlu diterapkan agar bisa bekerja karena hanya membersihkanh1
float, jadi itu masih jawaban yang valid.p
yang segera didahului olehh1.hc-reform
(dengan elemen induk yang sama, tentu saja).Anda dapat menggunakan pemilih saudara
~
:Ini memilih semua
p
elemen yang datang setelahnya.hc-reform
, bukan hanya yang pertama.sumber
tidak ada
>
pemilih anak.yang Anda inginkan adalah
+
jadi cobalah
h1.hc-reform + p
dukungan browser tidak bagus
sumber
The
>
adalah pemilih anak . Jadi jika HTML Anda terlihat seperti ini:... maka itu tiketmu.
Tetapi jika HTML Anda terlihat seperti ini:
Maka Anda ingin pemilih yang berdekatan :
sumber
Tidak persis. The
h1.hc-reform > p
berarti "setiapp
tepat satu tingkat di bawahnyah1.hc-reform
".Yang Anda inginkan adalah
h1.hc-reform + p
. Tentu saja, itu dapat menyebabkan beberapa masalah di versi Internet Explorer yang lebih lama; jika Anda ingin membuat halaman tersebut kompatibel dengan IE yang lebih lama, Anda akan terjebak dengan menambahkan kelas secara manual ke paragraf atau menggunakan beberapa JavaScript (dalam jQuery, misalnya, Anda dapat melakukan sesuatu seperti$('h1.hc-reform').next('p').addClass('first-paragraph')
).Info lebih lanjut: http://www.w3.org/TR/CSS2/selector.html atau http://css-tricks.com/child-and-sibling-selectors/
sumber