Вывод этого кода выглядит примерно одинаково в FF, Chrome и Safari в Windows. В IE7 это выглядит странно.
Для всех других браузеров div-рамка точно оборачивает div холста, даже если в кадре есть div 24X24, но вне холста. IE7 оставляет дополнительное пространство в кадре над холстом для div-блока "blue-box". После того, как я спустился на воду, я подумал, что пространство, которое он занимал бы, рухнуло. Такое поведение я вижу в других браузерах.
Есть ли какая-нибудь хитрость в том, чтобы заставить IE7 свернуть пространство, как другие парни?
Редактировать: Просто, чтобы дать представление о том, что этот пример должен представлять. Предполагается, что он представляет собой встроенный виджет. «Холст» - это то, где принадлежит контент. «Рамка» - это то, что хостинг использует для управления внешним видом и поведением между виджетом и остальной частью страницы. Div-блоки red-box и blue-box представляют элементы управления в виджете. Красное поле - это элемент управления, помещающий туда мой код виджета. Синяя рамка представляет элемент управления, добавленный рамкой (возможно, дескриптор, позволяющий перемещать виджет по странице)
Вот полный образец
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" >
<head>
<title>CSS Positioning</title>
<style type="text/css">
#frame {
position: relative; /* so subelements can be positioned */
width: 400px; /* an arbitrary width */
border: 1px solid black; /* a border so you can see it */
}
#canvas {
position: relative; /* so subelements can be positioned */
width: 400px; /* an arbitrary width */
border: 1px solid black; /* a border so you can see it */
}
#blue-box{
position: relative; /* so I can position this element */
float: right; /* I want this element all the way to the right */
width: 24px; /* set size of eventual graphic replacement */
height: 24px;
}
#red-box{
position: relative; /* so I can position this element */
width: 24px; /* set size of eventual graphic replacement */
height: 24px;
}
</style>
</head>
<body>
<div id="frame">
<div id="blue-box">blue</div>
<div id="canvas">
<div id="red-box">red</div>
</div>
</div>
</body>
</html>
Дополнительный пример для Эмили ================================================ =========
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" >
<head>
<title>CSS Positioning</title>
<style type="text/css">
* {
margin: 0;
padding: 0;
}
#one {
background-color: red;
float: right;
}
#two {
background-color: blue;
border: 1px solid black;
}
</style>
</head>
<body>
<div id="one">one</div>
<div id="two">two</div>
</body>
</html>