Mam coś takiego:
<div id="content>
<h1>Welcome to Motor City Deli!</h1>
<div style=" font-size: 1.2em; font-weight: bolder;">Sep 19, 2010</div>
<div > ... </div>
Jaki jest selektor css dla drugiego elementu div (pierwszego elementu div w elemencie „content”), tak że mogę ustawić kolor czcionki daty w tym elemencie div?
css
css-selectors
GregH
źródło
źródło
Odpowiedzi:
NAJBARDZIEJ PRAWIDŁOWA odpowiedź na twoje pytanie brzmi ...
Spowoduje to zastosowanie CSS do pierwszego elementu div, który jest bezpośrednim elementem podrzędnym elementu #content (który może być pierwszym elementem podrzędnym elementu #content, ale nie musi)
Inna opcja:
źródło
except
pierwsze / ostatnie div?#content > div:not(:last-of-type) { /* css */ }
#content > div:not(:first-of-type):not(:last-of-type) { /* css */ }
Chcesz
źródło
<div>
nie jest pierwszym dzieckiem (to jest<h1>
).div
byłaby pierwszym dzieckiem.Jeśli możemy założyć, że H1 zawsze tam będzie, to
ale nie bój się podać identyfikatora div zawartości:
To prawie tak dobre, jak można teraz uzyskać w różnych przeglądarkach bez uciekania się do biblioteki JavaScript, takiej jak jQuery. Użycie h1 + div gwarantuje, że tylko pierwszy element div po H1 otrzyma styl. Istnieją alternatywy, ale opierają się one na selektorach CSS3 i dlatego nie będą działać w większości instalacji IE.
źródło
Najbardziej zbliżona do tego, czego szukasz, to : pseudoklasa pierwszego dziecka ; niestety to nie zadziała w twoim przypadku, ponieważ masz
<h1>
przed<div>s
. Sugerowałbym, aby dodać klasę do<div>
, like,<div class="first">
a następnie stylizować ją w ten sposób, lub użyć jQuery, jeśli naprawdę nie możesz dodać klasy:$('#content > div:first')
źródło
$('#content > div.first)