I’ve found that an “overflow:hidden” div following a “float:left” div has doubled margin on the right. This can be tested with following code:
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
div.intro {
border: 1px solid #DBDBDB;
margin: 10px 0;
padding: 10px 0;
}
div.intro>div {
border: 1px solid #DBDBDB;
height: 150px;
margin: 0 10px;
}
div.brief {
float: left;
width: 150px;
}
div.list {
overflow: hidden;
}
</style>
</head>
<body>
<div class="intro">
<div class="brief"></div>
<div class="list"></div>
</div>
</body>
</html>
The space between right border of div.list and right border of div.intro is 20px in chrome(17.0.963.56 m) and safari(5.1.2), while being 10px in Firefox(11.0) and IE9.
Is this a bug of webkit or just an undefined preference of css?
Thanks!
I was able to reproduce this on Chrome for Mac, 17.0.963.56.
The problem stems from the fact you’ve given
#briefand#lista height, but haven’t contained the float. There actually isn’t a double margin; themargin-rightof10pxis combining with.intro‘s 10pxpadding-rightto give the allusion of a20pxdouble-margin.All things considered, the fact the WebKit (Chrome’s & Safari’s renderer), rendered things that way is a little strange.
Everything worked as expected with this CSS (see the Fiddle):