Where is the default size of a div element defined or calculated?
All block level elements takes the available width of their parent.
div
tags are block level elements. All block level elements inherit the width of their parent element by default.
In your example, the div
is inheriting the width of the parent body
tag, taking into account any margin or padding on the body element.
MDN is usually a great source of information for this sort of thing - see https://developer.mozilla.org/en/docs/Web/HTML/Block-level_elements
It has display: block
so width
is 100%
, height
is auto
so it's the size of whatever's inside.
According to the spec, a default value of 8px is expected to be used for the margin.
For each property in the table below (
margin-top
,margin-right
,margin-bottom
,margin-left
), given a body element, the first attribute that exists maps to the pixel length property on the body element. If none of the attributes for a property are found, or if the value of the attribute that was found cannot be parsed successfully, then a default value of 8px is expected to be used for that property instead.
That is why your width
is 1255 which is (1271 - 8 * 2). The heigh is the from the content -- TEST
.
I have created a slightly more complex example:
<body>
<div id="outer">
<div style="display:inline">
<div id="inner">
X
</div>
</div>
</div>
</body>