Hej vänner, hoppas allt är väl med er!
Jag har ett fruktansvärt irriterande problem med first-child. Jag har en meny enligt följande struktur:
<div id="menu">
<ul>
<li><a href="/">foo</a></li>
<li><a href="/">bar</a></li>
</ul>
</div>
Denna försöker jag manipulera med :first-child för att tvinga in menyn på rätt plats med följande CSS kod.[/code]
#menu ul:first-child {
margin-right:0;
}Mitt problem är att margin-right förblir den samma fast jag använder first-child, vilket jag tror mig använda helt korrekt. Tacksam för hjälp att tvinga in första menyvalet i vänsterkanten!
Försöker du trycka ut den mot vänsterkanten eller mot högerkanten? Du använder margin-right i detta fall och det trycker inte nödvändigtvis din punkt till vänsterkanten. Nu vet jag inte hur övrig CSS kod ser ut, men borde inte du använda left: 0 eller margin-left: 0?
ul:first-child säger den första ul i listan, vad gör resten av din CSS, för default så har ju inte en ul en margin-right något annat än 0 den har bara en margin-top, margin-bottom och en padding-left.
Den senare margingen är ditt tryckt som ett standardvärde mellan samtliga li-element för att ge dessa mer luft. Ul:First-child borde väl, om jag inte som sagt missförståt det hela, targeta första "barnet" till ul, vilket i detta fall skulle innebära <li> taggen.
Shadi, givetvis borde jag gjort det hehe, I vilket fall påverkade det inte designen så kanske därför (och tiden på dygnet) jag var lite slarvig.
Kolla med JSBIN så ser du: http://jsbin.com/ayolod/edit
CSS få en kollektion på alla ul och den hämta ut first av alla ul den hittar, den hämtar inte en kollektion av li, har aldrig gjort i CSS.
som standard så har li bara ett block-element den har inget mer värde(http://www.w3.org/TR/CSS2/sample.html)