Проширење елемената у CSS-у за JavaScript
Постављање CSS својстава
width и
height
не гарантује да ће елемент добити
задату димензију. Погледајмо то
на примерима.
Пример
Сада се димензије елемента поклапају са задатим:
<div id="elem">
text
</div>
#elem {
width: 200px;
height: 200px;
margin: 50px auto;
background: #CFF5BF;
}
:
Пример
А сада поставимо елементу својство
padding.
Као резултат, стварна ширина елемента ће постати
већа и прошириће се за задату вредност
унутрашњег одступања:
<div id="elem">
text
</div>
#elem {
padding: 25px;
width: 200px;
height: 200px;
margin: 50px auto;
background: #CFF5BF;
}
:
Пример
Присуство границе такође проширује елемент:
<div id="elem">
text
</div>
#elem {
width: 200px;
height: 200px;
margin: 50px auto;
background: #CFF5BF;
border: 20px solid #F0D7A1;
}
:
Пример
Својство box-sizing
омогућава да се промени горе описано понашање.
Може се урадити тако да ни унутрашње одступање,
ни граница не проширују елемент.
За то овом својству треба
доделити вредност 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;
}
:
Важност описаног
Са становишта JavaScript-а, описана ситуација
није баш погодна. Јер испада да, прочитавши
вредност својства width, уопште не можемо
бити сигурни да ће елемент бити
управо те ширине.