(Обратите внимание, что это не ошибка с двумя полями. На данный момент я называю это ошибкой с двойным вертикальным заполнением, если у кого-то еще нет более умного / задокументированного имени для этого?)
Как раз тогда, когда я подумал, что видел все причудливые ошибки IE CSS, я создал простой тестовый пример, который продолжает меня смущать. Страница ниже выглядит и прекрасно работает в FF, Opera и др. Однако IE 6 и IE 7 кажутся запутанными. Я позволю документу, который я вставлю ниже, говорю сам за себя.
Редактировать: Я поместил это по следующему URL: http://jsbin.com/efele
Откройте его в IE и снова в FF. Сравните.
Мой вопрос: как называется эта ошибка? (Я где-то пропустил это? На эта страница ?) Я знаком с 3-х пиксельной ошибкой jog и двойной (горизонтальной) ошибкой margin и множеством других ошибок, связанных с float. Но ... дублирование по вертикали дублируется? (И положить в неправильном месте, чтобы загрузить.)
<!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=iso-8859-1" />
<title>IE bork!</title>
<style type="text/css">
html, body {
margin:0;
padding:0;
}
#container {
border:1px solid red;
background-color:#CC99CC;
width:800px;
margin:0 auto;
padding-top:100px;
}
#sidebar {
float:left;
display:inline;
width:200px;
border:1px solid blue;
background-color:#00CCFF;
}
#content {
float:right;
display:inline;
width:510px;
border:1px solid green;
background-color:#66CC99;
}
.clear {
clear:both;
/* height:0px; <<< setting height seems to be the only thing that makes this work as expected?!? */
background-color:#CCCCCC; /* bg color here is just for debugging */
}
</style>
</head>
<body>
<div id="container">
<div id="sidebar">I am the sidebar</div>
<div id="content">I am the content</div>
<div class="clear"><!-- clear! --></div>
</div>
<p>There should be 100px of space above the two floats, but <em>no</em> space below them...</p>
</body>
</html>
P.S., я в конце концов понял, как успокоить IE по этому вопросу. Решение (явная установка высоты в моем «чистом» div) закомментировано, чтобы показать ошибку. Я только хотел бы, чтобы у меня были последние несколько часов моей жизни, чтобы я наткнулся на реальную проблему / решение!
Спасибо!