Jag har en del av en sidstruktur som jag skapat med en massa DIVs och (inline-) CSS. Det ska vara fyra "block" på rad horizontellt, och två mindre block, ett till höger och ett till vänster, på en rad längre ner, typ. Sidan har denna HTML-kod:
Mitt problem är att resultatet inte blir riktigt lika beroende på om jag använder IE7 eller Firefox. I IE7 så dyker den röda bakgrunden upp i den nedre delen av layouten, men det gör den inte i Firefox (eller Opera eller Safari). Problemet verkar ligga i hur browsern uppfattar "nästlingen" av DIV-taggarna.
Varför så många div:ar? Vill du verkligen ha det så kan du lägga till
<br style="clear:both" />
innan den sista </div> i din kod, men ska layouten vara procentuell och täcka totalt 100% kan du ju rensa bort några divs, samt rensa lite i koden. T.ex. behöver du inte ange padding: 0px 0px 0px 0px; du kan skriva padding: 0; eller skippa den helt och hållet när det gäller en div för den har ingen förinställd padding.
Ah, ok. Jag lade till raden du tipsade om och nu syns den röda rutan även i Firefox! Tack.
Angående att koden inte är så fin så beror det på att jag, när sidan är klar, vill ha padding:s och annat, så jag har dem mest där för att det ska gå enkelt att bygga vidare....
Angående problemet att få de fyra boxar som ligger horizontellt att verkligen fylla ut 100% så verkar det som om detta inte funkar perfekt. I koden ovan har jag 25% på de 4 boxarna, men i IE7 tar de upp 2 rader vid vissa bredder på browsern (det hoppar lite fram och tillbaka när man ändrar bredden på browser-fönstret). Nu har jag justerat en av boxarna till width: 24%, men då blir det lite "glapp" längst till höger om man har ett brett browser-fönster.
Finns det någon bättre lösning för att få de fyra boxarna att fylla till 100%?
<div class="block1" style="background: #CCC;">
Text 1
</div>
<div class="block2" style="background: #456;">
Text 2
</div>
<div class="block3" style="background: #CCC;">
Text 3
</div>
<div class="block4" style="background: #456;">
Text 4
</div>
<div class="block">
<div class="block5" style="background: #CCC;">
En lang text har...
</div>
<div class="block6" style="background: #456;">
En lang text har ocksa...
</div>
</div>
Givetvis kan du justera bakgrunderna i headern istället, lade bara till det som inline för att det gick fortare :)
Kan ju även påpeka att det kan bli klurigt om du har blocken i procent och paddingen i pixlar eftersom det kommer bli olika justering vid olika skärmupplösningar.
Ok, tack! Jag kommer vissarligen att vilja va "massvis med DIVs" då det kommer till en massa innehåll, men jag prova ditt exempel. Det finns nu på http://www.nyhetsfilter.se/t2.php
Denna version har tyvärr samma problem som det tidigare, dvs. i IE7 så hamnar de fyra boxarna vid vissa browser-bredder på två rader. Det är inte så bra. Alternativet att sätta en av boxarna till 24% känns inte heller perfekt.
Kan ju även påpeka att det kan bli klurigt om du har blocken i procent och paddingen i pixlar eftersom det kommer bli olika justering vid olika skärmupplösningar.
Hmm, jasså, aj då. När jag använder TABLE så fungerar ju 25% och padding/spacing fint (om jag inte minns fel). Fungerar det annorlunda med DIVs? Synd... Kanske får jag gå tillbaka till TABLEs ialla fall då...
Kan ju även påpeka att det kan bli klurigt om du har blocken i procent och paddingen i pixlar eftersom det kommer bli olika justering vid olika skärmupplösningar.
Hmm, jag provde att lägga till padding och ytterligare en DIV(!) och det fungerar ju bra (typ som för TABLEs alltså). Men många DIVs blir det ;-)
Det har att göra med sättet IE (Över huvudtaget eftersom du kommer stöta på samma problem i alla IE) renderar div-ar och % på separata element. Det blir en automatisk margin kring dom som inte riktigt sätts till 0 vid skalning, vid händelsen, därför blir ~24% det som används för att ett rutnät. Om du däremot ska presentera data ska du faktiskt använda tabeller för det. Men använda div för layout...
264 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849