In web development, the CSS box model refers to the composition of a webpage or HTML page from blocks or boxes using CSS. Specifically, the box model describes how the size of each such block and its content is determined through styling instructions. The guidelines of the box model are described by the World Wide Web Consortium (W3C).
The content of each box is determined by four parameters:
The total width of a box is therefore the width of the content, plus (left- and right-) padding, plus (left- and right-) border, plus (left- and right-) margin. Similarly, the total height of a box equals the height of the content, plus (top- and bottom-) padding, plus (top- and bottom-) border, plus (top- and bottom-) margin.
For example, the following CSS code
will specify the box dimensions of each block belonging to 'myClass'. Moreover, each such box will have total height 160px and width 260px, which is the sum of the content, padding, border and margin.
While the W3C recommendations specify the box model in a clear and unambiguous way, some older browsers do not apply it correctly. Therefore, they may not display the box dimensions of a web page correctly. The most notable bug in correctly applying the box model occurs in older versions of Internet Explorer, and is known as the Internet Explorer box model bug.