Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Erikorkuiset elementit

Macro [29.12.2009 16:01:21]

#

Tässä tein sivun, jossa on kaksi elementtiä: #left ja #right. Nyt käy siten, että jos #left on korkeampi kuin #right, niin tämän sisältö menee yli isännöivän #doc elementin. (IE7 osaa näyttää oikein, muut eivät)

<div id="doc">
	<div id="left">
		Huuhaa<br>
		Huuhaa
	</div>
	<div id="right">
		Huuhaa
	</div>
</div>

Merri [29.12.2009 16:44:50]

#

IE7 (ja IE6) luottavat tapauksessasi selainbugiin: leveyden määrittäminen elementille kytkee päälle hasLayoutin, joka taas saa elementin CSS:n sääntöjen vastaisesti venymään myös kellutetun sisällön mittaan.

Saman efektin saa IE8 ja muilla selaimilla seuraavasti:

#doc:after {
    clear: both;
    content: '';
    display: block;
}

Tämä luo #docin loppuun 0 pikseliä korkean pseudoelementin, joka sijoittuu kellutettujen elementtien loppuun ja siten #doc venyy pisimmän mittaan. Lopputulos on sama kuin IE7:llä ja IE6:lla (kunhan leveys on määritelty).

Macro [29.12.2009 17:05:24]

#

Kiitos Merri! Sinultahan ne vastaukset aina löytyvät. =)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta