- From: Patrick Garies <pgaries@fastmail.us>
- Date: Wed, 29 Apr 2009 09:37:37 -0500
- To: Aryeh Gregor <Simetrical+w3c@gmail.com>
- CC: www-style@w3.org
- Message-ID: <49F86631.5070408@fastmail.us>
Aryeh Gregor wrote:
> It doesn't seem like Firefox 3.0.10 does that. Opera 9.50 Alpha and
> a packaged Chromium nightly do. (This is all on Linux.) See the
> attached test case: I get margins collapsing in the first case
> always, the second case never, and the third case only in
> Opera/Chromium. Things might have changed in more recent
> Firefox/Opera, of course.
The number that I tested with (just prior to that email) was 0.0001px
which had the described result. However, upon further testing, it seems
that Mozilla Firefox will suppress margin collapsing if the margin is,
at least, 0.00834px in width even if it isn't drawn. Ditto for WIE8
except that the threshold appears to be 0.01px. Opera and Safari both
seem to require that the margin is rendered as an actual pixel.
I think that the Firefox implementation is bizarre and the WIE
implementation slightly less so; if there's going to be a threshold, it
should be anything greater than zero rather than some arbitrarily small
number. Opera and Safari make more sense with Safari seeming to be the
better considering its (proprietary) margin collapsing control
properties. (After testing one of those properties, I think that
|suppress| would be a better keyword than |separate| though; it's more
intuitive and the word that I initially tried to use.)
I tested with the following code:
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html lang="en-Latn">
<head>
<title>Demo</title>
<style type="text/css" media="all">
* { margin: 0; padding: 0; }
html { background: silver; font-size: 60px; }
body { background: lightblue; padding-top: 0.00834px /*
0.00833px 0.01px 1px */; /* -webkit-margin-top-collapse: separate; */ }
div:first-child { margin: 1em; background: red; }
div + div { position: absolute; top: 0; left: 1em; width:
10em; height: 0.9em; border-top: 0.1em solid orange; background: black;
color: white; }
</style>
</head>
<body>
<div>1</div>
<div>2</div>
</body>
</html>
— Patrick Garies
Attachments
- text/html attachment: code.html
Received on Wednesday, 29 April 2009 14:39:02 UTC