Questo progetto intende creare un modello completo, neutro e standard per la redazione di fogli di stile a cascata sulla base degli attuali marcatori e selettori di xhtml 1.0/1.1/2.0
Il documento è alla sua prima stesura e approvazione
Il lavoro svolto è basato sulle attuali specifiche xhtml 1.0/1.1/2.0 ed è principalmente orientato ai seguenti selettori:
CSS 1.0:
E Matches any E element
E F Matches any F element that is a descendant of an E element.
DIV.myclass Language specific. (In HTML, the same as DIV[class~="myclass"].)
E#myid Matches any E element with ID equal to "myid".
E:link
E:visited
E:active 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).
E:first-line Matches any element in first line
E:first-letter Matches the first letter
CSS 2.1:
* Matches any element.
E > F Matches any F element that is a child of an element E.
E + F Matches any F element immediately preceded by a sibling element E.
E[foo] Matches any E element with the "foo" attribute set (whatever the value).
E[foo="warning"] Matches any E element whose "foo" attribute value is exactly equal to "warning".
E[foo~="warning"] Matches any E element whose "foo" attribute value is a list of space-separated values, one of which is exactly equal to "warning".
E[lang|="en"] Matches any E element whose "lang" attribute has a hyphen-separated list of values beginning (from the left) with "en".
E:first-child Matches element E when E is the first child of its parent.
E:hover
E:focus Matches E during certain user actions.
E:lang(c) Matches element of type E if it is in (human) language c (the document language specifies how language is determined).
E:before
E:after Matches the begin or the end of the element
CSS 3.0:
foo|E
[foo|att=val] an E element or attribute with namespace: @namespace foo url(http://www.example.com);
E[foo^="bar"] an E element whose "foo" attribute value begins exactly with the string "bar"
E[foo$="bar"] an E element whose "foo" attribute value ends exactly with the string "bar"
E[foo*="bar"] an E element whose "foo" attribute value contains the substring "bar"
E:target an E element being the target of the referring URI
E:enabled
E:disable
E:checked a user interface element E which is enabled or disabled
E:indeterminate a user interface element E which is checked or in an indeterminate state (for instance a radio-button or checkbox)
E:root an E element, root of the document
E:nth-child(n) an E element, the n-th child of its parent
E:nth-last-child(n) an E element, the n-th child of its parent, counting from the last one
E:nth-of-type(n) an E element, the n-th sibling of its type
E:nth-last-of-type(n) an E element, the n-th sibling of its type, counting from the last one
E:last-child an E element, last child of its parent
E:first-of-type an E element, first sibling of its type
E:last-of-type an E element, last sibling of its type
E:only-child an E element, only child of its parent
E:only-of-type an E element, only sibling of its type
E:empty an E element that has no children (including text nodes)
E:contains("foo") an E element containing the substring "foo" in its textual contents
E:not(s) an E element that does not match simple selector s
E::first-line the first formatted line of an E element
E::first-letter the first formatted letter of an E element
E::selection the portion of an E element that is currently selected/highlighted by the user
E::before generated content before an E element
E::after generated content after an E element
E ~ F an F element preceded by an E element
/*////////////// Main //////////////*/
* { margin: 0; padding: 0; color: inherit; }
*[dir="ltr"] { direction: ltr; unicode-bidi: embed; }
*[dir="rtl"] { direction: rtl; unicode-bidi: embed; }
*[lang] { }
*[title] { }
*[alt] { }
/*////////////// Core Module //////////////*/
/** Structure Module **/
body {}
head { display: none; }
html {}
title {}
/** Text Module **/
/* Heading element */
h1 {}
h2 {}
h3 {}
h4 {}
h5 {}
h6 {}
/* Block element */
address {}
blockquote {}
div {}
p {}
pre {}
/* Inline element */
abbr {}
acronym {}
abbr[title],
acronym[title] { cursor: help; }
br {}
cite {}
code {}
dfn {}
em {}
kbd {}
q {}
q:lang(en) { quotes: '"' '"' "'" "'" }
q:lang(fr) { quotes: "«" "»" "<" ">" }
q:before { content: open-quote; }
q:after { content: close-quote; }
samp {}
span {}
strong {}
var {}
/** Hypertext Module **/
a {}
/** List Module **/
dl {}
dt {}
dd {}
ol {}
ul {}
li {}
/*////////////// Applet Module | deprecated //////////////*/
applet {}
param {}
/*////////////// Text Extension Module (only for emprove visualisation in linear version or scan logic, near semantic) //////////////*/
/** Presentation Module **/
b {}
big {}
hr {}
i {}
small {}
sub {}
sup {}
tt {}
/** Edit Module **/
del {}
ins {}
/** Bi-directional Text Module **/
bdo { direction: ltr; unicode-bidi: embed; }
bdo[dir="ltr"] { direction: ltr; unicode-bidi: bidi-override; }
bdo[dir="rtl"] { direction: rtl; unicode-bidi: bidi-override; }
/*////////////// Forms Modules //////////////*/
/** Form **/
form {}
/** Formctrl **/
input {}
input[type=text] {}
input[type=file] {}
input[type=password] {}
input[type=button] {}
input[type=reset] {}
input[type=submit] {}
label {}
select {}
option {}
textarea {}
button {}
/** Group **/
fieldset {}
legend {}
optgroup {}
/*////////////// Tables Module //////////////*/
caption {}
table {}
td {}
th {}
tr {}
col {}
colgroup {}
tbody {}
head {}
tfoot {}
/*////////////// Image Module //////////////*/
img {}
/*////////////// Client-side Image Map Module //////////////*/
area {}
map {}
/*////////////// Object Module //////////////*/
object {}
param {}
/*////////////// Framing Module //////////////*/
/** Frame **/
frameset {}
frame {}
noframes {}
/** iFrame **/
iframe {}
/*////////////// Metainformation Module //////////////*/
meta {}
/*////////////// Scripting Module //////////////*/
noscript {}
script {}
/*////////////// Style Sheet Module //////////////*/
style {}
/*////////////// Link Module //////////////*/
link {}
/*////////////// Base Module //////////////*/
base {}
/*////////////// Specialisation //////////////*/
@media all{
}
@media braille{
}
@media embossed{
}
@media handheld{
}
@media print{
/* Important: implement @page rule */
}
@media projection{
/* Important: implement @page rule */
}
@media screen{
}
@media speech{
}
@media tty{
}
@media tv{
}