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å?
4 svar · 478 visningar · startad av lillan
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å?
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*/
}
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.)
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 :)