2014-09-20 3 views
0

Я хочу применить border-bottom для каждого дочернего элемента div, но неизвестные divs (каждый div имеет значение padding, поэтому эффект границы будет выглядеть чем-то дополнительным) внутри внутри, начиная с родительского div и дочерних элементов дела.all, upto children selector

enter image description here

Таким образом, как на картинке выше, я хотел, чтобы выбрать .main и все дочерние дивы из главных ДО .child дел.

Таким образом, для первого примера кода в результате изображение будет выглядеть так:

enter image description here


Существует чисто другая причина этого (для выбора ДО конкретного ребенка), но сделать это легко, я проиллюстрировал, как выше.

Я могу только надеяться, что эта функция будет реализована в будущем:

.main, .main >> div.child{ /*where >> would be upto direct child selector*/ 
    border-bottom: 1px solid blue; 
    padding-bottom: 5px; 
} 
+0

Я сомневаюсь, что есть CSS-единственное решение для этого. Вы можете, однако, перебирать каждый div из '.child' до' .main' и добавлять любой пользовательский класс/внешний вид с помощью [jQuery.parent()] (http://api.jquery.com/parent/) или аналогичный. – fracz

ответ

2

Вы можете сделать это, делая перезаписан стиль для детей .child

Это будет выглядеть примерно следующим.

.main, .main div{ 
    border-bottom: 1px solid red; 
} 
.child div{ 
    border-bottom: none; 
} 

(JSFiddle)

Смежные вопросы