webForumDet fria alternativet

IE7 + margin-bottom

4 svar · 478 visningar · startad av lillan

lillanMedlem sedan dec. 200475 inlägg
#1

Hur ska man skriva i css'en när man vill ha margin-bottom: 30px;?

Förrut funkade det att skriva så här;
* html body {
margin-bottom: 30px;
}

men hur gör man nu? Om man vill kunna se detta i IE7 alltså?

Danne VMedlem sedan aug. 20067 685 inlägg
#2

Du kan ofta tvingas ha padding istället för margin i body:

body {
padding-bottom:30px
}

lillanMedlem sedan dec. 200475 inlägg
#3

Näe, det blir inget bra...

Så här ser det ut just nu icss'en, hur ska man göra för att det ska se ut så IE7 :l ang margin-bottom: 30px;

#container {	
width:530px;
border-right: 1px solid #666;
border-left: 1px solid #666;
border-top: 1px solid #666;
border-bottom: 1px solid #666;
margin-right:auto;
margin-left:auto;
margin-top:30px; 
margin-bottom: 30px;
padding: 10px 10px 10px 10px; 
background-color:#ffffff;
}
* html body {
margin-bottom: 30px; /* Hack för att IE inte förstår margin-bottom*/
}
zcorpanMedlem sedan dec. 20042 269 inlägg
#4
body { !margin-bottom:30px; /* ie5..7 */ }

Om man använder detta förutsätter man att IE8 antingen har kvar båda buggarna -- att marginaler hanteras felaktigt och att ! före deklarationer ignoreras -- eller att båda fixas.

Om man istället använder <!--[if lte IE 7]> förutsätter man att IE8 fixar marginalbuggen. Om de inte gör det kan du uppdatera CC:n då. Oavsett vilket så har de iaf möjlighet att fixa sina buggar utan att din sida renderas felaktigt, vilket ökar chansen att de gör det. (Om tillräckligt många sidor renderas fel för att de fixar sian buggar har de svårare för att fixa dem.)

wmasterMedlem sedan dec. 2001297 inlägg
#5

Ett annat litet tips, du behöver inte sätta ut left, right top och bottom för border, margin etc. Om alla ändå ska ha samma värden räcker det bra med ex. border: 1px solid #666;
Blir lite färre rader bara :)

Genererad på 369 ms · cache AV · v20260730165559-full.f96bc7eb