Работа с отстъпи padding в CSS

Нека на даден елемент сме задали ширина 100px. В CSS това в никакъв случай не означава, че елементът наистина ще бъде широк 100px. Работата е там, че добавянето на padding разширява елемента и той става по-голям, отколкото е указано в свойството width.

Нека разгледаме пример. Нека направим два блока, на които задаваме ширина 100 пиксела. В същото време на втория блок задаваме padding, а на първия - не. В резултат вторият блок ще бъде по-голям с размера на отстъпа:

html<div id="elem1"></div>
<div id="elem2"></div>
css#elem1 {
  width: 100px;
  height: 100px;
  background: #f1f1f1;
  margin-bottom: 20px;
}

#elem2 {
  padding: 25px; /* задаваме отстъпи */
  width: 100px;
  height: 100px;
  background: #f1f1f1;
}

Результат: