Browse files

[] (0) Filling in the rendering section: list styles; table borders; …

…align=justify.

git-svn-id: http://svn.whatwg.org/webapps@2753 340c8d12-0b0e-0410-8428-c7bf67bfef74
  • Loading branch information...
1 parent 04ee2e8 commit 8c322c34c392cc998d8f97fd140b052f5205db38 @Hixie Hixie committed Feb 4, 2009
Showing with 421 additions and 36 deletions.
  1. +209 −17 index
  2. +212 −19 source
View
226 index
@@ -56054,10 +56054,6 @@ td, th { padding: 1px; }</pre>
to the dimension property">map to the dimension property</a> 'height'
on the element.</p>
- <p>The <code><a href=#the-td-element>td</a></code> and <code><a href=#the-th-element>th</a></code> elements' <code title=attr-tdth-height>height</code> attributes <a href=#maps-to-the-dimension-property title="maps
- to the dimension property">map to the dimension property</a> 'height'
- on the element.</p>
-
<p>The <code><a href=#the-td-element>td</a></code> and <code><a href=#the-th-element>th</a></code> elements' <code title=attr-tdth-width>width</code> attributes <a href=#maps-to-the-dimension-property title="maps
to the dimension property">map to the dimension property</a> 'width'
on the element.</p>
@@ -56147,12 +56143,12 @@ tfoot[valign=baseline], tr[valign=baseline], td[valign=baseline], th[valign=base
<code><a href=#the-tbody-element>tbody</a></code>, <code><a href=#the-tfoot-element>tfoot</a></code>, <code><a href=#the-tr-element>tr</a></code>,
<code><a href=#the-td-element>td</a></code>, and <code><a href=#the-th-element>th</a></code> elements, when they have an
<code title=attr-align>align</code> attribute whose value is an
- <a href=#ascii-case-insensitive>ASCII case-insensitive</a> match for the string "<code title="">left</code>" or "<code title="">justify</code>", are
- expected to left-align text within themselves, as if they had their
- 'text-align' property set to 'left' in a <a href=#presentational-hints title="presentational
- hints">presentational hint</a>, and to left-align blocks and
- tables within them, as if their descendants had their 'margin-right'
- property set to 'auto' in <a href=#presentational-hints>presentational hints</a>.</p>
+ <a href=#ascii-case-insensitive>ASCII case-insensitive</a> match for the string "<code title="">left</code>", are expected to left-align text within
+ themselves, as if they had their 'text-align' property set to 'left'
+ in a <a href=#presentational-hints title="presentational hints">presentational hint</a>,
+ and to left-align blocks and tables within them, as if their
+ descendants had their 'margin-right' property set to 'auto' in
+ <a href=#presentational-hints>presentational hints</a>.</p>
<p>The <code><a href=#the-div-element>div</a></code>, <code><a href=#the-caption-element>caption</a></code>, <code><a href=#the-thead-element>thead</a></code>,
<code><a href=#the-tbody-element>tbody</a></code>, <code><a href=#the-tfoot-element>tfoot</a></code>, <code><a href=#the-tr-element>tr</a></code>,
@@ -56165,6 +56161,17 @@ tfoot[valign=baseline], tr[valign=baseline], td[valign=baseline], th[valign=base
their descendants had their 'margin-left' property set to 'auto' in
<a href=#presentational-hints>presentational hints</a>.</p>
+ <p>The <code><a href=#the-div-element>div</a></code>, <code><a href=#the-caption-element>caption</a></code>, <code><a href=#the-thead-element>thead</a></code>,
+ <code><a href=#the-tbody-element>tbody</a></code>, <code><a href=#the-tfoot-element>tfoot</a></code>, <code><a href=#the-tr-element>tr</a></code>,
+ <code><a href=#the-td-element>td</a></code>, and <code><a href=#the-th-element>th</a></code> elements, when they have an
+ <code title=attr-align>align</code> attribute whose value is an
+ <a href=#ascii-case-insensitive>ASCII case-insensitive</a> match for the string "<code title="">justify</code>", are expected to full-justify text within
+ themselves, as if they had their 'text-align' property set to
+ 'justify' in a <a href=#presentational-hints title="presentational hints">presentational
+ hint</a>, and to left-align blocks and tables within them, as if
+ their descendants had their 'margin-right' property set to 'auto' in
+ <a href=#presentational-hints>presentational hints</a>.</p>
+
<p>In all these cases, the effect on descendants is expected to only
extend to descendants that do not themselves have an applicable
<code title=attr-align>align</code> attribute.</p>
@@ -56191,8 +56198,74 @@ sub, sup { line-height: normal; }
:visited { color: purple; }
body { color: black; background: white; }
mark { background: yellow; color: black; }
-table { border-color: gray; }
-thead, tbody, tfoot, tr { border-color: inherit; }</pre>
+
+table, td, th { border-color: gray; }
+thead, tbody, tfoot, tr { border-color: inherit; }
+table[rules=none], table[rules=groups], table[rules=rows],
+table[rules=cols], table[rules=all], table[frames=void],
+table[frames=above], table[frames=below], table[frames=hsides],
+table[frames=lhs], table[frames=rhs], table[frames=vsides],
+table[frames=box], table[frames=border],
+table[rules=none] &gt; tr &gt; td, table[rules=none] &gt; tr &gt; th,
+table[rules=groups] &gt; tr &gt; td, table[rules=groups] &gt; tr &gt; th,
+table[rules=rows] &gt; tr &gt; td, table[rules=rows] &gt; tr &gt; th,
+table[rules=cols] &gt; tr &gt; td, table[rules=cols] &gt; tr &gt; th,
+table[rules=all] &gt; tr &gt; td, table[rules=all] &gt; tr &gt; th,
+table[frames=void] &gt; tr &gt; td, table[frames=void] &gt; tr &gt; th,
+table[frames=above] &gt; tr &gt; td, table[frames=above] &gt; tr &gt; th,
+table[frames=below] td, table[frames=below] &gt; tr &gt; th,
+table[frames=hsides] &gt; tr &gt; td, table[frames=hsides] &gt; tr &gt; th,
+table[frames=lhs] &gt; tr &gt; td, table[frames=lhs] &gt; tr &gt; th,
+table[frames=rhs] &gt; tr &gt; td, table[frames=rhs] &gt; tr &gt; th,
+table[frames=vsides] &gt; tr &gt; td, table[frames=vsides] &gt; tr &gt; th,
+table[frames=box] &gt; tr &gt; td, table[frames=box] &gt; tr &gt; th,
+table[frames=border] &gt; tr &gt; td, table[frames=border] &gt; tr &gt; th,
+table[rules=none] &gt; thead &gt; tr &gt; td, table[rules=none] &gt; thead &gt; tr &gt; th,
+table[rules=groups] &gt; thead &gt; tr &gt; td, table[rules=groups] &gt; thead &gt; tr &gt; th,
+table[rules=rows] &gt; thead &gt; tr &gt; td, table[rules=rows] &gt; thead &gt; tr &gt; th,
+table[rules=cols] &gt; thead &gt; tr &gt; td, table[rules=cols] &gt; thead &gt; tr &gt; th,
+table[rules=all] &gt; thead &gt; tr &gt; td, table[rules=all] &gt; thead &gt; tr &gt; th,
+table[frames=void] &gt; thead &gt; tr &gt; td, table[frames=void] &gt; thead &gt; tr &gt; th,
+table[frames=above] &gt; thead &gt; tr &gt; td, table[frames=above] &gt; thead &gt; tr &gt; th,
+table[frames=below] td, table[frames=below] &gt; thead &gt; tr &gt; th,
+table[frames=hsides] &gt; thead &gt; tr &gt; td, table[frames=hsides] &gt; thead &gt; tr &gt; th,
+table[frames=lhs] &gt; thead &gt; tr &gt; td, table[frames=lhs] &gt; thead &gt; tr &gt; th,
+table[frames=rhs] &gt; thead &gt; tr &gt; td, table[frames=rhs] &gt; thead &gt; tr &gt; th,
+table[frames=vsides] &gt; thead &gt; tr &gt; td, table[frames=vsides] &gt; thead &gt; tr &gt; th,
+table[frames=box] &gt; thead &gt; tr &gt; td, table[frames=box] &gt; thead &gt; tr &gt; th,
+table[frames=border] &gt; thead &gt; tr &gt; td, table[frames=border] &gt; thead &gt; tr &gt; th,
+table[rules=none] &gt; tbody &gt; tr &gt; td, table[rules=none] &gt; tbody &gt; tr &gt; th,
+table[rules=groups] &gt; tbody &gt; tr &gt; td, table[rules=groups] &gt; tbody &gt; tr &gt; th,
+table[rules=rows] &gt; tbody &gt; tr &gt; td, table[rules=rows] &gt; tbody &gt; tr &gt; th,
+table[rules=cols] &gt; tbody &gt; tr &gt; td, table[rules=cols] &gt; tbody &gt; tr &gt; th,
+table[rules=all] &gt; tbody &gt; tr &gt; td, table[rules=all] &gt; tbody &gt; tr &gt; th,
+table[frames=void] &gt; tbody &gt; tr &gt; td, table[frames=void] &gt; tbody &gt; tr &gt; th,
+table[frames=above] &gt; tbody &gt; tr &gt; td, table[frames=above] &gt; tbody &gt; tr &gt; th,
+table[frames=below] td, table[frames=below] &gt; tbody &gt; tr &gt; th,
+table[frames=hsides] &gt; tbody &gt; tr &gt; td, table[frames=hsides] &gt; tbody &gt; tr &gt; th,
+table[frames=lhs] &gt; tbody &gt; tr &gt; td, table[frames=lhs] &gt; tbody &gt; tr &gt; th,
+table[frames=rhs] &gt; tbody &gt; tr &gt; td, table[frames=rhs] &gt; tbody &gt; tr &gt; th,
+table[frames=vsides] &gt; tbody &gt; tr &gt; td, table[frames=vsides] &gt; tbody &gt; tr &gt; th,
+table[frames=box] &gt; tbody &gt; tr &gt; td, table[frames=box] &gt; tbody &gt; tr &gt; th,
+table[frames=border] &gt; tbody &gt; tr &gt; td, table[frames=border] &gt; tbody &gt; tr &gt; th,
+table[rules=none] &gt; tfoot &gt; tr &gt; td, table[rules=none] &gt; tfoot &gt; tr &gt; th,
+table[rules=groups] &gt; tfoot &gt; tr &gt; td, table[rules=groups] &gt; tfoot &gt; tr &gt; th,
+table[rules=rows] &gt; tfoot &gt; tr &gt; td, table[rules=rows] &gt; tfoot &gt; tr &gt; th,
+table[rules=cols] &gt; tfoot &gt; tr &gt; td, table[rules=cols] &gt; tfoot &gt; tr &gt; th,
+table[rules=all] &gt; tfoot &gt; tr &gt; td, table[rules=all] &gt; tfoot &gt; tr &gt; th,
+table[frames=void] &gt; tfoot &gt; tr &gt; td, table[frames=void] &gt; tfoot &gt; tr &gt; th,
+table[frames=above] &gt; tfoot &gt; tr &gt; td, table[frames=above] &gt; tfoot &gt; tr &gt; th,
+table[frames=below] td, table[frames=below] &gt; tfoot &gt; tr &gt; th,
+table[frames=hsides] &gt; tfoot &gt; tr &gt; td, table[frames=hsides] &gt; tfoot &gt; tr &gt; th,
+table[frames=lhs] &gt; tfoot &gt; tr &gt; td, table[frames=lhs] &gt; tfoot &gt; tr &gt; th,
+table[frames=rhs] &gt; tfoot &gt; tr &gt; td, table[frames=rhs] &gt; tfoot &gt; tr &gt; th,
+table[frames=vsides] &gt; tfoot &gt; tr &gt; td, table[frames=vsides] &gt; tfoot &gt; tr &gt; th,
+table[frames=box] &gt; tfoot &gt; tr &gt; td, table[frames=box] &gt; tfoot &gt; tr &gt; th,
+table[frames=border] &gt; tfoot &gt; tr &gt; td, table[frames=border] &gt; tfoot &gt; tr &gt; th {
+ border-color: black;
+}
+
+</pre>
<hr><p>The <code><a href=#the-article-element>article</a></code>, <code><a href=#the-aside-element>aside</a></code>, <code><a href=#the-nav-element>nav</a></code>,
and <code><a href=#the-section-element>section</a></code> elements are expected to affect the styling
@@ -56402,9 +56475,8 @@ blink { text-decoration: blink; }
q:before { content: open-quote; }
q:after { content: close-quote; }
-nobr, td[nowrap], th[nowrap] { white-space: nowrap; }
+nobr { white-space: nowrap; }
listing, plaintext, pre, xmp { white-space: pre; }
-pre[wrap] { white-space: pre-wrap; }
ol { list-style-type: decimal; }
@@ -56439,6 +56511,8 @@ ul ul dl, ul ul menu, ul ul ul {
}
iframe { border: 2px inset; }
+table { border-style: outset; }
+td, th { border-style: inset; }
[dir=rtl] { direction: rtl; unicode-bidi: embed; }
[dir=ltr] { direction: lrt; unicode-bidi: embed; }
@@ -56448,10 +56522,128 @@ bdo[dir] { unicode-bidi: bidi-override; }</pre>
for the locales and languages understood by the user are expected to
be present.</p>
- <!-- XXX <ol>/<ul> type (1|a|A|i|I|disc|circle/round|square), start (n); <li> type (A|a|I|i|1|disc|circle/round|square), value (n) -->
+ <hr><p>The following rules are also expected to apply, as
+ <a href=#presentational-hints>presentational hints</a>:</p>
- <hr><p class=XXX>...tables...</p>
- <!-- table: rules/layout/frames; <table border> (border => border=1); -->
+ <pre class=css>@namespace url(http://www.w3.org/1999/xhtml);
+
+td[nowrap], th[nowrap] { white-space: nowrap; }
+pre[wrap] { white-space: pre-wrap; }
+
+ol[type=1], li[type=1] { list-style-type: decimal; }
+ol[type=a], li[type=a] { list-style-type: lower-alpha; }
+ol[type=A], li[type=A] { list-style-type: upper-alpha; }
+ol[type=i], li[type=i] { list-style-type: lower-roman; }
+ol[type=I], li[type=I] { list-style-type: upper-roman; }
+ul[type=disc], li[type=disc] { list-style-type: disc; }
+ul[type=circle], li[type=circle] { list-style-type: circle; }
+ul[type=square], li[type=square] { list-style-type: square; }
+
+table[rules=none], table[rules=groups], table[rules=rows],
+table[rules=cols], table[rules=all] {
+ border-style: none;
+ border-collapse: collapse;
+}
+
+table[frames=void] { border-style: hidden hidden hidden hidden; }
+table[frames=above] { border-style: solid hidden hidden hidden; }
+table[frames=below] { border-style: hidden hidden solid hidden; }
+table[frames=hsides] { border-style: solid hidden solid hidden; }
+table[frames=lhs] { border-style: hidden hidden hidden solid; }
+table[frames=rhs] { border-style: hidden solid hidden hidden; }
+table[frames=vsides] { border-style: hidden solid hidden solid; }
+table[frames=box],
+table[frames=border] { border-style: solid solid solid solid; }
+
+table[frames=void] &gt; tr &gt; td, table[frames=void] &gt; tr &gt; th,
+table[frames=above] &gt; tr &gt; td, table[frames=above] &gt; tr &gt; th,
+table[frames=below] td, table[frames=below] &gt; tr &gt; th,
+table[frames=hsides] &gt; tr &gt; td, table[frames=hsides] &gt; tr &gt; th,
+table[frames=lhs] &gt; tr &gt; td, table[frames=lhs] &gt; tr &gt; th,
+table[frames=rhs] &gt; tr &gt; td, table[frames=rhs] &gt; tr &gt; th,
+table[frames=vsides] &gt; tr &gt; td, table[frames=vsides] &gt; tr &gt; th,
+table[frames=box] &gt; tr &gt; td, table[frames=box] &gt; tr &gt; th,
+table[frames=border] &gt; tr &gt; td, table[frames=border] &gt; tr &gt; th,
+table[frames=void] &gt; thead &gt; tr &gt; td, table[frames=void] &gt; thead &gt; tr &gt; th,
+table[frames=above] &gt; thead &gt; tr &gt; td, table[frames=above] &gt; thead &gt; tr &gt; th,
+table[frames=below] td, table[frames=below] &gt; thead &gt; tr &gt; th,
+table[frames=hsides] &gt; thead &gt; tr &gt; td, table[frames=hsides] &gt; thead &gt; tr &gt; th,
+table[frames=lhs] &gt; thead &gt; tr &gt; td, table[frames=lhs] &gt; thead &gt; tr &gt; th,
+table[frames=rhs] &gt; thead &gt; tr &gt; td, table[frames=rhs] &gt; thead &gt; tr &gt; th,
+table[frames=vsides] &gt; thead &gt; tr &gt; td, table[frames=vsides] &gt; thead &gt; tr &gt; th,
+table[frames=box] &gt; thead &gt; tr &gt; td, table[frames=box] &gt; thead &gt; tr &gt; th,
+table[frames=border] &gt; thead &gt; tr &gt; td, table[frames=border] &gt; thead &gt; tr &gt; th,
+table[frames=void] &gt; tbody &gt; tr &gt; td, table[frames=void] &gt; tbody &gt; tr &gt; th,
+table[frames=above] &gt; tbody &gt; tr &gt; td, table[frames=above] &gt; tbody &gt; tr &gt; th,
+table[frames=below] td, table[frames=below] &gt; tbody &gt; tr &gt; th,
+table[frames=hsides] &gt; tbody &gt; tr &gt; td, table[frames=hsides] &gt; tbody &gt; tr &gt; th,
+table[frames=lhs] &gt; tbody &gt; tr &gt; td, table[frames=lhs] &gt; tbody &gt; tr &gt; th,
+table[frames=rhs] &gt; tbody &gt; tr &gt; td, table[frames=rhs] &gt; tbody &gt; tr &gt; th,
+table[frames=vsides] &gt; tbody &gt; tr &gt; td, table[frames=vsides] &gt; tbody &gt; tr &gt; th,
+table[frames=box] &gt; tbody &gt; tr &gt; td, table[frames=box] &gt; tbody &gt; tr &gt; th,
+table[frames=border] &gt; tbody &gt; tr &gt; td, table[frames=border] &gt; tbody &gt; tr &gt; th,
+table[frames=void] &gt; tfoot &gt; tr &gt; td, table[frames=void] &gt; tfoot &gt; tr &gt; th,
+table[frames=above] &gt; tfoot &gt; tr &gt; td, table[frames=above] &gt; tfoot &gt; tr &gt; th,
+table[frames=below] td, table[frames=below] &gt; tfoot &gt; tr &gt; th,
+table[frames=hsides] &gt; tfoot &gt; tr &gt; td, table[frames=hsides] &gt; tfoot &gt; tr &gt; th,
+table[frames=lhs] &gt; tfoot &gt; tr &gt; td, table[frames=lhs] &gt; tfoot &gt; tr &gt; th,
+table[frames=rhs] &gt; tfoot &gt; tr &gt; td, table[frames=rhs] &gt; tfoot &gt; tr &gt; th,
+table[frames=vsides] &gt; tfoot &gt; tr &gt; td, table[frames=vsides] &gt; tfoot &gt; tr &gt; th,
+table[frames=box] &gt; tfoot &gt; tr &gt; td, table[frames=box] &gt; tfoot &gt; tr &gt; th,
+table[frames=border] &gt; tfoot &gt; tr &gt; td, table[frames=border] &gt; tfoot &gt; tr &gt; th {
+ border-style: solid;
+}
+
+table[rules=none] &gt; tr &gt; td, table[rules=none] &gt; tr &gt; th,
+table[rules=none] &gt; thead &gt; tr &gt; td, table[rules=none] &gt; thead &gt; tr &gt; th,
+table[rules=none] &gt; tbody &gt; tr &gt; td, table[rules=none] &gt; tbody &gt; tr &gt; th,
+table[rules=none] &gt; tfoot &gt; tr &gt; td, table[rules=none] &gt; tfoot &gt; tr &gt; th,
+table[rules=groups] &gt; tr &gt; td, table[rules=groups] &gt; tr &gt; th,
+table[rules=groups] &gt; thead &gt; tr &gt; td, table[rules=groups] &gt; thead &gt; tr &gt; th,
+table[rules=groups] &gt; tbody &gt; tr &gt; td, table[rules=groups] &gt; tbody &gt; tr &gt; th,
+table[rules=groups] &gt; tfoot &gt; tr &gt; td, table[rules=groups] &gt; tfoot &gt; tr &gt; th,
+table[rules=rows] &gt; tr &gt; td, table[rules=rows] &gt; tr &gt; th,
+table[rules=rows] &gt; thead &gt; tr &gt; td, table[rules=rows] &gt; thead &gt; tr &gt; th,
+table[rules=rows] &gt; tbody &gt; tr &gt; td, table[rules=rows] &gt; tbody &gt; tr &gt; th,
+table[rules=rows] &gt; tfoot &gt; tr &gt; td, table[rules=rows] &gt; tfoot &gt; tr &gt; th {
+ border-style: none;
+}
+
+table[rules=groups] &gt; colgroup, table[rules=groups] &gt; thead,
+table[rules=groups] &gt; tbody, table[rules=groups] &gt; tfoot {
+ border-style: solid;
+}
+
+table[rules=rows] &gt; tr, table[rules=rows] &gt; thead &gt; tr,
+table[rules=rows] &gt; tbody &gt; tr, table[rules=rows] &gt; tfoot &gt; tr {
+ border-style: solid;
+}
+
+table[rules=cols] &gt; tr &gt; td, table[rules=cols] &gt; tr &gt; th,
+table[rules=cols] &gt; thead &gt; tr &gt; td, table[rules=cols] &gt; thead &gt; tr &gt; th,
+table[rules=cols] &gt; tbody &gt; tr &gt; td, table[rules=cols] &gt; tbody &gt; tr &gt; th,
+table[rules=cols] &gt; tfoot &gt; tr &gt; td, table[rules=cols] &gt; tfoot &gt; tr &gt; th {
+ border-style: none solid none solid;
+}
+
+table[rules=all] &gt; tr &gt; td, table[rules=all] &gt; tr &gt; th,
+table[rules=all] &gt; thead &gt; tr &gt; td, table[rules=all] &gt; thead &gt; tr &gt; th,
+table[rules=all] &gt; tbody &gt; tr &gt; td, table[rules=all] &gt; tbody &gt; tr &gt; th,
+table[rules=all] &gt; tfoot &gt; tr &gt; td, table[rules=all] &gt; tfoot &gt; tr &gt; th {
+ border-style: solid;
+}</pre>
+
+ <p>When rendering <code><a href=#the-li-element>li</a></code> elements, user agents are expected
+ to use the ordinal value of the <code><a href=#the-li-element>li</a></code> element to render
+ the counter in the list item marker.</p>
+
+ <p>The <code><a href=#the-table-element>table</a></code> element's <code title=attr-table-border>border</code> attribute <a href=#maps-to-the-pixel-length-property title="maps
+ to the pixel length property">maps to the pixel length
+ properties</a> 'border-top-width', 'border-right-width',
+ 'border-bottom-width', 'border-left-width' on the element. If the
+ attribute is present but its value cannot be parsed successfully, a
+ default value of 1px is expected to be used for that property
+ instead.</p>
<h4 id=resetting-rules-for-inherited-properties><span class=secno>10.3.7 </span>Resetting rules for inherited properties</h4>
View
231 source
@@ -61323,11 +61323,6 @@ td, th { padding: 1px; }</pre>
on the element.</p>
<p>The <code>td</code> and <code>th</code> elements' <code
- title="attr-tdth-height">height</code> attributes <span title="maps
- to the dimension property">map to the dimension property</span> 'height'
- on the element.</p>
-
- <p>The <code>td</code> and <code>th</code> elements' <code
title="attr-tdth-width">width</code> attributes <span title="maps
to the dimension property">map to the dimension property</span> 'width'
on the element.</p>
@@ -61422,12 +61417,12 @@ tfoot[valign=baseline], tr[valign=baseline], td[valign=baseline], th[valign=base
<code>td</code>, and <code>th</code> elements, when they have an
<code title="attr-align">align</code> attribute whose value is an
<span>ASCII case-insensitive</span> match for the string "<code
- title="">left</code>" or "<code title="">justify</code>", are
- expected to left-align text within themselves, as if they had their
- 'text-align' property set to 'left' in a <span title="presentational
- hints">presentational hint</span>, and to left-align blocks and
- tables within them, as if their descendants had their 'margin-right'
- property set to 'auto' in <span>presentational hints</span>.</p>
+ title="">left</code>", are expected to left-align text within
+ themselves, as if they had their 'text-align' property set to 'left'
+ in a <span title="presentational hints">presentational hint</span>,
+ and to left-align blocks and tables within them, as if their
+ descendants had their 'margin-right' property set to 'auto' in
+ <span>presentational hints</span>.</p>
<p>The <code>div</code>, <code>caption</code>, <code>thead</code>,
<code>tbody</code>, <code>tfoot</code>, <code>tr</code>,
@@ -61441,6 +61436,18 @@ tfoot[valign=baseline], tr[valign=baseline], td[valign=baseline], th[valign=base
their descendants had their 'margin-left' property set to 'auto' in
<span>presentational hints</span>.</p>
+ <p>The <code>div</code>, <code>caption</code>, <code>thead</code>,
+ <code>tbody</code>, <code>tfoot</code>, <code>tr</code>,
+ <code>td</code>, and <code>th</code> elements, when they have an
+ <code title="attr-align">align</code> attribute whose value is an
+ <span>ASCII case-insensitive</span> match for the string "<code
+ title="">justify</code>", are expected to full-justify text within
+ themselves, as if they had their 'text-align' property set to
+ 'justify' in a <span title="presentational hints">presentational
+ hint</span>, and to left-align blocks and tables within them, as if
+ their descendants had their 'margin-right' property set to 'auto' in
+ <span>presentational hints</span>.</p>
+
<p>In all these cases, the effect on descendants is expected to only
extend to descendants that do not themselves have an applicable
<code title="attr-align">align</code> attribute.</p>
@@ -61467,8 +61474,74 @@ sub, sup { line-height: normal; }
:visited { color: purple; }
body { color: black; background: white; }
mark { background: yellow; color: black; }
-table { border-color: gray; }
-thead, tbody, tfoot, tr { border-color: inherit; }</pre>
+
+table, td, th { border-color: gray; }
+thead, tbody, tfoot, tr { border-color: inherit; }
+table[rules=none], table[rules=groups], table[rules=rows],
+table[rules=cols], table[rules=all], table[frames=void],
+table[frames=above], table[frames=below], table[frames=hsides],
+table[frames=lhs], table[frames=rhs], table[frames=vsides],
+table[frames=box], table[frames=border],
+table[rules=none] > tr > td, table[rules=none] > tr > th,
+table[rules=groups] > tr > td, table[rules=groups] > tr > th,
+table[rules=rows] > tr > td, table[rules=rows] > tr > th,
+table[rules=cols] > tr > td, table[rules=cols] > tr > th,
+table[rules=all] > tr > td, table[rules=all] > tr > th,
+table[frames=void] > tr > td, table[frames=void] > tr > th,
+table[frames=above] > tr > td, table[frames=above] > tr > th,
+table[frames=below] td, table[frames=below] > tr > th,
+table[frames=hsides] > tr > td, table[frames=hsides] > tr > th,
+table[frames=lhs] > tr > td, table[frames=lhs] > tr > th,
+table[frames=rhs] > tr > td, table[frames=rhs] > tr > th,
+table[frames=vsides] > tr > td, table[frames=vsides] > tr > th,
+table[frames=box] > tr > td, table[frames=box] > tr > th,
+table[frames=border] > tr > td, table[frames=border] > tr > th,
+table[rules=none] > thead > tr > td, table[rules=none] > thead > tr > th,
+table[rules=groups] > thead > tr > td, table[rules=groups] > thead > tr > th,
+table[rules=rows] > thead > tr > td, table[rules=rows] > thead > tr > th,
+table[rules=cols] > thead > tr > td, table[rules=cols] > thead > tr > th,
+table[rules=all] > thead > tr > td, table[rules=all] > thead > tr > th,
+table[frames=void] > thead > tr > td, table[frames=void] > thead > tr > th,
+table[frames=above] > thead > tr > td, table[frames=above] > thead > tr > th,
+table[frames=below] td, table[frames=below] > thead > tr > th,
+table[frames=hsides] > thead > tr > td, table[frames=hsides] > thead > tr > th,
+table[frames=lhs] > thead > tr > td, table[frames=lhs] > thead > tr > th,
+table[frames=rhs] > thead > tr > td, table[frames=rhs] > thead > tr > th,
+table[frames=vsides] > thead > tr > td, table[frames=vsides] > thead > tr > th,
+table[frames=box] > thead > tr > td, table[frames=box] > thead > tr > th,
+table[frames=border] > thead > tr > td, table[frames=border] > thead > tr > th,
+table[rules=none] > tbody > tr > td, table[rules=none] > tbody > tr > th,
+table[rules=groups] > tbody > tr > td, table[rules=groups] > tbody > tr > th,
+table[rules=rows] > tbody > tr > td, table[rules=rows] > tbody > tr > th,
+table[rules=cols] > tbody > tr > td, table[rules=cols] > tbody > tr > th,
+table[rules=all] > tbody > tr > td, table[rules=all] > tbody > tr > th,
+table[frames=void] > tbody > tr > td, table[frames=void] > tbody > tr > th,
+table[frames=above] > tbody > tr > td, table[frames=above] > tbody > tr > th,
+table[frames=below] td, table[frames=below] > tbody > tr > th,
+table[frames=hsides] > tbody > tr > td, table[frames=hsides] > tbody > tr > th,
+table[frames=lhs] > tbody > tr > td, table[frames=lhs] > tbody > tr > th,
+table[frames=rhs] > tbody > tr > td, table[frames=rhs] > tbody > tr > th,
+table[frames=vsides] > tbody > tr > td, table[frames=vsides] > tbody > tr > th,
+table[frames=box] > tbody > tr > td, table[frames=box] > tbody > tr > th,
+table[frames=border] > tbody > tr > td, table[frames=border] > tbody > tr > th,
+table[rules=none] > tfoot > tr > td, table[rules=none] > tfoot > tr > th,
+table[rules=groups] > tfoot > tr > td, table[rules=groups] > tfoot > tr > th,
+table[rules=rows] > tfoot > tr > td, table[rules=rows] > tfoot > tr > th,
+table[rules=cols] > tfoot > tr > td, table[rules=cols] > tfoot > tr > th,
+table[rules=all] > tfoot > tr > td, table[rules=all] > tfoot > tr > th,
+table[frames=void] > tfoot > tr > td, table[frames=void] > tfoot > tr > th,
+table[frames=above] > tfoot > tr > td, table[frames=above] > tfoot > tr > th,
+table[frames=below] td, table[frames=below] > tfoot > tr > th,
+table[frames=hsides] > tfoot > tr > td, table[frames=hsides] > tfoot > tr > th,
+table[frames=lhs] > tfoot > tr > td, table[frames=lhs] > tfoot > tr > th,
+table[frames=rhs] > tfoot > tr > td, table[frames=rhs] > tfoot > tr > th,
+table[frames=vsides] > tfoot > tr > td, table[frames=vsides] > tfoot > tr > th,
+table[frames=box] > tfoot > tr > td, table[frames=box] > tfoot > tr > th,
+table[frames=border] > tfoot > tr > td, table[frames=border] > tfoot > tr > th {
+ border-color: black;
+}
+
+</pre>
<hr>
@@ -61725,9 +61798,8 @@ blink { text-decoration: blink; }
q:before { content: open-quote; }
q:after { content: close-quote; }
-nobr, td[nowrap], th[nowrap] { white-space: nowrap; }
+nobr { white-space: nowrap; }
listing, plaintext, pre, xmp { white-space: pre; }
-pre[wrap] { white-space: pre-wrap; }
ol { list-style-type: decimal; }
@@ -61762,6 +61834,8 @@ ul ul dl, ul ul menu, ul ul ul {
}
iframe { border: 2px inset; }
+table { border-style: outset; }
+td, th { border-style: inset; }
[dir=rtl] { direction: rtl; unicode-bidi: embed; }
[dir=ltr] { direction: lrt; unicode-bidi: embed; }
@@ -61771,12 +61845,131 @@ bdo[dir] { unicode-bidi: bidi-override; }</pre>
for the locales and languages understood by the user are expected to
be present.</p>
- <!-- XXX <ol>/<ul> type (1|a|A|i|I|disc|circle/round|square), start (n); <li> type (A|a|I|i|1|disc|circle/round|square), value (n) -->
-
<hr>
- <p class="XXX">...tables...</p>
- <!-- table: rules/layout/frames; <table border> (border => border=1); -->
+ <p>The following rules are also expected to apply, as
+ <span>presentational hints</span>:</p>
+
+ <pre class="css">@namespace url(http://www.w3.org/1999/xhtml);
+
+td[nowrap], th[nowrap] { white-space: nowrap; }
+pre[wrap] { white-space: pre-wrap; }
+
+ol[type=1], li[type=1] { list-style-type: decimal; }
+ol[type=a], li[type=a] { list-style-type: lower-alpha; }
+ol[type=A], li[type=A] { list-style-type: upper-alpha; }
+ol[type=i], li[type=i] { list-style-type: lower-roman; }
+ol[type=I], li[type=I] { list-style-type: upper-roman; }
+ul[type=disc], li[type=disc] { list-style-type: disc; }
+ul[type=circle], li[type=circle] { list-style-type: circle; }
+ul[type=square], li[type=square] { list-style-type: square; }
+
+table[rules=none], table[rules=groups], table[rules=rows],
+table[rules=cols], table[rules=all] {
+ border-style: none;
+ border-collapse: collapse;
+}
+
+table[frames=void] { border-style: hidden hidden hidden hidden; }
+table[frames=above] { border-style: solid hidden hidden hidden; }
+table[frames=below] { border-style: hidden hidden solid hidden; }
+table[frames=hsides] { border-style: solid hidden solid hidden; }
+table[frames=lhs] { border-style: hidden hidden hidden solid; }
+table[frames=rhs] { border-style: hidden solid hidden hidden; }
+table[frames=vsides] { border-style: hidden solid hidden solid; }
+table[frames=box],
+table[frames=border] { border-style: solid solid solid solid; }
+
+table[frames=void] > tr > td, table[frames=void] > tr > th,
+table[frames=above] > tr > td, table[frames=above] > tr > th,
+table[frames=below] td, table[frames=below] > tr > th,
+table[frames=hsides] > tr > td, table[frames=hsides] > tr > th,
+table[frames=lhs] > tr > td, table[frames=lhs] > tr > th,
+table[frames=rhs] > tr > td, table[frames=rhs] > tr > th,
+table[frames=vsides] > tr > td, table[frames=vsides] > tr > th,
+table[frames=box] > tr > td, table[frames=box] > tr > th,
+table[frames=border] > tr > td, table[frames=border] > tr > th,
+table[frames=void] > thead > tr > td, table[frames=void] > thead > tr > th,
+table[frames=above] > thead > tr > td, table[frames=above] > thead > tr > th,
+table[frames=below] td, table[frames=below] > thead > tr > th,
+table[frames=hsides] > thead > tr > td, table[frames=hsides] > thead > tr > th,
+table[frames=lhs] > thead > tr > td, table[frames=lhs] > thead > tr > th,
+table[frames=rhs] > thead > tr > td, table[frames=rhs] > thead > tr > th,
+table[frames=vsides] > thead > tr > td, table[frames=vsides] > thead > tr > th,
+table[frames=box] > thead > tr > td, table[frames=box] > thead > tr > th,
+table[frames=border] > thead > tr > td, table[frames=border] > thead > tr > th,
+table[frames=void] > tbody > tr > td, table[frames=void] > tbody > tr > th,
+table[frames=above] > tbody > tr > td, table[frames=above] > tbody > tr > th,
+table[frames=below] td, table[frames=below] > tbody > tr > th,
+table[frames=hsides] > tbody > tr > td, table[frames=hsides] > tbody > tr > th,
+table[frames=lhs] > tbody > tr > td, table[frames=lhs] > tbody > tr > th,
+table[frames=rhs] > tbody > tr > td, table[frames=rhs] > tbody > tr > th,
+table[frames=vsides] > tbody > tr > td, table[frames=vsides] > tbody > tr > th,
+table[frames=box] > tbody > tr > td, table[frames=box] > tbody > tr > th,
+table[frames=border] > tbody > tr > td, table[frames=border] > tbody > tr > th,
+table[frames=void] > tfoot > tr > td, table[frames=void] > tfoot > tr > th,
+table[frames=above] > tfoot > tr > td, table[frames=above] > tfoot > tr > th,
+table[frames=below] td, table[frames=below] > tfoot > tr > th,
+table[frames=hsides] > tfoot > tr > td, table[frames=hsides] > tfoot > tr > th,
+table[frames=lhs] > tfoot > tr > td, table[frames=lhs] > tfoot > tr > th,
+table[frames=rhs] > tfoot > tr > td, table[frames=rhs] > tfoot > tr > th,
+table[frames=vsides] > tfoot > tr > td, table[frames=vsides] > tfoot > tr > th,
+table[frames=box] > tfoot > tr > td, table[frames=box] > tfoot > tr > th,
+table[frames=border] > tfoot > tr > td, table[frames=border] > tfoot > tr > th {
+ border-style: solid;
+}
+
+table[rules=none] > tr > td, table[rules=none] > tr > th,
+table[rules=none] > thead > tr > td, table[rules=none] > thead > tr > th,
+table[rules=none] > tbody > tr > td, table[rules=none] > tbody > tr > th,
+table[rules=none] > tfoot > tr > td, table[rules=none] > tfoot > tr > th,
+table[rules=groups] > tr > td, table[rules=groups] > tr > th,
+table[rules=groups] > thead > tr > td, table[rules=groups] > thead > tr > th,
+table[rules=groups] > tbody > tr > td, table[rules=groups] > tbody > tr > th,
+table[rules=groups] > tfoot > tr > td, table[rules=groups] > tfoot > tr > th,
+table[rules=rows] > tr > td, table[rules=rows] > tr > th,
+table[rules=rows] > thead > tr > td, table[rules=rows] > thead > tr > th,
+table[rules=rows] > tbody > tr > td, table[rules=rows] > tbody > tr > th,
+table[rules=rows] > tfoot > tr > td, table[rules=rows] > tfoot > tr > th {
+ border-style: none;
+}
+
+table[rules=groups] > colgroup, table[rules=groups] > thead,
+table[rules=groups] > tbody, table[rules=groups] > tfoot {
+ border-style: solid;
+}
+
+table[rules=rows] > tr, table[rules=rows] > thead > tr,
+table[rules=rows] > tbody > tr, table[rules=rows] > tfoot > tr {
+ border-style: solid;
+}
+
+table[rules=cols] > tr > td, table[rules=cols] > tr > th,
+table[rules=cols] > thead > tr > td, table[rules=cols] > thead > tr > th,
+table[rules=cols] > tbody > tr > td, table[rules=cols] > tbody > tr > th,
+table[rules=cols] > tfoot > tr > td, table[rules=cols] > tfoot > tr > th {
+ border-style: none solid none solid;
+}
+
+table[rules=all] > tr > td, table[rules=all] > tr > th,
+table[rules=all] > thead > tr > td, table[rules=all] > thead > tr > th,
+table[rules=all] > tbody > tr > td, table[rules=all] > tbody > tr > th,
+table[rules=all] > tfoot > tr > td, table[rules=all] > tfoot > tr > th {
+ border-style: solid;
+}</pre>
+
+ <p>When rendering <code>li</code> elements, user agents are expected
+ to use the ordinal value of the <code>li</code> element to render
+ the counter in the list item marker.</p>
+
+ <p>The <code>table</code> element's <code
+ title="attr-table-border">border</code> attribute <span title="maps
+ to the pixel length property">maps to the pixel length
+ properties</span> 'border-top-width', 'border-right-width',
+ 'border-bottom-width', 'border-left-width' on the element. If the
+ attribute is present but its value cannot be parsed successfully, a
+ default value of 1px is expected to be used for that property
+ instead.</p>
<h4>Resetting rules for inherited properties</h4>

0 comments on commit 8c322c3

Please sign in to comment.