2014-02-27, 23:43
  #1
Medlem
wallchars avatar
Jag har ett upplgg som ser ut shr..

HTML-kod:
<div class='news_thumb'></div>
<div class='news_text'>
<a href='index.php?page=news'>
<div class='news_rubrik'>rubrik</div>
</a>
loren ipsum...<br /><br />
</div>

Om jag skriver .news_thumb:nth-child(1) s ndrar den min frsta "news_thumb"-klass, ndrar jag (2) s hnder inget, ndrar jag till (3) s ndrar den min andra news_thumb. Enkel, slutsats, den ndrar p udda tal...

Av ngon anledning s vill dock ingenting hnda nr jag anvnder mig av varken (odd) eller (2n+1)

2*0+1 = 1
2*1+1 = 3
2*2+1 = 5
osv..

kan ngon svara p vad som r fel hr?
Tack p frhand!
Citera
2014-02-28, 00:13
  #2
Medlem
gadzooxs avatar
Det r inget fel, det r by-design och du gr en tankevurpa.

a:nth-child(2n+1) targetar inte var (2n+1):e <a>-tagg i en container, utan den targetar vart (2n+1):e element i containern, om det elementet dessutom rkar vara en <a>-tagg.

Givet detta blir det rtt uppenbart varfr din .news_thumb:nth-child(2) inte ger ngot resultat alls. Ty vilket r det andra child-elementet i containern?
Regeln .news_thumb:nth-child(2) targetar allts det andra child-elementet i containern, men bara om det ven har .news_thumb, vilket ju inte r fallet. Allts hnder inget.

.news_thumb:nth-child(3) ndrar din andra news_thumb sger du. Inte s konstigt - den diven r ju det tredje elementet i containern, och den har klassen .news_thumb.
Citera
2014-02-28, 00:23
  #3
Medlem
jonthe12s avatar
Det gadzoox sger r korrekt.

Ett stt att lsa det hr problemet och ven f lite bttre semantik och kontroll r ju att wrappa allt som r en nyhet (news_text, thumb osv..) med exempelvis en "news-entry" klass och sedan kra nth-child p den istllet.

Kod:
.news-entry:nth-child(odd) .news-thumb /* regler */ 

D slipper du skriva om uttrycket i nth-child varje gng du lgger till eller tar bort ett element som representerar en nyhet.
__________________
Senast redigerad av jonthe12 2014-02-28 kl. 00:29.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in