Unwrappable float очищается в IE, но отображается с полосами прокрутки во всех других браузерах - PullRequest
0 голосов
/ 19 ноября 2010

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

Вот код, который я использую для демонстрации проблемы:

<style>
  #col1 { float: left; width:189px;  font-size:8pt;}
  #col3 { width: auto; margin: 0 0 0 191px; }
</style>             
<body>           
    <div id="col1">
            <div style="padding-top:30em;border:1px solid red">really tall</div>
    </div>
    <div id="col3">        
            <h1>title</h1>  
            <table border="1">
            <tr>
                <td>aaaaaaaaaa</td><td>aaaaaaaaaa</td>
                <td>aaaaaaaaaa</td><td>aaaaaaaaaa</td>
                <td>aaaaaaaaaa</td><td>aaaaaaaaaa</td>
                <td>aaaaaaaaaa</td><td>aaaaaaaaaa</td>
                <td>aaaaaaaaaa</td><td>aaaaaaaaaa</td>
                <td>aaaaaaaaaa</td><td>aaaaaaaaaa</td>
                <td>aaaaaaaaaa</td><td>aaaaaaaaaa</td>
                <td>aaaaaaaaaa</td><td>aaaaaaaaaa</td>
                <td>aaaaaaaaaa</td><td>aaaaaaaaaa</td>
                <td>aaaaaaaaaa</td><td>aaaaaaaaaa</td>
                <td>aaaaaaaaaa</td><td>aaaaaaaaaa</td>
            </tr>
        </table>
    </div>
</body>

А вот как это выглядит в IE: image

Во всех других браузерах таблица a отображается под заголовком, и я получаю горизонтальную полосу прокрутки. Это то, что я ожидал, но по какой-то причине IE хочет очистить содержимое в col1. Я пытался применить ширину, число с плавающей точкой и т. Д., Но я не могу заставить IE поместить таблицу под заголовком без очистки содержимого col1.

Я предполагаю, что для этого есть какой-то взлом IE, но что это?

Ответы [ 3 ]

1 голос
/ 19 ноября 2010

добавить zoom:1 к CSS # col3, это решит (это связано с проблемой haslayout)

http://jsfiddle.net/fcalderan/ZPztF/

ps Это своего рода магия (цит. Королева)=)

http://reference.sitepoint.com/css/haslayout

1 голос
/ 19 ноября 2010

Можете ли вы установить ширину на col3?Если нет, попробуйте настроить рамку так, чтобы она была css, а не html border.Также попробуйте border-collapse:collapse; на столе.Если вы можете установить ширину на col3, также используйте overflow:hidden;.Вы также можете попытаться использовать inline-block на оба вместо числа с плавающей запятой.

EDIT : Наконец-то мое решение заработало в IE6.Это требует изменения порядка исходного кода, но контент может быть первым.

EDIT # 2 : Мое решение работает в причудах IE6 / IE7 / IE8 и стандартах IE6 / IE7 / IE8, а также Fx, Хром.

http://work.arounds.org/sandbox/67/run

0 голосов
/ 19 ноября 2010

Вы пытались добавить переполнение: авто;в стиле # col3?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...