W3C home > Mailing lists > Public > www-style@w3.org > July 2008

Proposal: content-size property

From: Michael A. Puls II <shadow2531@gmail.com>
Date: Wed, 16 Jul 2008 19:04:42 -0400
Message-ID: <6b9c91b20807161604g2975b81bp75a4c491ce8377b1@mail.gmail.com>
To: www-style@w3.org

Problem: Make an iframe or object's height expand to the height of its content

Not a solution: height: 100%

This doesn't work as intended because:

1. It's 100% of the frame's parent's height and not the framed
document's height.

2. To make 100% expand to the size of the body (to kind of simulate
that it's the height of the framed document), you have to be in quirks
mode or use relative + absolute positioniing all the way down to the
frame so that the height inheritance actually makes 100% do something
useful. (I don't even remember the correct way to get that effect.)

Better, but still unsatisfactory solution: Use Javascript

Use Javascript load listeners on the framed document (and the initial
load of the main document if needed). Then style the frame's height
with its document.documentElements's offsetHeight as a reference.
<http://www.google.com/search?q=iframe+auto+resize>

It's a pain to get right for every situation (including situations
where the framed document is on a different domain) across all
browsers and it still requires JS.

Real Solution:

Opera supports a CSS -o-content-size property.

You can use it like this:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style>
            object {
                width: 100%;
                height: -o-content-size;
                display: block;
            }
        </style>
    </head>
    <body>
        <p><object type="text/html" data="content.html">Alternate
content</object></p>
    </body>
</html>

-o-content-size adjusts the object's height to whatever the size of its content.

It's an awesome feature and I'd love to see content-size supported by
all browsers.

(Not sure, but maybe IE, FF and Safari have similar extensions that do this.)

-- 
Michael
Received on Wednesday, 16 July 2008 23:05:17 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 27 April 2009 13:55:10 GMT