Skip to content

Commit

Permalink
[css-tables] Fixed #469 by switching from whitelist to blacklist
Browse files Browse the repository at this point in the history
  • Loading branch information
FremyCompany committed Oct 28, 2016
1 parent 3fcbf9f commit 0363967
Showing 1 changed file with 29 additions and 14 deletions.
43 changes: 29 additions & 14 deletions css-tables-3/Overview.bs
Original file line number Diff line number Diff line change
Expand Up @@ -378,13 +378,8 @@ spec:css22; type:property; text:display
The width of the table-wrapper box is the border-edge width of the table box inside it.
Percentages which would depend on the 'width' and 'height' on the table-wrapper box's size are relative to the table-wrapper box's containing block instead, not the table-wrapper box itself.

The computed values of properties 'position', 'float', 'margin'-*, 'top', 'right', 'bottom', and 'left' on the table element are used on the table-wrapper box and not the table box;
all other values of non-inheritable properties are used on the table box and not the table wrapper box. (Where the table element's values are not used on the table and table wrapper boxes, the initial values are used instead.)
<p class="note">
Since this does not have any effect on layout,
implementations are free not to generate this box when the table-root has no table-caption.


The computed values of properties 'position', 'float', 'margin'-*, 'top', 'right', 'bottom', and 'left' on the table box are used on the table-wrapper box and not the table box;
all other values of non-inheritable properties are used on the table box and not the table wrapper box. (Where the table boxes values are not used on the table and table wrapper boxes, the initial values are used instead.)
</ol>
</li>
</ol>
Expand All @@ -394,6 +389,13 @@ spec:css22; type:property; text:display
These transformations happen before the table fixup.
</div>

<div class="note">
Please note that the 'float' and 'position' properties sometimes <a href="http://www.w3.org/TR/CSS22/visuren.html#dis-pos-flo">affect the computed value</a> of 'display'.
When those properties are used on what should have been table internal boxes, they switch to <code>block</code> instead.
This transformation happen before the table fixup.
</div>


<div class="note">
We have modified the text of this section from CSS 2.2 to make it easier to read.
If you find any mistakes due to these changes please file an issue
Expand Down Expand Up @@ -840,22 +842,35 @@ spec:css22; type:property; text:display
<!--------------------------------------------------------------------------------->
<h4 id="global-style-overrides">Overrides applying in all modes</h4>

The following rules apply to all tables, irrespective of the layout mode in use:
The following rules apply to all tables, irrespective of the layout mode in use.

<ul>
<li>All css properties of <a>table-track</a> and <a>table-track-grouping</a> boxes are ignored,

<li>The computed values of properties 'position', 'float', 'margin'-*, 'top', 'right', 'bottom', and 'left' on the table box
are used on the table-wrapper box and not the table box;
the same holds true for the <a href="https://drafts.csswg.org/css-transforms/#grouping-property-values">properties whose use could force the used value of <object>'transform-style'</object> to <code>flat</code></a> and their shorthands/longhands relatives:
this list currently includes 'overflow', 'opacity', 'filter', 'clip', 'clip-path', 'isolation', 'mask'-*, 'mix-blend-mode', 'transform'-* and 'perspective'.
<br>
Where the table box values are not used on the table and/or table wrapper boxes,
the unset values are used instead for that box (inherit or initial, depending on the property).

<li>The 'overflow' property on the <a>table-root</a> and <a>table-wrapper</a> box, when its value is not either <code>visible</code> or <code>hidden</code>,
is ignored and treated as if its value was <code>visible</code>.

<li>All css properties of <a>table-column</a> and <a>table-column-group</a> boxes are ignored,
except when explicitely specified by this specification.

<li>The 'position' of <a>table-track</a> and <a>table-track-grouping</a> boxes is ignored
if its value is <code>relative</code>. User agents that support 'transform'
still need to support making these boxes containing blocks if required by spec.

<li>The 'margin', 'padding', 'overflow' and 'z-index' of <a>table-track</a> and <a>table-track-grouping</a boxes> are ignored.
<li>The 'margin' of <a>table-cell</a> boxes is ignored (as if it was set to 0px).

<li>The 'background' of <a>table-cell</a> boxes
are painted using a special background painting algorithm described in [[#drawing-cell-backgrounds]].

<li>The 'opacity' of <a>table-cell</a> boxes
applies using a special value combining its parent tracks values, as described in [[#TODO]].

<li>The 'transform' of <a>table-cell</a> boxes
applies using a special value combining its parent tracks values, as described in [[#TODO]].
</ul>


Expand Down

0 comments on commit 0363967

Please sign in to comment.