Various texts on the net claim that \"pt\" is the default font-size unit when none is provided, however, my own testing seems to demonstrate otherwise. I have read many docu
Per the "CSS Fonts Module Level 3" the font-size
property can have values that are:
Value: <absolute-size> | <relative-size> | <length> | <percentage>
<absolute-size>, <relative-size>, and <percentage> are defined in the same spec, and are all either keywords (e.x. small
, larger
, etc) or have percentage units.
<length>
being more generic is defined in "CSS Values and Units Module Level 3":
Lengths refer to distance measurements and are denoted by <length> in the property definitions. A length is a dimension. However, for zero lengths the unit identifier is optional (i.e. can be syntactically represented as the <number> 0).
What this means is that unitless numbers for font-size
are invalid, with an explicit exception for 0
.
With that said, what size is <div style="font-size: 20;">20 size</div>
being rendered at?
The rendered font-size
of an element will depend on a lot of things. However, if we're able to assume that
font-size
font-size
(e.x. <font>
, <sub>
, <h1>
...yes it would be invalid markup to have those elements as parents, but it would still change the font-size
)Then the default font-size
in every modern browser that I'm aware of currently is 16px
.