Авторазмер div / iframe на основе содержимого, загруженного внутри iframe - PullRequest
0 голосов
/ 15 июня 2011

Я вижу много противоречивой информации об этом онлайн, и я подумал, что люди здесь будут знать лучше, чем подавляющее большинство других мест.

Возможно ли иметь div с iframe внутри него, автоматически увеличивать ширину(и, возможно, высота) -> БЕЗ <- использование javascript .. также он должен поддерживать кроссбраузерность (такие браузеры, как lynx и ie5 не имеют значения). </p>

Iуже несколько дней возился и следил за предложениями разных людей в отношении этого, но я до сих пор не вижу, чтобы мои div и iframe ограничивали их ширину теми данными, которые загружаются в iframe (только таблицы случайной информации).

Вот некоторые из моих css и связанных с ними html, как вы можете сказать, с тех пор он прошел через некоторые ревизии, которые не имеют ширины: auto;высота: авто и т. д.

            div#topleftdiv
                {
                    float: left;
                    width: 25%;
                    height: auto;
                }

            iframe#topleftframe
                {
                    background-color: transparent;
                    -moz-opacity: .00;
                    filter: alpha(opacity=00);
                }


            div#toprightdiv
                {
                    float: right;
                    width: 25%;
                    height: auto;
                }

            iframe#toprightframe
                {
                    background-color: transparent;
                    -moz-opacity: .00;
                    filter: alpha(opacity=00);
                }

            div#topmiddlediv
                {
                    float: left;
                    width: 49%;
                    height: auto;
                    text-align: center;
                    align: center;
                    margin-left: auto;
                    margin-right: auto;
                }

            iframe#topmiddleframe
                {
                    width: 100%;
                    height: 40em;
                    text-align: center;
                    align: center;
                    margin-left: auto;
                    margin-right: auto;
                    -moz-border-radius: 15px;
                    border-radius: 15px;
                }

            div#bottomdiv
                {
                    clear: both;
                }

<div id="topleftdiv" scrolling="no">
    <iframe id="topleftframe" name="topleftframe" scrolling="no"  allowtransparency="true" frameBorder="0">
    </iframe>
</div>
<div id="toprightdiv" scrolling="no">
    <iframe id="toprightframe" name="toprightframe" scrolling="no" allowtransparency="true" frameBorder="0">
    </iframe>
</div>
<div id="topmiddlediv" scrolling="no">
    <iframe id="topmiddleframe" name="topmiddleframe" scrolling="no" allowtransparency="true" frameborder="0" noresize>
    </iframe>
</div>

1 Ответ

3 голосов
/ 15 июня 2011

Нет, это невозможно.Вам необходим JavaScript, чтобы передать размер кадра обратно в родительское окно.

Базовый JavaScript, если вы передумаете:

из iFrame:

parent.document.getElementById('iframe_id').style.height =
    document.body.offsetHeight;
...