09. april 2003 - 16:28Der er
31 kommentarer og 2 løsninger
Mozilla: width og padding i en DIV
Jeg har et problem, når jeg laver en DIV og vil lave en padding samtidig med en fast bredde og højde. Mozilla lægger værdien af padding til bredden og højden, så min div bliver større end den skulle.
CSS'et ser sådan ud: width: 135px;height: 135px;padding:10px;
I IE har div-boksen en bredde og højde på 135px - men i Mozilla får den en højde og bredde på ialt 155px :(
Eftersom padding pr. definition fra w3c befinder sig inde i div-boksen og margin udenfor, er det i dette tilfælde IE, som har ret. Der er meget www om den slags fx: http://www.tantek.com/CSS/Examples/boxmodelhack.html
Hvilken version af henholdsvis IE og Mozilla bruger du ? Mozilla har for kort tid siden frigivet version 1.3 .....
svoeber >> Hvis du skriver til HTML4.01, ser DTD'en sådan ud: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Nøjes du med: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> fejltolker IE box-modellen ... det er nok det, der er fejlen. /mvh
Ole, læg et svar, det ser ud til at virke. (Lige bortset fra, at min side nu ser anderledes ud generelt, men det er nok min kode, der lige skal ryddes op i :)
Du har åbenlyst ret, de siger: "The size of the box is the sum of the element width (i.e. formatted text or image) and the padding, the border and the margin areas"...
Anyway...jeg har baseret mine tidligere udtalelser ang. dette spørgsmål på erfaringer gjort i IE, Netscape, Mozilla og Opera.
Jeg går ud fra, at du føler som mig: "Please, Browser-skabere ! Vi vil have W3C-STANDARD !"
Nå ... !?!?!???!?? Det tror jeg afgjort, I står ganske alene med :)
Hvis du ikke skriver helt ud til kanten af et stykke A4-papir - men efterlade 2cm margin i begge sider, skulle papir-arket altså ikke længere have bredden 21cm. Det skulle så kun være 17cm bredt. Tjaaahhhh .... meget må I kalde det - 'logik' er dog ikke det første ord, jeg kommer til at tænke på :) /mvh
se det som et stykke papir af vilkårlig størrelse (div-boksen) på et skrivebord. Jeg ser "padding" som afstanden fra skriften på papiret til papirets kant og "margin" som en plads udenom papiret.
Din sammenligning syntes jeg passer bedre på den ydre margin, altså 'margin' i CSS. Hvis du tegner en kasse på papiret og skriver tekst i denne kasse, ændrer kassens bredde sig jo ikke, hvis du vælger at lave lidt luft mellem kassens kant og teksten. _Det_ kalder jeg logisk :)
Hvis man ikke angiver en fast størrelse på boksen, har du hardcore ret; men jeg TROR (siger med vilje TROR) stadig, at indhold+padding+border+margin ikke gælder for bokse med fixed størrelse.
michaeltajo >> Jeg har svært ved at forstå, hvad du skriver. 1. Hvad mener du med 'fixed' størrelse. 2. Hvad mener du med: "hvad siger W3C (og browserproducenterne) ?" Her tænker jeg ikke på, at W3C bl.a. er browserfabrikanterne, men jeg forstår ikke, hvad du mener. W3C skriver jo klart på siden, jeg refererede til, hvad de mener :)
svoeber >> Din logik synes ikke at stemme overens med resten af branchens ... og heller ikke med W3C's. Så må det være en trøst, at du om ikke andet er enig med michaeltajo :)
Det fremgår med al ønskelig tydelighed, at "padding" er indenfor boksens border, hvilket understøtter mit argument. Vi er begge ordkløvere, og kan forhåbentlig enes om, at præcision er vigtigt; men: tag den !
olebole >> Min logik stemmer da overens med fx. MS Word. Hvis man laver en tekstboks i Word og derefter ændrer padding i boksen vil tekstboksens brede forblive uændret.
Jeg fik desværre ikke opdateret før jeg sendte "16:40:18".
Svar 1) Med "fixed" størrelse mener jeg, at man angiver "width: xxx; height: xxx" et eller andet sted i stedet for at lade det være op til browseren.
Svar 2)Jeg mener, at vi kan diskutere til vi bliver til støv; men det "virkeligt interessante" er: A) Hvad mener W3C, at man burde gøre ? & B) Hvad gør browser-skaberne ?
michaeltajo >> Jeg er helt enig i dine betragtninger omkring Word. Derudover bliver noget ikke rigtigere af, at andre gør eller mener det samme (forkerte). "10.000.000.000 flies can't be wrong ... eat shit!" Nej, vel? ;o)
Jeg forstår stadig ikke, hvad du mener med: "Hvad mener W3C, at man burde gøre ?". De mener, at du skal bruge standarden, som den er ... altså medregne padding og margin til boksens størrelse. At det så kun er padding, der får elementets baggrundsfarve er en anden sag.
Til slut: Browserfabrikanterne er en (meget stor) del af W3C - så de mener nok det samme, skal du se ;o) /mvh
Prøv at læse teksten (også referencerne) i det afsnit, du linker til i (10/04-2003 16:40:18). Der står det højt og tydeligt. Jeg fatter ikke, hvor jeres misforståelse af box-modellen opstår :) /mvh
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.