Наприклад:
p + p {
/* Some declarations */
}
Я не знаю, що +
означає. Яка різниця між цим і просто визначенням стилю для p
без + p
?
Наприклад:
p + p {
/* Some declarations */
}
Я не знаю, що +
означає. Яка різниця між цим і просто визначенням стилю для p
без + p
?
Відповіді:
Дивіться суміжні селектори на W3.org.
У цьому випадку селектор означає, що стиль застосовується лише до абзаців, що безпосередньо відповідають іншому абзацу.
Простий p
селектор застосує стиль до кожного абзацу на сторінці.
Це працюватиме лише на IE7 або вище. У IE6 стиль не застосовуватиметься до жодних елементів. Це теж стосується >
комбінатора, до речі.
Дивіться також огляд Microsoft щодо сумісності CSS в Internet Explorer .
visibility : hidden/visible
замість цього display : none/block
. Дивіться цю посилання .
p > p
означає вкладене p
, тобто будь-яке, p
що знаходиться безпосередньо під іншим p
, наприклад <p><p>This paragraph</p></p>
.
Це суміжний селектор.
Для визначення сусіднього селектора CSS використовується знак плюс.
h1+p {color:blue;}
Наведений вище код CSS відформатує перший абзац після (не всередині) заголовків h1 як синій.
h1>p
вибирає будь-який p
елемент, який є прямим (першого покоління) дочірнього (всередині) h1
елемента.
h1>p
сірники <h1>
<p></p>
</h1>
( <p>
всередині <h1>
)h1+p
вибере перший p
елемент, який є братом (на тому самому рівні dom), як h1
елемент.
h1+p
сірники <h1></h1>
<p><p/>
( <p>
поруч із / після <h1>
)plus sign
і greater sign
. Якщо я використовую h1>p
замість цього h1+p
, це дає мені такий же результат? Не могли б ви трохи пояснити, наскільки між ними різниться?
h1>p
вибирає будь-який p
елемент, який є прямим (першого покоління) дочірнім h1
елементом. h1+p
вибере перший p
елемент, який є братом (на тому самому рівні dom), як h1
елемент. h1>p
матчі <h1><p><p></h1>
, h1+p
матчі<h1></h1><p><p/>
В +
означає знак вибір «суміжні споріднений»
Наприклад, цей стиль застосовуватиметься з другого <p>
:
Дивіться цей JSFiddle, і ви зрозумієте це: http://jsfiddle.net/7c05m7tv/ (Ще один JSFiddle: http://jsfiddle.net/7c05m7tv/70/ )
Суміжні селектори вибору підтримуються у всіх сучасних браузерах.
"+" - сусідній селектор. Він вибере будь-яку П ПІДПРИЄМНО ПІСЛЯ ap (а не дитина та батьки, хоча і побратими).
+
селектор викликається Adjacent Sibling Selector
.
Наприклад, селектор p + p
вибирає p
елементи, що безпосередньо слідують за p
елементами
Це можна розглядати як looking outside
селектор, який перевіряє наявність наступного елемента.
Ось зразок фрагмента, щоб зробити речі більш зрозумілими:
body {
font-family: Tahoma;
font-size: 12px;
}
p + p {
margin-left: 10px;
}
<div>
<p>Header paragraph</p>
<p>This is a paragraph</p>
<p>This is another paragraph</p>
<p>This is yet another paragraph</p>
<hr>
<p>Footer paragraph</p>
</div>
Оскільки ми одна і та ж тема, варто згадати ще одного селектора, ~
селектораGeneral Sibling Selector
Наприклад, p ~ p
вибирає все, p
що випливає, p
не має значення, де воно знаходиться, але обидва p
повинні мати одного батьківського.
Ось як це виглядає з однаковою розміткою:
body {
font-family: Tahoma;
font-size: 12px;
}
p ~ p {
margin-left: 10px;
}
<div>
<p>Header paragraph</p>
<p>This is a paragraph</p>
<p>This is another paragraph</p>
<p>This is yet another paragraph</p>
<hr>
<p>Footer paragraph</p>
</div>
Зауважте, що останній p
також узгоджується в цьому зразку.
Він би відповідав будь-якому елементу, p
який безпосередньо примикає до елемента 'p'. Дивіться: http://www.w3.org/TR/CSS2/selector.html
+
представляє один із відносних селекторів. Список усіх відносних селекторів:
div p
- Вибрані всі <p>
елементи всередині <div>
елементів.
div > p
- Вибрані всі <p>
елементи, прямий батько <div>
яких обраний. Він також працює назад ( p < div
)
div + p
- Усі <p>
елементи розташовані відразу після <div>
вибору елемента.
div ~ p
- Вибрані всі <p>
елементи, які передують <div>
елементу.
Більше про селектори перевірити тут .
p+p{
//styling the code
}
p+p{
} simply mean find all the adjacent/sibling paragraphs with respect to first paragraph in DOM body.
<div>
<input type="text" placeholder="something">
<p>This is first paragraph</p>
<button>Button </button>
<p> This is second paragraph</p>
<p>This is third paragraph</p>
</div>
Styling part
<style type="text/css">
p+p{
color: red;
font-weight: bolder;
}
</style>
It will style all sibling paragraph with red color.
кінцевий вихід виглядає приблизно так
Плюс (+) вибере перший безпосередній елемент. Якщо ви використовуєте селектор +, ви повинні надати два параметри. Це буде зрозуміліше на прикладі: тут div та span - параметри, тому в цьому випадку буде стилізовано лише перший проміжок після div.
div+ span{
color: green;
padding :100px;
}
<div>The top or first element </div>
<span >this is span immediately after div, this will be selected</span>
<span>This will not be selected</span>
Наведений вище стиль стосується лише першого проміжку після діва. Важливо зазначити, що другий проміжок не буде обраний.
Це означає, що він відповідає кожному p
елементу, який знаходиться поруч
www.snoopcode.com/css/examples/css-adjacent-sibling-selector