Udvidelse af elementer i CSS for JavaScript
Tildeling af CSS-egenskaberne
width og
height
garanterer ikke, at elementet får
den angivne størrelse. Lad os se på
eksempler.
Eksempel
Lige nu matcher elementets dimensioner de angivne:
<div id="elem">
text
</div>
#elem {
width: 200px;
height: 200px;
margin: 50px auto;
background: #CFF5BF;
}
:
Eksempel
Og lad os nu give elementet egenskaben
padding.
Som et resultat vil den faktiske bredde af elementet blive
større og udvides med den angivne værdi
for indre afstand:
<div id="elem">
text
</div>
#elem {
padding: 25px;
width: 200px;
height: 200px;
margin: 50px auto;
background: #CFF5BF;
}
:
Eksempel
Tilstedeværelsen af en grænse udvider også elementet:
<div id="elem">
text
</div>
#elem {
width: 200px;
height: 200px;
margin: 50px auto;
background: #CFF5BF;
border: 20px solid #F0D7A1;
}
:
Eksempel
Egenskaben box-sizing
tillader at ændre beskrevet adfærd.
Det er muligt at gøre således, at hverken indre afstand
eller grænse udvider elementet.
For at gøre dette skal denne egenskab
tildeles værdien border-box:
<div id="elem">
text
</div>
#elem {
box-sizing: border-box;
padding: 20px;
width: 200px;
height: 200px;
margin: 50px auto;
background: #CFF5BF;
border: 20px solid #F0D7A1;
}
:
Vigtigheden af det beskrevne
Fra JavaScript-synspunktet er den beskrevne situation
ikke særlig bekvem. Det viser sig trods alt, at ved at læse
værdien af egenskaben width kan vi slet ikke
være sikre på, at elementet vil have
netop denne bredde.