2 div выглядят по-разному в IE7.0 по сравнению с другими браузерами (упрощенно).Как исправить? - PullRequest
1 голос
/ 22 ноября 2011

Эта часть моей html-страницы (95% кода было удалено) по-прежнему выглядит иначе в IE7.0 (IE6.0 не тестировалась) по сравнению с другими браузерами.Может кто-нибудь сказать мне, как это исправить, чтобы IE7.0 отображал его так же, как FF, Opera и другие?

<html >
<body>
<div style="margin: 0 100px 0 340px;">
    <div style="margin-right: -103px; height:300px; border:1px solid #3c6; float:right;">right is <br>different<br>when use<br>IE7.0. <br>Why?</div>
    <div  style="border:1px solid #c63; height:300px;">middle is OK</div>
</div>
</body>
</html>

Что в 2 делителях должно быть некоторое пространство между ними, но IE7.0 показывает их вместе.

1 Ответ

1 голос
/ 22 ноября 2011

Это отрицательная маржа, которая делает это. Это немного необычный способ структурирования вашего контента, так что вы попадаете на крайний случай, который IE обрабатывает по-другому.

Если вы структурируете свою страницу более стандартным способом (трудно порекомендовать, как с более подробной информацией, не зная точно, что вы пытаетесь выполнить), вы столкнетесь с менее острыми случаями, подобными этому.

Но если обстоятельства диктуют, что так и должно быть, вы можете добавить margin-left:44px; к div с отрицательным правым полем (при необходимости измените 44px). Это приведет к:

<html>
<body>
<div style="margin: 0 100px 0 340px;">
    <div style="margin-right: -103px; margin-left:44px; height:300px; border:1px solid #3c6; float:right;">right is <br>different<br>when use<br>IE7.0. <br>Why?</div>
    <div style="border:1px solid #c63; height:300px;">middle is OK</div>
</div>
</body>
</html>
...