Css Position:fixed Without Top Gives Unexpected Layout?
Given:
Fixed div
Non-fixed div
Non-fix
Solution 1:
You'll notice that the "fixed" div is actually at the top of the body
, the position and size of which match those of the "nonfixed" div.
This is most certainly due to the top margins of the body
and div#nonfixed
collapsing. See http://www.w3.org/TR/CSS21/box.html#collapsing-margins
8.3.1 Collapsing margins
In CSS, the adjoining margins of two or more boxes (which might or might not be siblings) can combine to form a single margin. Margins that combine this way are said to collapse, and the resulting combined margin is called a collapsed margin.
(...)
Two margins are adjoining if and only if:
- both belong to in-flow block-level boxes that participate in the same block formatting context
- no line boxes, no clearance, no padding and no border separate them (Note that certain zero-height line boxes (see 9.4.2) are ignored for this purpose.)
- both belong to vertically-adjacent box edges, i.e. form one of the following pairs:
- top margin of a box and top margin of its first in-flow
- (...)
The top
is relative to the containing block, which is apparently not body
but html
(the root element).
Post a Comment for "Css Position:fixed Without Top Gives Unexpected Layout?"