Выберите конкретный класс div с помощью n-го дочернего элемента

#html #css

#HTML #css

Вопрос:

Пожалуйста, взгляните на http://jsfiddle.net/kV7Uq/1 /

 .productList div.grid:nth-child(4n 5){
clear:left;
}
 

Чего я пытаюсь добиться, так это создать сетку из 4 столбцов. Приведенный выше код, используемый в скрипке, кажется, просто прекрасен, но если вы посмотрите на эту скрипку, там нет сетки из 4 столбцов.

 <div class="pageNav"></div>
<div class="pageHeading"></div>
 

Вышеупомянутые два подразделения, которые также являются дочерними подразделениями контейнера div и расположены перед подразделениями сетки, вызывают конфликт. Если эти два divs удалены, сетка получается просто отлично. Я не уверен, что это вообще можно исправить, пожалуйста, помогите — спасибо.

Комментарии:

1. итак, какую точную форму вы хотите, здесь неясно, потому что у вас есть pageNav и pageHeading

2. Вы можете обернуть другие divs .pageNav и .pageHeading в новый div и .grid divs в другой div

Ответ №1:

Просто сместите его на 2, чтобы компенсировать эти деления. Вместо 5 этого используйте 3 .

 .productList div.grid:nth-child(4n 3){
    clear:left;
}
 

http://jsfiddle.net/kV7Uq/2/

Если вы не хотите, чтобы в самом первом поле было clear: left указано, тогда это было бы 7 .

Комментарии:

1. Это исправило ситуацию: D У меня явно было очень плохое понимание того, как на самом деле работает (an b), и теперь вы прояснили это и для меня! Спасибо, друг!