Как получить первый ClassB внутри ClassA? - PullRequest
1 голос
/ 12 августа 2011

как добиться этого с помощью CSS 1.0 (IE 6.0):

.ClassA > .ClassB
{
...
}

чтобы получить первый ClassB внутри ClassA?

Ответы [ 3 ]

2 голосов
/ 12 августа 2011

Нет способа сделать это с помощью чистого решения CSS, которое работает в IE6. Лучше всего изменить HTML-код и добавить дополнительный класс или идентификатор к первому элементу .ClassB, а затем выбрать его.

0 голосов
/ 12 августа 2011

Вы можете сопоставить все элементы, а затем отрицать все, кроме первого.

Вот пример :

.classA > .classB {
background: black;
}
.classA > .classB + .classB,
.classA > .classB + * + .classB {
background: white;
}

<div class="classA">
    <p class="classB" >
        aaasda
    </p>
    <p class="classB" >
        aaasdb
    </p>
    <p class="other">
        Other Class
    </p>
    <p class="classB" >
        aaasdc
    </p>
</div>
<br/><br/><br/>
<div class="classA">
    <p class="otherFirst">
        other as first child
    </p>
    <p class="classB" >
        aaasda
    </p>
    <p class="classB" >
        aaasdb
    </p>
    <p class="other">
        Other Class
    </p>
    <p class="classB" >
        aaasdc
    </p>
</div>
0 голосов
/ 12 августа 2011
.ClassA .ClassB:first-child 

будет соответствовать первому потомку .ClassA, который имеет тип .ClassB

...