2013-04-29 14 views
12

Mam prostą listę i wszystko, co chcę zrobić, to usunąć konkretny punktor (tylko ikona, a nie treść w li) w ramach ul.Jak usunąć konkretny punktor w obrębie ul w CSS?

Użyłem pierwszego dziecka, aby zabrać pierwsze, ale chciałbym usunąć szósty punktor!

Mogę to wstawić, ale wolę zrobić to z CSS.

Jak mogę to zrobić?

+0

Aby wyjaśnić "punktor", masz na myśli całość lub tylko ikonę punktora? –

+0

Oryginalny wpis edytowany :) – Chris

+2

Cóż, masz tu odpowiedzi na wszystkie możliwe scenariusze! – Vector

Odpowiedz

22

Można użyć selektora nth-child do osiągnięcia tego celu.


li:nth-child(6) { 
    list-style-type: none; 
} 

Edit:

Wydaje się teraz, aby ukryć go do ostatniego dziecka, można użyć przełącznika last-child Zamiast:

New jsFiddle here.

li:last-child { 
    list-style-type: none; 
} 

Jeśli chcesz, aby któryś z nich działał w IE6-8, możesz użyć Selectivizr.

"Selectivizr to narzędzie, które emuluje CSS3 JavaScript Pseudoklasy i atrybut selektorów w programie Internet Explorer 6-8"

nth-child i last-child to tylko niektóre z tych obsługiwanych selektorów w Selectivizr .

+0

Ah, dziękuję bardzo. – Chris

+0

Ja znowu. Mam wiele ul z inną liczbą li w środku. Jeśli, pozwól, że mam 6 li (użyłbym wtedy twojej odpowiedzi), ale potem na innej ul mam 7 li (więc styl listy, który chcę usunąć, zabiera 6, a nie 7), co wtedy zrobiłbym? Czy to ma jakiś sens?!? – Chris

+0

@ChrisBrighton Czy tego chcesz? http://jsfiddle.net/5d4TU/2/ – lifetimes

2

Zastosowanie nth-child element DEMO http://jsfiddle.net/L8VW4/

To usunie lista

li:nth-child(6) { 
    display: none; 
} 

Usunie to tylko prezent kula ikonę obok elementu listy i pozostawić samą pozycję listy w miejscu

li:nth-child(6) { 
    list-style: none; 
} 
+0

@Adrift - Taka była moja interpretacja, ale po ponownym przeczytaniu pytania, które widzę, jest ono niejednoznaczne. Przez 6 punktor mogą oznaczać zarówno punkt, jak i kulę. –

Powiązane problemy