(E), la propiedad tiene un efecto sobre todos los elementos E. En el ejemplo, todos los elementos <p> serán de color rojo.
p { color: red; }
Esto es un parrafo
Este es otro parrafo
(E.e), la propiedad E afecta a los elementos de la clase.
p.apunte { color: red; }
Esto es un parrafo normal <p>.
este parrafo tiene la clase apunte
Si queremos crear un solo elemento de a. (E # e), debemos usar donde el valor de e es.
p#apunte { color: red; }
Parrafo normal <p>.
Parrafo que tiene id="apunte
Ten cuidado! ¡Los valores de ID no pueden repetirse en todo el documento!
(*) El símbolo afectará a todos los elementos o etiquetas de la página.
* { color: red; }
Esto es un parrafo<p>.
Esto un elemento de direccion
Para influir en todos los elementos de página que tienen un valor de clase específico
.aviso { color: red; }
Esto es un párrafo sin clase pero con un <span> de clase "aviso" (en la palabra "pero").
Esto es un párrafo <p> de clase "aviso".
Esto es una dirección <address> de clase "aviso".
También se podría utilizar el selector *.clase
*.aviso { color: red; }
Esto es un párrafo sin clase pero con un <span> de clase "aviso" (en la palabra "pero").
Esto es un párrafo <p> de clase "aviso".
Esto es una dirección <address> de clase "aviso".
Para definir un id que afecte a cualquier etiqueta, se debe escribir una almohadilla y el nombre del id. En el ejemplo siguiente, el elemento de id "aviso" se verá de color rojo.
#aviso { color: red; }
#aviso { color: red; }
Esto es un párrafo <p> de clase "aviso".
Esto es un párrafo <p> con id "aviso".
Esto es una dirección <address> de clase "aviso".
Esto es una dirección <address> con id "aviso".
Hay que tener en cuenta que el atributo id no se puede repetir, es decir, que no puede haber en una página web dos elementos con el mismo valor del atributo id (independientemente de que los elementos tengan etiquetas iguales o distintas). Pero una misma hoja de estilo se puede llamar desde varias páginas web y en cada una de esas páginas puede haber elementos distintos con el mismo atributo id.
Si se escriben dos etiquetas seguidas (E F), las propiedades afectan a los elementos con la segunda etiqueta (F) contenidos dentro de la primera etiqueta (E), aunque haya etiquetas intermedias. En el ejemplo siguiente, todos los párrafos <p> dentro de una división <div> se ven de color rojo.
div { border: red 3px solid; margin: 10px; padding: 10px; }
div p { color: red; }
Esto es un párrafo <p>.
Esto es un párrafo <p>.
Esto es otro párrafo <p>.
Esto no es un párrafo <p>, sino una dirección <address>.
Esto es otro párrafo <p>.
En general, si se escriben varias etiquetas seguidas (E F G ... ), las propiedades afectan a los elementos con la última etiqueta contenidos dentro de la etiqueta anterior, contenidos a su vez dentro de etiqueta anterior y así sucesivamente, aunque haya etiquetas intermedias. En el ejemplo siguiente, únicamente los párrafos <p> dentro de un elemento de lista <li> dentro de una división <div> se ven de color rojo.
div { border: red 3px solid; margin: 10px; padding: 10px; }
div li p { color: red; }
Esto es un párrafo <p>.
Esto es un párrafo <p>.
Esto es otro párrafo <p>.
Esto no es un párrafo <p>, sino una dirección <address>.
Esto es otro párrafo <p>.
Si se escriben dos etiquetas seguidas separadas por un signo "mayor que" (E > F), las propiedades afectan a los elementos con la segunda etiqueta (F) contenidos dentro de la primera etiqueta (E), pero no afecta si hay etiquetas intermedias entre ellos. En el ejemplo siguiente, únicamente los párrafos <p> dentro de una división <div> sin elementos intermedios se ven de color rojo.
div { border: red 3px solid; margin: 10px; padding: 10px; }
div > p { color: red; }
Esto es un párrafo <p>.
Esto es un párrafo <p>.
Esto es otro párrafo <p>.
Esto no es un párrafo <p>, sino una dirección <address>.
Esto es otro párrafo <p>.
Selectores de adyacentes: E+F
Si se escriben dos etiquetas seguidas separadas por un signo "más" (E + F), las propiedades afectan únicamente a los elementos con la segunda etiqueta (F) que van justo después de un elemento con la primera etiqueta (E). En el ejemplo siguiente, únicamente el párrafo <p> inmediatamente posterior a la división <div> se ven de color rojo.
div { border: red 3px solid; margin: 10px; padding: 10px; }
div + p { color: red; }
Esto es un párrafo <p>.
Esto es un párrafo <p>.
Esto es otro párrafo <p>.
Esto no es un párrafo <p>, sino una dirección <address>.
Esto es otro párrafo <p>.
Esto es otro párrafo <p>.
Selectores de atributo
Hay cuatro formas de seleccionar elementos con determinados atributos: E[atributo], E[atributo="valor"], E[atributo~="valor"], E[atributo|="valor"].
Si se escribe una etiqueta seguida del nombre de un atributo entre corchetes, E[atributo], las propiedades afectan a todos los elementos que tengan establecidos ese atributo. En el ejemplo siguiente, los párrafos con clase, independientemente de la clase asignada, se muestran en mayúsculas.
p.p1 { color: red; }
p.p2 { color: blue; }
p[class] { text-transform: uppercase; }
ESTO ES UN PÁRRAFO <P> DE CLASE P1.
ESTO ES UN PÁRRAFO <P> DE CLASE P2.
Esto es un párrafo <p> sin clase.
Si se escribe una etiqueta seguida del nombre de un atributo igual a un valor entre corchetes, E[atributo="valor"], las propiedades afectan a todos los elementos que tengan establecidos ese atributo exactamente con ese valor. En el ejemplo siguiente, el párrafo con dos clases (asignadas en el mismo orden en el que aparecen entre corchetes en la hoja de estilo), se muestran en mayúsculas. Además, los párrafos con dos clases se ven de color azul porque las clases no se aplican en el orden en el que aparecen en el atributo clase, sino en el orden en que aparecen en la hoja de estilo.
p.p1 { color: red; }
p.p2 { color: blue; }
p[class="p1 p2"] { text-transform: uppercase; }
Esto es un párrafo <p> de clase p1.
Esto es un párrafo <p> de clase p2.
ESTO ES UN PÁRRAFO <P> CON CLASE P1 Y P2 (EN ESE ORDEN).
Esto es un párrafo <p> con clase p2 y p1 (en ese orden).
Si se escribe una etiqueta seguida del nombre de un atributo tilde-igual a un valor entre corchetes, E[atributo~="valor"], las propiedades afectan a todos los elementos que tengan establecidos ese atributo con ese valor (entre otros).
Si se escribe una etiqueta seguida del nombre de un atributo |-igual a un valor entre corchetes, E[atributo|="valor"], las propiedades afectan a todos los elementos que tengan establecidos ese atributo con un valor que comience por ese valor seguido de un guión -. Este selector esta pensado para seleccionar elementos con diferentes variantes de un mismo idioma.
CSS pseudo-elements are used to add special effects to some selectors.
The syntax of pseudo-elements:
selector:pseudo-element {property:value;}
CSS classes can also be used with pseudo-elements:
selector.class:pseudo-element {property:value;}
The "first-line" pseudo-element is used to add a special style to the first line of a text.
In the following example the browser formats the first line of text in a p element according to the style in the "first-line" pseudo-element (where the browser breaks the line, depends on the size of the browser window):
p:first-line
{
color:#ff0000;
font-variant:small-caps;
}
Note: The "first-line" pseudo-element can only be used with block-level elements.
Note: The following properties apply to the "first-line" pseudo-element:
The "first-letter" pseudo-element is used to add a special style to the first letter of a text:
p:first-letter
{
color:#ff0000;
font-size:xx-large;
}
Note: The "first-letter" pseudo-element can only be used with block-level elements.
Note: The following properties apply to the "first-letter" pseudo- element:
Pseudo-elements can be combined with CSS classes:
p.article:first-letter {color:#ff0000;}
<p class="article">A paragraph in an article</p>
The example above will display the first letter of all paragraphs with class="article", in red.
Several pseudo-elements can also be combined.
In the following example, the first letter of a paragraph will be red, in an xx-large font size. The rest of the first line will be blue, and in small-caps. The rest of the paragraph will be the default font size and color:
p:first-letter
{
color:#ff0000;
font-size:xx-large;
}
p:first-line
{
color:#0000ff;
font-variant:small-caps;
}
The ":before" pseudo-element can be used to insert some content before the content of an element.
The following example inserts an image before each <h1> element:
h1:before
{
content:url(smiley.gif);
}
The ":after" pseudo-element can be used to insert some content after the content of an element.
The following example inserts an image after each <h1> element:
h1:after
{
content:url(smiley.gif);
}