8000 csswg-drafts/css-tv/Overview.html at 81300f58292e0323acfe978c6d22881594c0ae1f · w3c/csswg-drafts · GitHub
Skip to content

Latest commit

 

History

History
2058 lines (1392 loc) · 54.8 KB

File metadata and controls

2058 lines (1392 loc) · 54.8 KB
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://dublincore.org/documents/2008/08/04/dc-html/ ">
<title>CSS TV Profile 1.0</title>
<link href="http://purl.org/dc/terms/" rel="schema.dcterms" />
<link href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"
rel="dcterms.rights" />
<meta content="CSS TV Profile 1.0" name="dcterms.title" />
<meta content="text" name="dcterms.type" />
<meta content="2014-10-10" name="dcterms.date" />
<meta content="Sean Hayes" name="dcterms.creator" />
<meta content="Glenn Adams" name="dcterms.creator" />
<meta content="Tantek Çelik" name="dcterms.creator" />
<meta content="Håkon Wium Lie" name= 93D4 "dcterms.creator" />
<meta content="W3C" name="dcterms.publisher" />
<meta content="http://www.w3.org/TR/2014/NOTE-css-tv-20141010/"
name="dcterms.identifier" />
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<meta content="Sean Hayes" name="author" />
<meta content="Glenn Adams" name="author" />
<meta content="Tantek Çelik" lang="tr" name="author" />
<meta content="Håkon Wium Lie" lang="no" name="author" />
<meta content="CSS Cascading Style Sheets TV Television Profile"
name="keywords" />
<meta content="text/css" http-equiv="Content-Style-Type" />
<style type="text/css">
th { background: #005A9C; color: white; }
tr.yes { background: aqua; }
tr.no { background: transparent; }
.ins,.del { background: yellow; }
.del { text-decoration: line-through; }
img.head { width:72px; height:48px }
</style>
<link href="http://www.w3.org/StyleSheets/TR/W3C-WG-NOTE.css"
rel="stylesheet" type="text/css" /></head>
<body>
<div class="head"> <!--begin-logo-->
<p><a href="http://www.w3.org/"><img alt="W3C" height="48"
src="http://www.w3.org/Icons/w3c_home" width="72" /></a> <!--end-logo--></p>
<h1>CSS TV Profile 1.0</h1>
<h2 class="no-num no-toc">W3C Working Group Note 10 October 2014</h2>
<dl>
<dt>This version:</dt>
<dd><a href="http://www.w3.org/TR/2014/NOTE-css-tv-20141010/">
http://www.w3.org/TR/2014/NOTE-css-tv-20141010/</a></dd>
<dt>Latest version:</dt>
<dd><a href="http://www.w3.org/TR/css-tv">
http://www.w3.org/TR/css-tv</a></dd>
<dt>Previous version:</dt>
<dd><a href="http://www.w3.org/TR/2003/CR-css-tv-20030514">
http://www.w3.org/TR/2003/CR-css-tv-20030514</a></dd>
<dt>Authors:</dt>
<dd>Sean Hayes (<a href="http://www.microsoft.com/">Microsoft</a>) &lt;<a
href="mailto:shayes@microsoft.com">shayes@microsoft.com</a>&gt;</dd>
<dd>Glenn Adams (<a href="http://www.cox.com">Cox Communications,
Inc.</a>) &lt;<a href="mailto:glenn@skynav.com">glenn@skynav.com</a>&gt;</dd>
<dd><span lang="tr">Tantek Çelik</span> (<a
href="http://www.mozilla.org//">Mozilla Foundation</a>) &lt;<a
href="mailto:tantek@cs.stanford.edu">tantek@cs.stanford.edu</a>&gt;</dd>
<dd><span lang="no">Håkon Wium Lie</span> (<a
href="http://www.opera.com/">Opera Software</a>) &lt;<a
href="mailto:howcome@opera.com">howcome@opera.com</a>&gt;</dd>
</dl>
<!--begin-copyright-->
<p class="copyright"><a
href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"
rel="license">Copyright</a> © 2014 <a href="http://www.w3.org/"><abbr
title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup> (<a
href="http://www.csail.mit.edu/"><abbr
title="Massachusetts Institute of Technology">MIT</abbr></a>, <a
href="http://www.ercim.eu/"><abbr
title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>,
<a href="http://www.keio.ac.jp/">Keio</a>, <a
href="http://ev.buaa.edu.cn/">Beihang</a>), All Rights Reserved. W3C <a
href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
<a
href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>
and <a
href="http://www.w3.org/Consortium/Legal/copyright-documents">document
use</a> rules apply.</p>
<!--end-copyright-->
<hr title="Separator for header" />
</div>
<h2 class="no-num no-toc">Abstract</h2>
<p>This specification defines a subset of Cascading Style Sheets Level 2
and CSS3 module: Color specifications tailored to the needs and
constraints of TV devices.</p>
<!-- **************************** -->
<!-- STATUS of DOCUMENT -->
<!-- **************************** -->
<h2 class="no-num no-toc" id="status">Status of this document</h2>
<!--begin-status-->
<p><em>This section describes the status of this document at the time of
its publication. Other documents may supersede this document. A list of
current W3C publications and the latest revision of this technical report
can be found in the <a href="http://www.w3.org/TR/">W3C technical reports
index at http://www.w3.org/TR/.</a></em></p>
<p>Publication as a Working Group Note does not imply endorsement by the
W3C Membership. This is a draft document and may be updated, replaced or
obsoleted by other documents at any time. It is inappropriate to cite this
document as other than work in progress.</p>
<p>This document was produced by the <a
href="http://www.w3.org/Style/CSS/members">CSS Working Group</a> (part of
the <a href="http://www.w3.org/Style/">Style Activity</a>).</p>
<p>The (<a
href="http://lists.w3.org/Archives/Public/www-style/">archived</a>) public
mailing list <a
href="mailto:www-style@w3.org?Subject=%5Bcss-tv%5D%20PUT%20SUBJECT%20HERE">www-style@w3.org</a>
(see <a href="http://www.w3.org/Mail/Request">instructions</a>) is
preferred for discussion of this document. When sending e-mail, please put
the text “css-tv” in the subject, preferably like this:
“[<!---->css-tv<!---->] <em>…summary of comment…</em>”</p>
<p>This document was produced by a group operating under the <a
href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February
2004 W3C Patent Policy</a>. W3C maintains a <a
href="http://www.w3.org/2004/01/pp-impl/32061/status"
rel="disclosure">public list of any patent disclosures</a> made in
connection with the deliverables of the group; that page also includes
instructions for disclosing a patent. An individual who has actual
knowledge of a patent which the individual believes contains <a
href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential
Claim(s)</a> must disclose the information in accordance with <a
href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
6 of the W3C Patent Policy</a>.</p>
<p>This document is governed by the <a
href="http://www.w3.org/2014/Process-20140801/"
id="w3c_process_revision">1 August 2014 W3C Process Document</a>.</p>
<!--end-status-->
<p class="mtb"><em>At this time, the CSS Working Group does not envisage
further work on this specification and does not plan to propose it as a
W3C Recommendation.</em></p>
<!-- *************************** -->
<!-- TABLE OF CONTENTS -->
<!-- *************************** -->
<h2 class="no-num no-toc" id="toc">Table of contents</h2>
<!--begin-toc-->
<ul class="toc">
<li><a href="#section-overview"><span class="secno">1. </span>Overview</a></li>
<li><a href="#section-conformance"><span class="secno">2.
</span>Conformance</a></li>
<li><a href="#section-selectors"><span class="secno">3. </span>Selectors
and at-rules</a>
<ul class="toc">
<li><a href="#selectors"><span class="secno">3.1. </span>Selectors</a></li>
<li><a href="#at-rules"><span class="secno">3.2. </span>at-rules</a></li>
</ul>
</li>
<li><a href="#section-properties"><span class="secno">4.
</span>Properties</a></li>
<li><a href="#section-syntax"><span class="secno">5. </span>CSS Syntax</a></li>
<li><a href="#section-assigning"><span class="secno">6. </span>Assigning
Property Values, Cascading, and Inheritance</a></li>
<li><a href="#section-mediatypes"><span class="secno">7. </span>Media
Types</a></li>
<li><a href="#section-ack"><span class="secno">8.
</span>Acknowledgements</a></li>
<li class="no-num"><a href="#section-references">Appendix A. Normative
References</a></li>
</ul>
<!--end-toc-->
<!-- ****************** -->
<!-- OVERVIEW -->
<!-- ****************** -->
<h2 id="section-overview"><span class="secno">1. </span>Overview</h2>
<p>This document specifies a profile of the Cascading Style Sheets level 2
(CSS2) and CSS3 module: Color specifications appropriate for TV devices
such as set top boxes or integrated interactive television sets that
display their output on a television screen. Conformance to this profile
means that a user agent supports, at minimum, the features defined in this
specification. This subject is addressed in <a
href="#section-conformance">Section 2, Conformance,</a> below.</p>
<p>As defined in <a href="#ref-CSS2"
rel="biblioentry">[CSS2]<!--{{!CSS2}}--></a>:</p>
<blockquote>
<p>CSS2 is a style sheet language that allows authors and users to attach
style (e.g., fonts, spacing, and aural cues) to structured documents
(e.g., HTML documents and XML applications). By separating the
presentation style of documents from the content of documents, CSS2
simplifies Web authoring and site maintenance. CSS2 builds on CSS1 (see
<a href="#ref-CSS1" rel="biblioentry">[CSS1]<!--{{!CSS1}}--></a>) and,
with very few exceptions, all valid CSS1 style sheets are valid CSS2
style sheets. CSS2 supports media-specific style sheets so that authors
may tailor the presentation of their documents to visual browsers, aural
devices, printers, braille devices, handheld devices, etc.</p>
</blockquote>
<p>In summary, CSS2 specifies how developers can author style sheets for
presenting documents across multiple devices and media types. While this
is very important, it is also important that authors have an understanding
of what features are supported on these different devices. Likewise, it is
important that similar devices operate in a similar manner. Otherwise,
authors will need to develop style sheets for each version of each device
-- raising the cost of content development and decreasing
interoperability.</p>
<p>The CSS TV Profile specifies a conformance profile for TV devices,
identifying a minimum set of properties, values, selectors, and cascading
rules. The resulting CSS TV Profile includes the vast majority of CSS1,
portions of CSS2 and CSS3 module: Color. The CSS TV Profile is a proper
superset of the CSS Mobile Profile, with the use of the ‘<code
class="property">tv</code>’ media type instead of the ‘<code
class="property">handheld</code>’ media type.</p>
<!-- ******************** -->
<!-- CONFORMANCE -->
<!-- ******************** -->
<h2 id="section-conformance"><span class="secno">2. </span>Conformance</h2>
<p>The primary role of a profile is to define a subset of features that
provides a minimal guarantee of interoperability. In the case of the CSS
TV Profile, this guarantee is that a conforming user agent will support
the features defined in this specification following the CSS2 conformance
clause (<a href="#ref-CSS2" rel="biblioentry">[CSS2]<!--{{!CSS2}}--></a>
Section 3.2), recast and summarized below:</p>
<ol>
<li>A CSS TV Profile conforming user agent (TV-UA) MUST support the
<em>all</em> and <em>tv</em> CSS2 media types. A TV-UA MAY support other
CSS2 media types, as well.</li>
<li>For each source document, a TV-UA MUST attempt to retrieve all
associated style sheets that are appropriate for the supported media
types.</li>
<li>A TV-UA MUST parse the style sheets according to this specification.
In particular, the TV-UA MUST recognize all CSS TV Profile at-rules,
blocks, declarations, and selectors. If a TV-UA encounters a property
that applies for a supported media type, the TV-UA MUST parse the value
according to the property definition. This means that the TV-UA MUST
accept all valid values and MUST ignore declarations with invalid values.
TV-UA MUST ignore rules that apply to unsupported media types.</li>
<li>For each element in a document tree, the TV-UA MUST assign a value for
every applicable property according to the property's definition and the
rules of cascading and inheritance.</li>
<li>If the source document comes with alternate style sheets (such as with
the "alternate" keyword in HTML 4.0 [HTML40]), the TV-UA SHOULD allow the
user to select one from among these style sheets and apply the selected
one.</li>
</ol>
<p>As with CSS2, there are qualifications to this conformance clause:</p>
<ol>
<li>Values MAY be approximated when required by the TV-UA.</li>
<li>The inability of a TV-UA to implement part of this specification due
to the limitations of a particular device (e.g., a TV-UA cannot render
colors on a monochrome monitor or page) SHALL NOT imply non-conformance.</li>
</ol>
<p>It is recommended that authors use this conformance profile to take
advantage of forward compatibility. Authors should be able to use style
properties with an understanding that the cascading rules are processed
correctly and that unknown properties and values are ignored. For example:</p>
<div class="code-example">
<pre>
h3 {
display: inline;
display: run-in;
}
</pre>
</div>
<p>A TV-UA that can process the ‘<code class="property">run-in</code>’
value for the ‘<code class="property">display</code>’ property will
accept the first display declaration and then "write over" that value with
the second display declaration. A TV-UA that cannot process the ‘<code
class="property">run-in</code>’ value will process the first display
specification and ignore the second display specification.</p>
<!-- ******************* -->
<!-- SELECTORS -->
<!-- ******************* -->
<h2 id="section-selectors"><span class="secno">3. </span>Selectors and
at-rules</h2>
<h3 id="selectors"><span class="secno">3.1. </span>Selectors</h3>
<p> In CSS2, pattern matching rules determine which style rules apply to
elements in the document tree <a href="#ref-CSS2"
rel="biblioentry">[CSS2]<!--{{!CSS2}}--></a>.</p>
<p>The following table summarizes CSS TV Profile selector syntax. In
addition to these selectors, the CSS TV Profile includes the CSS2 grouping
mechanism (See <a href="#ref-CSS2"
rel="biblioentry">[CSS2]<!--{{!CSS2}}--></a> Section 5.2.1).</p>
<div class="note">
<p> <em><strong>Note.</strong> Unsupported selectors are parsed as invalid
(which would affect valid selectors in the same group), the same as if a
purely CSS1 UA were to encounter selectors new in CSS2. Of course a TV-UA
is free to implement more selectors than required by CSS TV. </em></p>
</div>
<table border="1" width="80%">
<tbody>
<tr>
<th>Pattern</th>
<th>Meaning</th>
<th>Selector type</th>
<th>CSS TV</th>
</tr>
<tr class="yes">
<td>*</td>
<td>Matches any element</td>
<td>Universal selector</td>
<td>Yes</td>
</tr>
<tr class="yes">
<td>E</td>
<td>Matches any E element (i.e., and element of type E)</td>
<td>Type selectors</td>
<td>Yes</td>
</tr>
<tr class="yes">
<td>E F</td>
<td>Matches any F element that is a descendent of an E element</td>
<td>Descendent selectors</td>
<td>Yes</td>
</tr>
<tr class="yes">
<td>E &gt; F</td>
<td>Matches any F element that is a child of an element E</td>
<td>Child selectors</td>
<td>Yes</td>
</tr>
<tr class="yes">
<td>E:first-child</td>
<td>Matches element E when it is the first child of its parent</td>
<td>The :first-child pseudo-class</td>
<td>Yes</td>
</tr>
<tr class="yes">
<td>E:link<br />
E:visited</td>
<td>Matches element E if E is the source anchor of a hyperlink of which
the target is not yet visited (:link) or already visited (:visited).</td>
<td>The link pseudo-classes</td>
<td>Yes</td>
</tr>
<tr class="yes">
<td>E:active</td>
<td>Matches E during certain user actions.</td>
<td>The dynamic pseudo-classes</td>
<td>Yes</td>
</tr>
<tr class="no">
<td>E:hover</td>
<td>Matches E during certain user actions.</td>
<td>The dynamic pseudo-classes</td>
<td>No</td>
</tr>
<tr class="yes">
<td>E:focus</td>
<td>Matches E during certain user actions.</td>
<td>The dynamic pseudo-classes</td>
<td>Yes</td>
</tr>
<tr class="no">
<td>E:lang(c)</td>
<td>Matches element of type E if it is in (human) language c (the
document language specifies how language is determined).</td>
<td>The :lang() pseudo-class</td>
<td>No</td>
</tr>
<tr class="no">
<td>E + F</td>
<td>Matches any F element immediately preceded by an element E.</td>
<td>Adjacent selectors</td>
<td>No</td>
</tr>
<tr class="no">
<td>E[foo]</td>
<td>Matches any E element with the "foo" attribute set (whatever the
value).</td>
<td>Attribute selectors</td>
<td>No</td>
</tr>
<tr class="no">
<td>E[foo="bar"]</td>
<td>Matches any E element whose "foo" attribute value is exactly equal
to "bar".</td>
<td>Attribute selectors</td>
<td>No</td>
</tr>
<tr class="no">
<td>E[foo~="bar"]</td>
<td>Matches any E element whose "foo" attribute value is a list of
space-separated values, one of which is exactly equal to "bar".</td>
<td>Attribute selectors</td>
<td>No</td>
</tr>
<tr class="no">
<td>E[foo|="bar"]</td>
<td>Matches any E element whose "foo" attribute value has a
hyphen-separated list of values beginning (from the left) with "bar".</td>
<td>Attribute selectors</td>
<td>No</td>
</tr>
<tr class="yes">
<td>E:first-line</td>
<td>Matches the first formatted line of an E element.</td>
<td>The :first-line pseudo-element</td>
<td>Yes</td>
</tr>
<tr class="yes">
<td>E:first-letter</td>
<td>Matches the first formatted letter of an E element.</td>
<td>The :first-letter pseudo-element</td>
<td>Yes</td>
</tr>
<tr class="no">
<td>E:before</td>
<td>Matches/creates generated content before an E element.</td>
<td>The :before pseudo-element</td>
<td>No</td>
</tr>
<tr class="no">
<td>E:after</td>
<td>Matches/creates generated content after an E element.</td>
<td>The :after pseudo-element</td>
<td>No</td>
</tr>
<tr class="yes">
<td>E.bar</td>
<td>Matches any E element whose class attribute (as defined by the
document language) value is a list of space-separated values, one of
which is exactly equal to "bar".</td>
<td>Class selectors</td>
<td>Yes</td>
</tr>
<tr class="yes">
<td>E#bar</td>
<td>Matches any E element whose ID attribute (as defined by the document
language) is equal to "bar".</td>
<td>ID selectors</td>
<td>Yes</td>
</tr>
</tbody>
</table>
<h3 id="at-rules"><span class="secno">3.2. </span>at-rules</h3>
<p>The following table summarizes CSS TV Profile at-rule syntax.</p>
<table border="1" width="80%">
<tbody>
<tr>
<th>at-rule</th>
<th>Function</th>
<th>CSS TV</th>
</tr>
<tr class="yes">
<td>@import</td>
<td>Imports an external style sheet.</td>
<td>Yes</td>
</tr>
<tr class="yes">
<td>@charset</td>
<td>Defines character set for the style sheet.</td>
<td>Yes</td>
</tr>
<tr class="yes">
<td>@media</td>
<td>Groups a set of style rules to apply only to one or more particular
media.</td>
<td>Yes</td>
</tr>
<tr class="no">
<td>@font-face</td>
<td>Defines a named font-family, including for downloading.</td>
<td>No</td>
</tr>
<tr class="no">
<td>@page</td>
<td>Defines a (optionally named) page formatting context.</td>
<td>No</td>
</tr>
<tr class="no">
<td>@color-profile</td>
<td>Defines a named color-profile.</td>
<td>No</td>
</tr>
</tbody>
</table>
<!-- ******************************* -->
<!-- PROPERTIES AND VALUES -->
<!-- ******************************* -->
<h2 id="section-properties"><span class="secno">4. </span>Properties</h2>
<p>The following table summarizes CSS TV Profile properties and property
values from CSS2. Refer to <a href="#ref-CSS2"
rel="biblioentry">[CSS2]<!--{{!CSS2}}--></a> for the definition of these
properties and values.</p>
<table border="1" width="80%">
<thead>
<tr align="center">
<th>Name</th>
<th>CSS TV</th>
<th>CSS Values</th>
<th>Initial value</th>
</tr>
</thead>
<tbody>
<tr class="no">
<td>‘<code class="property">azimuth</code>’</td>
<td>No</td>
<td>&lt;angle&gt; | [ left-side | far-left | left | center-left | center
| center-right | right | far-right | right-side ] || behind ] |
leftwards | rightwards | inherit</td>
<td>center</td>
</tr>
<tr class="yes">
<td>‘<code class="property">background</code>’</td>
<td>[‘<code class="property">background-color</code>’ || ‘<code
class="property">background-image</code>’ || ‘<code
class="property">background-repeat</code>’ || ‘<code
class="property">background-position</code>’] | inherit</td>
<td>[‘<code class="property">background-color</code>’ || ‘<code
class="property">background-image</code>’ || ‘<code
class="property">background-repeat</code>’ || ‘<code
class="property">background-attachment</code>’ || ‘<code
class="property">background-position</code>’] | inherit</td>
<td>see individual properties</td>
</tr>
<tr class="no">
<td>‘<code class="property">background-attachment</code>’</td>
<td>No</td>
<td>scroll | fixed | inherit</td>
<td>scroll</td>
</tr>
<tr class="yes">
<td>‘<code class="property">background-color</code>’</td>
<td>Yes</td>
<td>&lt;color&gt; | transparent | inherit</td>
<td>transparent</td>
</tr>
<tr class="yes">
<td>‘<code class="property">background-image</code>’</td>
<td>Yes</td>
<td>&lt;uri&gt; | none | inherit</td>
<td>none</td>
</tr>
<tr class="yes">
<td>‘<code class="property">background-position</code>’</td>
<td>Yes</td>
<td>[ [ &lt;percentage&gt; | &lt;length&gt; ]{1,2} | [ [top | center |
bottom] || [left | center | right] ] ] | inherit</td>
<td>0% 0%</td>
</tr>
<tr class="yes">
<td>‘<code class="property">background-repeat</code>’</td>
<td>Yes</td>
<td>repeat | repeat-x | repeat-y | no-repeat | inherit</td>
<td>repeat</td>
</tr>
<tr class="yes">
<td>‘<code class="property">border</code>’</td>
<td>Yes</td>
<td>[ &lt;border-width&gt; || &lt;border-style&gt; ||
&lt;border-color&gt; ] | inherit</td>
<td>see individual properties</td>
</tr>
<tr class="no">
<td>‘<code class="property">border-collapse</code>’</td>
<td>No</td>
<td>collapse | separate | inherit</td>
<td>separate</td>
</tr>
<tr class="yes">
<td>‘<code class="property">border-color</code>’</td>
<td>Yes</td>
<td>&lt;color&gt;{1,4} | transparent | inherit</td>
<td>see individual properties</td>
</tr>
<tr class="no">
<td>‘<code class="property">border-spacing</code>’</td>
<td>No</td>
<td>&lt;length&gt; &lt;length&gt;? | inherit</td>
<td>0</td>
</tr>
<tr class="yes">
<td>‘<code class="property">border-style</code>’</td>
<td>Yes</td>
<td>&lt;border-style&gt;{1,4} | inherit</td>
<td&g 9E70 t;see individual properties</td>
</tr>
<tr class="yes">
<td>‘<code class="property">border-top</code>’ ‘<code
class="property">border-right</code>’ ‘<code
class="property">border-bottom</code>’ ‘<code
class="property">border-left</code>’</td>
<td>Yes</td>
<td>[ &lt;border-width&gt; || &lt;border-style&gt; ||
&lt;border-color&gt; ] | inherit</td>
<td>see individual properties</td>
</tr>
<tr class="yes">
<td>‘<code class="property">border-top-color</code>’ ‘<code
class="property">border-right-color</code>’ ‘<code
class="property">border-bottom-color</code>’ ‘<code
class="property">border-left-color</code>’</td>
<td>Yes</td>
<td>&lt;color&gt; | transparent | inherit</td>
<td>the value of the ‘<code class="property">color</code>’ property</td>
</tr>
<tr class="yes">
<td>‘<code class="property">border-top-style</code>’ ‘<code
class="property">border-right-style</code>’ ‘<code
class="property">border-bottom-style</code>’ ‘<code
class="property">border-left-style</code>’</td>
<td>Yes</td>
<td>&lt;border-style&gt; | inherit</td>
<td>none</td>
</tr>
<tr class="yes">
<td>‘<code class="property">border-top-width</code>’ ‘<code
class="property">border-right-width</code>’ ‘<code
class="property">border-bottom-width</code>’ ‘<code
class="property">border-left-width</code>’</td>
<td>Yes</td>
<td>&lt;border-width&gt; | inherit</td>
<td>medium</td>
</tr>
<tr class="yes">
<td>‘<code class="property">border-width</code>’</td>
<td>Yes</td>
<td>&lt;border-width&gt;{1,4} | inherit</td>
<td>see individual properties</td>
</tr>
<tr class="yes">
<td>‘<code class="property">bottom</code>’</td>
<td>Yes</td>
<td>&lt;length&gt; | &lt;percentage&gt; | auto | inherit</td>
<td>auto</td>
</tr>
<tr class="yes">
<td>‘<code class="property">caption-side</code>’</td>
<td>Yes</td>
<td>top | bottom | left | right | inherit</td>
<td>top</td>
</tr>
<tr class="yes">
<td>‘<code class="property">clear</code>’</td>
<td>Yes</td>
<td>none | left | right | both | inherit</td>
<td>none</td>
</tr>
<tr class="yes">
<td>‘<code class="property">clip</code>’</td>
<td>Yes</td>
<td>&lt;shape&gt; | auto | inherit</td>
<td>auto</td>
</tr>
<tr class="yes">
<td>‘<code class="property">color</code>’</td>
<td>Yes</td>
<td>&lt;color&gt; | inherit</td>
<td>depends on user agent</td>
</tr>
<tr class="no">
<td>‘<code class="property">content</code>’</td>
<td>No</td>
<td>[ &lt;string&gt; | &lt;uri&gt; | &lt;counter&gt; | attr(X) |
open-quote | close-quote | no-open-quote | no-close-quote ]+ | inherit</td>
<td>empty string</td>
</tr>
<tr class="no">
<td>‘<code class="property">counter-increment</code>’</td>
<td>No</td>
<td>[ &lt;identifier&gt; &lt;integer&gt;? ]+ | none | inherit</td>
<td>none</td>
</tr>
<tr class="no">
<td>‘<code class="property">counter-reset</code>’</td>
<td>No</td>
<td>[ &lt;identifier&gt; &lt;integer&gt;? ]+ | none | inherit</td>
<td>none</td>
</tr>
<tr class="no">
<td>‘<code class="property">cue</code>’</td>
<td>No</td>
<td>[ ‘<code class="property">cue-before</code>’ || ‘<code
class="property">cue-after</code>’ ] | inherit</td>
<td>see individual properties</td>
</tr>
<tr class="no">
<td>‘<code class="property">cue-after</code>’</td>
<td>No</td>
<td>&lt;uri&gt; | none | inherit</td>
<td>none</td>
</tr>
<tr class="no">
<td>‘<code class="property">cue-before</code>’</td>
<td>No</td>
<td>&lt;uri&gt; | none | inherit</td>
<td>none</td>
</tr>
<tr class="no">
<td>‘<code class="property">cursor</code>’</td>
<td>No</td>
<td>[ [&lt;uri&gt; ,]* [ auto | crosshair | default | pointer | move |
e-resize | ne-resize | nw-resize | n-resize | se-resize | sw-resize |
s-resize | w-resize| text | wait | help ] ] | inherit</td>
<td>auto</td>
</tr>
<tr class="no">
<td>‘<code class="property">direction</code>’</td>
<td>No</td>
<td>ltr | rtl | inherit</td>
<td>ltr</td>
</tr>
<tr class="yes">
<td>‘<code class="property">display</code>’</td>
<td>inline | block | list-item | none | inherit</td>
<td>inline | block | list-item | run-in | compact | marker | table |
inline-table | table-row-group | table-header-group |
table-footer-group | table-row | table-column-group | table-column |
table-cell | table-caption | none | inherit</td>