I have very strange "issue", on most browsers (ie, ff, chrome, safari). Here is example code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <style type="text/css">
        html{
            outline: 1px #0ff solid;
            background: rgba(0,255,255,0.1);
        }
        body{
            margin: 0;
            padding: 0;
            outline: 1px #00f solid;
            background: rgba(0,0,255,0.1);
        }
        #aDiv{
            width: 300px;
            outline: 1px #f00 solid;
            background: rgba(255,0,0,0.2);
        }
        #bDiv{
            margin-top: 100%;
            outline: 1px #0f0 solid;
            background: rgba(0,255,0,0.1);
        }
    </style>
</head>
<body>
    <div id="aDiv">
        <div id="bDiv">
            content
        </div>
    </div>
</body>
</html>
When You change #aDiv width, then #bDiv margin-top will change with same value. I dont know how it is possible, that height goes to width. Anyway maybe one of You could explain me whats going on?
Best regards ;)
D.
margin-top The margin-top CSS property sets the margin area on the top of an element. A positive value places it farther from its neighbors, while a negative value places it closer. This property has no effect on non- replaced inline elements, such as <span> or <code>.
Only vertical (top and bottom) margins! In the example above, the <p class="a"> element has a top and bottom margin of 30px. The <p class="b"> element has a top and bottom margin of 20px.
Note: Negative values are allowed. yes, see individual properties. Read about animatable Try it The numbers in the table specify the first browser version that fully supports the property. Specifies a fixed top margin in px, pt, cm, etc. Default value is 0px.
Its value can be positive, zero, or negative. The size of the margin as a fixed value. The size of the margin as a percentage, relative to the width of the containing block. The browser selects a suitable value to use.
This is actually according to the spec
<percentage> The percentage is calculated with respect to the width of the generated box's containing block. Note that this is true for 'margin-top' and 'margin-bottom' as well. If the containing block's width depends on this element, then the resulting layout is undefined in CSS 2.1.
Pretty useless, right? Have you considered using position: absolute and bottom: 0? They might be more of what you're looking for.
You could try viewport relative units ( 1vw = 1% of viewport width, 1vh = 1% of viewport height).
Tried margin-top: 90vh; ?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With