Section B.1. Selectors


B.1. Selectors

B.1.1. Universal Selector

This selector matches any element name in the document's language. If a rule does not have an explicit selector, then the universal selector is inferred.

Pattern: *

Examples:

 * {color: red;} div * p {color: blue;} 

B.1.2. Type Selector

This selector matches the name of an element in the document's language. Every instance of the element name is matched. (CSS1 referred to these as element selectors.)

Pattern: element1

Examples:

 body {background: #FFF;} p {font-size: 1em;} 

B.1.3. Descendant Selector

This allows the author to select an element based on its status as a descendant of another element. The matched element can be a child, grandchild, great-grandchild, etc., of the ancestor element. (CSS1 referred to these as contextual selectors.)

Pattern: element1 element2

Examples:

 body h1 {font-size: 200%;} table tr td div ul li {color: purple;} 

B.1.4. Child Selector

This type of selector is used to match an element based on its status as a child of another element. This is more restrictive than a descendant element, since only a child will be matched.

Pattern: element1 > element2

Examples:

 div > p {color: cyan;} ul > li {font-weight: bold;} 

B.1.5. Adjacent Sibling Selector

This allows the author to select an element that is the following adjacent sibling of another element. Any text between the two elements is ignored; only elements and their positions in the document tree are considered.

Pattern: element1 + element2

Examples:

 table + p {margin-top: 2.5em;} h1 + * {margin-top: 0;} 

B.1.6. Class Selector

In languages that permit it, such as HTML, SVG, and MathML, a class selector using "dot notation" can be used to select elements that have a class containing a specific value or values. The name of the class value must immediately follow the dot. Multiple class values can be "chained" together. If no element name precedes the dot, the selector matches all elements containing that class value.

Patterns: element1.classname element1.classname1.classname2

Examples:

 p.urgent {color: red;} a.external {font-style: italic;} .example {background: olive;} 

B.1.7. ID Selector

In languages that permit it, such as HTML, an ID selector using "hash notation" can be used to select elements that have an ID containing a specific value or values. The name of the ID value must immediately follow the octothorpe (#). If no element name precedes the octothorpe, the selector matches all elements containing that ID value.

Pattern: element1#idname

Examples:

 h1#page-title {font-size: 250%;} body#home {background: silver;} #example {background: lime;} 

B.1.8. Simple Attribute Selector

This allows authors to select any element based on the presence of an attribute, regardless of the attribute's value.

Pattern: element1[attr]

Examples:

 a[rel] {border-bottom: 3px double gray;} p[class] {border: 1px dotted silver;} 

B.1.9. Exact Attribute Value Selector

This allows authors to select any element based on the precise complete value of an attribute.

Pattern: element1[attr="value"]

Examples:

 a[rel="Home"] {font-weight: bold;} p[] {color: red;;} 

B.1.10. Partial Attribute Value Selector

This allows authors to select any element based on a portion of the space-separated value of an attribute. Note that [class~="value"] is equivalent to .value (see above).

Pattern: element1[attr~="value"]

Examples:

 a[rel~="friend"] {text-transform: uppercase;} p[class~="warning"] {background: yellow;} 

B.1.11. Beginning Substring Attribute Value Selector

This allows authors to select any element based on a substring at the very beginning of an attribute's value.

Pattern: element1[attr^="substring"]

Examples:

 a[href^="/blog"] {text-transform: uppercase;} p[class^="test-"] {background: yellow;} 

B.1.12. Ending Substring Attribute Value Selector

This allows authors to select any element based on a substring at the very end of an attribute's value.

Pattern: element1[attr$="substring"]

Example:

 a[href$=".pdf"] {font-style: italic;} 

B.1.13. Arbitrary Substring Attribute Value Selector

This allows authors to select any element based on a substring found anywhere within an attribute's value.

Pattern: element1[attr*="substring"]

Examples:

 a[href*="oreilly.com"] {font-weight: bold;} div [class*="port"] {border: 1px solid red;} 

B.1.14. Language Attribute Selector

This allows authors to select any element with a lang attribute whose value is a hyphen-separated list of values, starting with the value provided in the selector.

Pattern: element1[lang|="lc"]

Examples:

 html[lang|="en"] {color: gray;} 




CSS(c) The Definitive Guide
CSS: The Definitive Guide
ISBN: 0596527330
EAN: 2147483647
Year: 2007
Pages: 130
Authors: Eric A. Meyer

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net