Якщо <p>елемент знаходиться відразу після <div>елемента, чи не означає це, що <p>елементу передує <div>елемент?
Це вірно. Іншими словами, div + pце власне підмножина з div ~ p- нічого , що співпала з колишнім є також відповідає останнім, в разі потреби.
Різниця між +і ~полягає в тому~ відповідає всім наступним братам та сестрам незалежно від їх сусідства з першим елементом, якщо вони обидва мають одного батька.
Обидва ці пункти найбільш стисло проілюстровано на одному прикладі, де кожне правило застосовує різні властивості. Зверніть увагу, що до того, pщо безпосередньо слідує, застосовуються divобидва правила:
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>
У будь-якому випадку, я шукаю селектор, де я можу вибрати елемент, який розміщується безпосередньо перед даним елементом.
На жаль, його ще немає .
+є безпосереднім наступнимpелементом і~є всіма наступнимиpелементами (після кожногоdivелемента)