Extinderea elementelor în CSS pentru JavaScript
Setarea proprietăților CSS
width și
height
nu garantează faptul că elementul va avea
dimensiunea stabilită. Să analizăm
câteva exemple.
Exemplul
În acest moment dimensiunile elementului coincid cu cele stabilite:
<div id="elem">
text
</div>
#elem {
width: 200px;
height: 200px;
margin: 50px auto;
background: #CFF5BF;
}
:
Exemplul
Acum să setăm elementului proprietatea
padding.
Ca rezultat, lățimea reală a elementului va deveni
mai mare și se va extinde cu valoarea stabilită
a spațiului interior:
<div id="elem">
text
</div>
#elem {
padding: 25px;
width: 200px;
height: 200px;
margin: 50px auto;
background: #CFF5BF;
}
:
Exemplul
Prezența bordurii, de asemenea, extinde elementul:
<div id="elem">
text
</div>
#elem {
width: 200px;
height: 200px;
margin: 50px auto;
background: #CFF5BF;
border: 20px solid #F0D7A1;
}
:
Exemplul
Proprietatea box-sizing
permite modificarea comportamentului descris mai sus.
Putem face ca nici spațiul interior,
nici bordura să nu extindă elementul.
Pentru aceasta, acestei proprietăți trebuie să-i
stabilim valoarea 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;
}
:
Importanța celor descrise
Din perspectiva JavaScript, situația descrisă
nu este foarte convenabilă. Se dovedește că, citind
valoarea proprietății width, nu putem
fi deloc siguri că elementul va avea
exact această lățime.