К сожалению, для меня селектор nth-of-type отказывается подчиняться заказам в простом сценарии, показанном здесь
Это HTML, который используется для тестирования:
<div class="help-title">
TITLE
</div>
<div class="help-warn-left">
ERROR
</div>
<div class="help-warn-right">
ERROR MESS
</div>
<div class="help-section">
<div class="help-header">
TEXT1
</div>
<div class="help-body">
TEXT2
</div>
</div>
<div class="help-section">
<div class="help-header">
TEXT3
</div>
<div class="help-body">
TEXT4
</div>
</div>
<div class="help-section">
<div class="help-header">
TEXT5
</div>
<div class="help-body">
TEXT6
</div>
</div>
<div class="help-section">
<div class="help-header">
TEXT7
</div>
<div class="help-body">
TEXT8
</div>
</div>
Это CSS:
div.help-section{
color:blue;
/*background:yellow;*/
}
div.help-section:nth-of-type(2)
{
background:#ff0000;
}
Когда я удаляю комментарий вокруг желтого фона, раздел справки будет иметь желтый фон, поэтому он явно согласен с набором фона. Однако приведенный ниже порядок требует, чтобы второй справочный раздел имел красный фон, но он просто отказывается повиноваться мне! Это мой браузер? Firefox v24.0? Или это я не знаю, что делает nth-of-type?
Я ожидаю, что это нужно сделать, чтобы выбрать второй div с помощью раздела справки класса, найденного в теле. Очевидно, что я здесь что-то не хватает.
Другой вариант - использовать другой элемент только для этих разделов
<section class="help-section">
<div class="help-header">
TEXT1
</div>
<div class="help-body">
TEXT2
</div>
</section>
section:nth-of-type(2) {
background-color: red;
}
Я считаю, что проблема заключается в том, что вы должны указать родителя, из которого вы хотите подсчитать дочерний элемент, который соответствует вашему селектору. Таким образом, вам нужно будет изменить свой CSS, чтобы он был похож на:
div.container div.help-section:nth-of-type(3)
{
color:red;
}
и добавить
<div class="container"></div>
вокруг вашего вспомогательного раздела. Я пробовал это с помощью селектора, но не повезло.
Подробнее здесь: http://reference.sitepoint.com/css/pseudoclass-nthoftype
JSFIDDLE