W3C home > Mailing lists > Public > www-style@w3.org > October 2004

Re: Box model: min-margin and max-margin, max-padding and min-padding

From: Andrew Fedoniouk <news@terrainformatica.com>
Date: Sun, 3 Oct 2004 12:36:37 -0700
Message-ID: <004a01c4a980$4c79df60$0401a8c0@ATHLON>
To: "L. David Baron" <dbaron@dbaron.org>
Cc: "W3C Style List" <www-style@w3.org>

Thanks, David,

| David:
| While a UA could manufacture a sort of node
| behind-the-scenes if it wants to, nothing requires it to do so, and it's
| certainly not related to any of the quirks or rules in HTML parsing.

Yes, indeed, *internally* DOM is just a collection of typless nodes with
different
*layout behavior controllers* applied. One of it is this table layout,
seconds later and after mouse over it might be div layout, etc. But we are
not speaking about internal implementation details which *are* different.

For me, using current CSS Recommendations, is still not obvious: does
http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes imply DOM
transformation or not?
What are these 'objects' exactly? Personal opinions and internal details of
different implementations are not normative. Right?

I personally would like to know for what extent we are going to *emulate*
<TABLE> in CSS?

1) Current HTML behavior of
<table>garbage<tr>garbage<td>cell</td>garbage</tr>garbage</table>
is completely different from what defined in CSS's "anonymous boxes"
section.

2) colspan/rowspan attributes anyone?

3) <table dir=right-to-left> changes *order* of columns.
(flow:right-to-left !) .

If we are going to make <TABLE> behavior (as other HTML features) fully
definable
in CSS we should unite www-html and www-styles groups in one organizational
entity to avoid "feature race" between two teams.
Already mentioned <NL> element is another example which will force invention
of bunch of new CSS attributes.

======================================
Here is an example of different understanding of "hidden" DOM
transformations in different implementations:

<html><head><style>
    body > span { color:red; }
    *:first-child { color:green; }
</style></head>
<body>
  One <span>Two</span> Three
  <p>Four Five Six</p>
</body>
</html>

Try to load this in Mozilla and Opera to see what I mean.

Andrew Fedoniouk.
http://terrainformatica.com


Original Message from: "L. David Baron":

> Andrew Fedoniouk wrote:
> >| > As per CSS [1] "display:table-cell" forces change of underlying DOM -
> >UA

> Well a "node" technically is inserted, which is an anonymous node,
> meaning selectors do not match it, nor do they appear in the DOM, thus
> not modifying the DOM...  it is the same concept if in HTML you add an
> inline element, in a spot where the html would expect a block element,
> most browsers have implimented quarks behavior in these cases, so that a
> block elem is placed between them and the block one that is placed is
> not shown in the DOM...

This simply isn't true.  While a UA could manufacture a sort of node
behind-the-scenes if it wants to, nothing requires it to do so, and it's
certainly not related to any of the quirks or rules in HTML parsing.

-David

--
L. David Baron                                <URL: http://dbaron.org/ >
Received on Sunday, 3 October 2004 19:37:30 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 27 April 2009 13:54:34 GMT