2014-01-15 7 views
2

Я пытался предназначаться только первые четыре элементов списка в использовании селектора CSS-го-ребенке и/или п-м-последнего-ребенокCSS селекторы п-й ребенок - целевые первые (п) дети

<ul> 
    <li>Hello first item</li> 
    <li>Hello item 2<li> 
    <li>Hello item 3</li> 
    <li>Hello item 4</li> 
    <li>Hello item 5</li> 
    <li>Hello item 6</li> 
    <li>Hello item 7</li> 
    <li>Hello item 8</li> 
    <li>Hello item 9</li> 
</ul> 

моя первая попытка:

ul li:nth-child(1n):not(:nth-last-child(-n+5)){ 
    font-weight:bold; 
} 

Но я хотел, чтобы упростить его

так что мой второй один:

ul li:nth-child(-n+4){ 
    font-weight:bold; 
} 

Можете ли вы сказать мне, есть ли лучшее решение, чем второе? Это правильный способ нацелиться на первых (n) детей?

+0

Ваш HTML является недействительным. Или это просто опечатка? Если вы исправите опечатку, похоже, она работает http://jsfiddle.net/j08691/GTuzM/ – j08691

+0

Ничего себе, острый глаз @ j08691! Но да, это действительно то, как вы это сделаете с помощью селектора nth-child. – donnywals

+0

спасибо @donnywals – Spdexter

ответ

5

Ваш код работает, если вы исправить опечатку:

jsFiddle example

Хотя лучшее решение может быть:

ul li:nth-child(-n+4) { 
    font-weight:bold; 
} 

jsFiddle example

+0

Спасибо @ j08691 да, это была опечатка, и я бы пошел с решением 2. – Spdexter

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