Например:
p + p {
/* Some declarations */
}
Я не знаю, что означает +
. Какая разница между этим и просто определяющим стиль для p
без + p
?
Например:
p + p {
/* Some declarations */
}
Я не знаю, что означает +
. Какая разница между этим и просто определяющим стиль для p
без + p
?
Этот селектор означает, что стиль применяется только к параграфам, непосредственно следуя за другим абзацем.
Простой селектор p
применил бы стиль к каждому абзацу на странице.
Смотрите смежные селектора на W3.org.
Это будет работать только на IE7 или выше. В IE6 стиль не будет применяться к каким-либо элементам. Это также относится к комбинатору >
, кстати.
См. также обзор Microsoft для совместимость CSS в Internet Explorer.
Это смежный селектор.
Чтобы определить смежный селектор 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>
)Знак +
означает adjacent sibling
Пример:
CSS
p + p
{
font-weight: bold;
}
HTML
Стиль будет применяться со второго <p>
<div>
<p></p>
<p></p>
</div>
Смотрите этот скрипт, и вы поймете его навсегда: http://jsfiddle.net/7c05m7tv/ (Другой скрипт: http://jsfiddle.net/7c05m7tv/70/)
Селекторы смежных-сиблингов поддерживаются в Internet Explorer 5.x Macintosh. Они также поддерживаются в предварительном выпуске Netscape 6 для всех бесчисленных платформ, для которых он доступен, и в предварительном выпуске 3 Opera 4 для Windows. Есть ошибки в работе с селекторами соседнего собора в IE5 для Windows и Opera 3 для Windows.
Полезно знать: Internet Explorer 7 не обновляет стиль правильно, когда элемент динамически помещается перед элементом, который соответствует селектору. В Internet Explorer 8, если элемент вставлен динамически, нажав на ссылку, стиль первого ребенка не применяется до тех пор, пока ссылка не потеряет фокус.
"+" - смежный селектор. Он выберет любой p DIRECTLY AFTER p (не дочерний или родительский, хотя и родной).
+
называется 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>
Он будет соответствовать любому элементу p
, который сразу примыкает к элементу 'p'. См.: http://www.w3.org/TR/CSS2/selector.html
Он выбирает следующий абзац и вставляет начало абзаца слева так же, как вы можете в Microsoft Word.
Плюс (+) выберет первый непосредственный элемент. Когда вы используете + селектор, вы должны дать два параметра. Это будет более понятно на примере: здесь 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>
Выше стиль будет применяться только к первому диапазону после div. Важно отметить, что второй интервал не будет выбран.
+
представляет один из относительных селекторов. Список всех относительных селекторов:
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.
конечный результат выглядит следующим образом:
Это означает, что он соответствует каждому элементу p
, который находится непосредственно рядом с
www.snoopcode.com/css/examples/css-adjacent-sibling-selector