Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Jak działa selektor last-child?

6 views
Skip to first unread message

Marek

unread,
May 14, 2013, 7:25:27 AM5/14/13
to
Witam,

Mam pewien kłopot ze zrozumieniem tego, co sądziłem, że rozumiem. Mamy
strukturę:

<nav class="menu">
<div>
<a>...</a>
<p>...</p>
</div>
<div>
<a>...</a>
<p>...</p>
</div>
<div>
<a>...</a>
<p>...</p>
</div>
...
</nav>

Okazuje się, że:

.menu div:last-child a {
color: jakis;
}

nie powoduje żadnych skutków. Natomiast:

.menu div:last-of-type a {
color: jakis;
}

Już tak. Co ciekawe:

.menu div:first-child a {
color: jakis;
}

działa zgodnie z oczekiwaniami. W związku z tym co niby jest ostatnim
potomkiem dla <nav> jeśli nie <div> ?

--
Pozdrawiam
Marek

Wojtek

unread,
May 14, 2013, 7:56:28 AM5/14/13
to
W dniu 2013-05-14 13:25, Marek pisze:
> Witam,
>
> Mam pewien kłopot ze zrozumieniem tego, co sądziłem, że rozumiem. Mamy
> strukturę:
>
[..]
>
> .menu div:last-child a {
> color: jakis;
> }
>
> nie powoduje żadnych skutków. Natomiast:

SOA #1: U mnie działa :)

Może masz jakąś literówkę?
Jaką masz przeglądarkę, bo w IE<9 nie zadziała?

pozdrawiam
--
Wojtek Gapiński
http://jwmprojekt.pl

Marek

unread,
May 14, 2013, 10:06:19 AM5/14/13
to
W dniu 2013-05-14 13:56, Wojtek pisze:

> Może masz jakąś literówkę?

Ha! Dużo ciekawiej. Dwa różne projekty, takie samo "ignorowanie" stylu
ale dwie różne przyczyny. Dlatego założyłem, że nie rozumiem działania
last-child :-D

W jednym faktycznie była nadmiarowa spacja. W drugim JS dopisywał
element HTMLowy dynamicznie za ostatnim elementem więc przestawał on być
ostatni.

Zapomniałem o usterce IE9/10 polegającej na tym, że w narzędziu dla
developerów w pewnych okolicznościach ukrywane są permanentnie
dynamicznie dopisane elementy. Tak więc nie widziałem, że ostatni
element nie jest ostatnim. :-D Wystarczyło, że albo się pospieszyłem
zanim to narzędzie zdążyło ukryć część kodu HTML lub użyłem FF + Firebug
aby zobaczyć w czym rzecz :-D

--
Pozdrawiam
Marek

Gabriel Zastawnik

unread,
May 14, 2013, 3:12:07 PM5/14/13
to
Użytkownik "Marek" napisał w wiadomości grup
dyskusyjnych:kmtgd0$asv$1...@node2.news.atman.pl...

> użyłem FF + Firebug aby zobaczyć w czym rzecz :-D

Ja tak trochę OT.
Nie znam lepszego narzędzia do debugowania niż Firebug właśnie.
Zaoszczędzisz sobie sporo kłopotów od razu testując w FF. Taki nawyk sobie
wyrób:)
IMHO narzędzia developerskie w MS, O czy nawet w Chrome są dużo gorsze.


-- --
Gabriel Zastawnik
http://www.sigsoft.pl
http://www.monitoringkomputera.pl

Marek

unread,
May 14, 2013, 5:09:53 PM5/14/13
to
W dniu 2013-05-14 21:12, Gabriel Zastawnik pisze:

>
> Ja tak trochę OT.
> Nie znam lepszego narzędzia do debugowania niż Firebug właśnie.
> Zaoszczędzisz sobie sporo kłopotów od razu testując w FF. Taki nawyk
> sobie wyrób:)
> IMHO narzędzia developerskie w MS, O czy nawet w Chrome są dużo gorsze.

To prawda. Problem jednak jest w tym, że każda z przeglądarek ma swoje
wady. FF posiada JS przeraźliwie wolny a sporo w tym programuję. Albo w
FF wprowadzono durny mechanizm "przyspieszający" ładowanie stron:
obrazki poza boxem overflow:hidden nie są (pre)ładowane i szlag trafia
animacje w JS. Nie sposób na tym pracować. W konsekwencji muszę pracować
na 3 przeglądarkach - strasznie wkurzające.


--
Pozdrawiam
Marek

Paweł Piskorz

unread,
May 16, 2013, 6:12:36 AM5/16/13
to
W dniu 2013-05-14 13:25, Marek pisze:
> Witam,
>
> Mam pewien kłopot ze zrozumieniem tego, co sądziłem, że rozumiem. Mamy
> strukturę:
>
> <nav class="menu">
> <div>
[8<]
> </div>
> ...
> </nav>

Wykropkowałeś najważniejszą część kodu :]


--
message[autor="PablO"]::after {
content:"Pozdrawiam";
}

Marek

unread,
May 17, 2013, 6:45:53 AM5/17/13
to
W dniu 2013-05-16 12:12, Paweł Piskorz pisze:
>
> Wykropkowałeś najważniejszą część kodu :]

Te DIVy się powielają. Wiem do czego nawiązujesz i masz rację... właśnie
okazało się, że kropki nie były wcale DIVami bo JS coś sobie tam właśnie
dopisał a IE/narzędzie dla developerów nie ujawniło :-D Uznałem błędnie,
że skoro czegoś nie widzę to tego nie ma :-D

--
Pozdrawiam
Marek
0 new messages