2012-12-27 9 views
7

Obecnie mam tego selektora:CSS: last-child: not (: only-child) nie działa zgodnie z oczekiwaniami

.form .mid td p:last-child:not(:only-child) { 
    margin-bottom: 0; 
} 

To nie działa zgodnie z przeznaczeniem. Chcę usunąć margines TYLKO jeśli istnieje więcej niż jeden P wewnątrz TD

+0

Wydaje pracę dla mnie: http://jsfiddle.net/XuKKB/ szansę używasz innego CSS, który nadpisuje to? – Passerby

+0

Rzeczywiście, w twoim przykładzie to działa, ale nie w moim stole. Zaktualizowałem kod przy użyciu mojego pełnego selektora – pocesar

+0

To nie ma znaczenia: http://jsfiddle.net/XuKKB/1/ spróbuj użyć narzędzi devtools lub firebug lub podobnych narzędzi inspekcyjnych, aby zobaczyć, jakie style wpływają na twój układ . Na przykład. Celowo odznaczam "Normalized CSS" w jsfiddle, w przeciwnym razie nie zadziała. – Passerby

Odpowiedz

11

Jeśli Twój td zawiera więcej niż tylko p elementów (nie mogę powiedzieć, ponieważ nie wykazały znaczników), prawdopodobnie chcesz używać :last-of-type i :only-of-type zamiast:

.form .mid td p:last-of-type:not(:only-of-type) { 
    margin-bottom: 0; 
} 
+0

, która działa idealnie! dzięki! – pocesar

Powiązane problemy