css все divs против прямых дочерних div - PullRequest
33 голосов
/ 25 декабря 2010

У меня есть такая структура:

<div class="Root">
    <div>ddddddd</div>
    <div>
        <div>pppppppppp</div>
        <div>pppppppppp</div>
    </div>
    <div>ddddddd</div>
<div>

Я хочу поставить границы для div s, которые содержат ddddddd, и хочу установить цвет текста на all div s на зеленый.

Есть два правила:

  1. Я не могу добавить class атрибутов.
  2. Я должен написать селекторы, которые начинаются с .Root.

Есть идеи?

Ответы [ 3 ]

76 голосов
/ 25 декабря 2010

На самом деле я искал это:

Выбирает div, которые являются прямыми потомками Root:

.Root > div {
    border: 1px solid red;
}

Выбирает все div в Root:

.Root div {
    color:green;
}
9 голосов
/ 25 декабря 2010

Как-то так?

.Root > :first-child, .Root > :last-child { border: 1px solid red }
.Root { color: green; }

Демо: http://jsfiddle.net/karim79/N5qFu/1/

Я бы посоветовал вам пройти через это: http://www.w3.org/TR/css3-selectors/

0 голосов
/ 25 декабря 2010
.root {
border: 1px solid green;
}

Почему вы не объявляете class / id для других div?

...