Псевдо-класс CSS первого класса представляет собой любой элемент, который является первым дочерним элементом его родительского элемента .
Псевдокласс класса last-child представляет любой элемент, который является последним дочерним элементом его родительского элемента .
Ссылки:
http://developer.mozilla.org/en-US/docs/CSS/:first-child
http://developer.mozilla.org/en-US/docs/CSS/:last-child
1- В вашем примере p.test1
не является первым дочерним элементом своего родителя, поэтому селектор не выберите какой-либо элемент.
2- .test1: п-го из-типа (4) Обновление, заменить 4 вместо 1, а не успокаивать решение, Ref: http://www.w3.org/TR/css3-selectors/#nth-of-type-pseudo
3- Потому что это последний дочерний элемент его родитель.
Примечание: родительский элемент здесь в вашем примере - это тег body
.
Пример в вопросе для дальнейшего использования:
<p>test</p>
<p>test</p>
<p>test</p>
<p class="test1">test</p>
<p class="test1">test</p>
<p class="test1">test</p>
<p class="test1">test</p>
Вы можете думать о CSS селекторы имеют одинаковый приоритет: '.test' и': первый-child' являются две отдельные, те же «уровня» селекторы, оба применяются к 'p'" parallely ", поэтому' p.test: first-child' означает '' p', который имеет класс 'test', а также является первым потомком". – Passerby
@Passerby спасибо. Хороший и короткий ответ. Но как в моем случае выбрать первый элемент с классом 'test1'? – WooCaSh
В вашей конкретной ситуации это может работать: http://jsfiddle.net/Ac9t6/12/ (для IE> = 9). Но у этого есть некоторые ограничения. – Passerby