Se utiliza para seleccionar un elemento que es hijo directo de otro elemento
p > span { color: blue; }<p>
<span> Hola </span> Mundo
</p>Se utiliza para seleccionar elemento que son hermanos (tienen el mismo padre) y se encuentran seguidos.
h1 + h2 { color: red; }<div>
<h1> Uno </h1>
<h2> Dos </h2>
<h2> Tres </h2>
</div>Selecciona todos los elementos que sean hermanos
h1 ~ h2 { color: red; }<div>
<h1> Uno </h1>
<h2> Dos </h2>
<h2> Tres </h2>
</div>Selecciona a los elementos que no cumplan con la condición de un selector
p:not(.negro) { color: blue; }<p class="negro"> Hola </p>
<p> Mundo </p>Selecciona a los elementos a partir de sus atributos y/o valores.
a[class] { color: blue; }
a[class=uno] { color: blue; }
a[class~=uno] { color: blue; }
*[lang|=es_AR] { color: blue; }<a class="uno"> Link 1 </a>
<a class="uno dos"> Link 2 </a>
<a> Link 3 </a>
<a lang="es_AR"> Link 4 </a>
Son utilizadas para definir estados de un elemento dado
Se aplica a todos los elementos <a> que han sidos visitados por el usuario
a:visited { color: green; }<a href="http://google.com"> Link </a>Se aplica a todos los elementos <a> que NO han sidos visitados por el usuario
a:link { color: red; }<a href="http://google.com"> Link </a>Se activa cuando el usuario posa el raton sobre un elemento
a:hover{ background: orange; }<a href="http://google.com"> Link </a>Se activa cuando el usuario presiona un elemento.
a:active{ background: orange; }<a href="http://google.com"> Link </a>Se activa cuando el navegador mantiene el foco sobre el elemento.
a:focus { background: orange; }<a href="http://google.com"> Link </a>Se emplea para seleccionar elementos en funcion de su idioma
p:lang(es_AR) { color: red; }<p lang="es_AR"> Párrafo 1 </p>
<p lang="en_US"> Párrafo 2 </p>Selecciona el elemento indicado pero con la condicion de quea el hijo enesimo de su padre comenzando desde el inicio
ul li:nth-child(3) { color: blue; }<ul>
<li> LI 1 </li>
<li> LI 2 </li>
<li> LI 3 </li>
<li> LI 4 </li>
</ul>Selecciona el elemento indicado pero con la condicion de quea el hijo enesimo de su padre comenzando desde el final
ul li:nth-last-child(3) { color: blue; }<ul>
<li> LI 1 </li>
<li> LI 2 </li>
<li> LI 3 </li>
<li> LI 4 </li>
</ul>Selecciona el elemento indicado pero con la condición de que sea el primer hijo de su elemento padre.
ul li:first-child { color: blue; }<ul>
<li> LI 1 </li>
<li> LI 2 </li>
<li> LI 3 </li>
<li> LI 4 </li>
</ul>Selecciona el elemento indicado pero con la condición de que sea el ultimo hijo de su elemento padre.
ul li:last-child { color: blue; }<ul>
<li> LI 1 </li>
<li> LI 2 </li>
<li> LI 3 </li>
<li> LI 4 </li>
</ul>Son utilizados para agregar estilos sobre sobre ciertas partes de un elemento dado.
Permite seleccionar la primer linea de texto de un elemento
p::first-line { color: blue; }<p>
Hola Mundo
<br>
Chau Mundo
</p>Permite seleccionar la primer letra de del texto de un elemento
p::first-letter { font-size: 3em; }<p>
Hola Mundo
<br>
Chau Mundo
</p>Se utiliza para añadir contenidos antes del contenido original de un elemento
p::before { content: "LEEME!"; }<p>
Hola Mundo
</p>
<p>
Chau Mundo
</p>Se utiliza para añadir contenidos despues del contenido original de un elemento
p::after { content: "."; }<p>
Hola Mundo
</p>
<p>
Chau Mundo
</p>Se utiliza para estilizar el texto que ha seleccionado un usuario con su raton o teclado
::selection { background: blue; }<p>
Seleccioname!
</p>La practica de crear sitios web que tengan la capacidad de ser visualizados correctamente en cada dispositivo y cada tamaño de pantalla, sin importar su largo o ancho, si es un celular, tablet, notebook o computadora de escritorio.
Es la practica de dividir el documento en una grilla redimencionable.
Permite agregar estilos a grupos de elementos siempre y cuando se den ciertas condiciones
Las condiciones pueden ser según el tipo de dispositivo
@media all { ... }Las condiciones pueden ser según la orientación de la pantalla
@media (orientation:portrait) { ... }Se pueden construir medias complejos utilizando operadores logicos
@media all and (min-width:800px) { ... }
@media not screen and (max-width:800px) { ... }
@media only (orientation:portrait) { ... }Consiste en permitir que los elementos como imágenes o videos escalen junto al tamaño de la pantalla.
img, video { max-width: 100%; }