Proširenje elemenata u CSS-u za JavaScript
Postavljanje CSS svojstava
width i
height
ne garantuje da će element postati
zadate veličine. Pogledajmo na primerima.
Primer
Sada se veličine elementa poklapaju sa zadatim:
<div id="elem">
text
</div>
#elem {
width: 200px;
height: 200px;
margin: 50px auto;
background: #CFF5BF;
}
:
Primer
A sada hajde da postavimo elementu svojstvo
padding.
Kao rezultat, stvarna širina elementa će postati
veća i proširiće se za zadatu vrednost
unutrašnjeg odstupa:
<div id="elem">
text
</div>
#elem {
padding: 25px;
width: 200px;
height: 200px;
margin: 50px auto;
background: #CFF5BF;
}
:
Primer
Prisustvo granice takođe proširuje element:
<div id="elem">
text
</div>
#elem {
width: 200px;
height: 200px;
margin: 50px auto;
background: #CFF5BF;
border: 20px solid #F0D7A1;
}
:
Primer
Svojstvo box-sizing
omogućava promenu gore opisanog ponašanja.
Može se postići da ni unutrašnji odstup,
ni granica ne proširuju element.
Za to ovom svojstvu treba
postaviti vrednost 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;
}
:
Značaj opisanog
Sa stanovišta JavaScript-a, opisana situacija
nije baš zgodna. Uostalom, ispada da pročitavši
vrednost svojstva width uopšte ne možemo
biti sigurni da će element biti
baš te širine.