martes, 31 de marzo de 2020

Selectores CSS

Selectores CSS
Utilizamos la parte que precede el bloque entre llaves de una regla CSS para describir aquel/aquellos elementos HTML que seleccionaremos al aplicar nuestro estilo.
La siguiente tabla muestra todas las posibles sintaxis (CSS3) por categorias
Lista de selectores CSS
SelectorDescripciónEjemplos
Categoria: Selectores idenfificativos de elementos
ECualquier elemento E del documento HTML o XMLh1 { color: grey; }
A,B,C...Agrupar elementosh1,h2,h3 { color:grey; }
*Selector universal para todo elemento* { color:grey; }
.claseAquel/Aquellos elementos con atributo class="clase"E.miclase { color:grey; }
.clase1.clase2...Aquellos elementos cuyo atributo 'class' contiene los valores clase1,clase2,... No importa el ordencode.javascript.strong { color:grey; }
#IDAquel elemento con el atributo id="ID"#miID { color:gray; }
Categoria: Selectores de atributo
E[atrib]Aquel elemento E con un atributo cuyo nombre es 'atrib'img[alt] { color:gray; }
E[atrib="x"]Cualquier elemento E cuyo atributo 'atrib' tiene exactamente el valor 'x'a[href="#ancla"] { color:grey; }
E[atrib~="x"]Cualquier elemento E cuyo atributo 'atrib' contiene el valor 'x' en su lista de valoresstrong[href~="important"] { color:grey; }
E[atrib*="x"]Cualquier elemento E cuyo atributo 'atrib' contiene la subcadena 'x'a[href*="google"] { color:grey; }
E[atrib^="x"]Aquel/Aquellos elementos E cuyo atributo 'atrib' empieza por 'x'a[href^="http:"] { color:grey; }
E[atrib$="x"]Cualquier elemento E cuyo atributo 'atrib' termina en 'x'img[alt$=".jpg"] { color:grey; }
E[atrib|="x"]Cuando el valor de 'atrib' tiene exactamente el valor 'x' o 'x-'img[alt|="figure"] { color:grey; }
Categoria: Selectores de parentesco según la estructura del docuemnto
C ECualquier elemento E descendiente de Cmain img { margin:10px; }
C > ECualquier elemento E hijo de Csection>h2 { color:grey; }
E + DSelecciona el elemento D hermano adyacente de Eheader + footer { color:grey }
E ~ D Selecciona el elemento D hermano de E, aunque no sea adyacenteh1 ~ ol { color:grey; }
Categoria: Selectores de pseudo-clases (según el estado de ciertos elementos, del estado del documento, o de ciertos patrones del marcado)
1: pseudo-clases dinámicas
1.1: según el estado de hipervínculos
a:linkhipervínculos aún no visitadosa:link { color:gray; }
a:visitedhipervínculos visitadosa:visited { color:gray; }
1.2: por la acción del ususario
:focusElemento que tiene el foco, es decir, acepta entrada de texto o ha sido activado de algún modoa:focus { color:gray; }
:hoverElemento en el cual se coloca el puntero del ratóna:hover { color:gray; }
:activeElemento activado por el usuario, por ejemplo, durante el tiempo que se pulsa un hipervínculoa:active { color:gray; }
1.3: según el estado de la IU
:enabledElementos de la interfaz de usuario habilitados para la entrada:enabled { font-weight: bold; }
:disabledElementos de IU no disponibles para la entrada:disabled { opacity: 0.5; }
:checkedbotones radio o cajas de selección que han sido seleccionadas(por el usuario o predefinido en el documento:checked { color:grey; }
:indeterminatebotones radio o cajas de selección que no se han seleccionado o deseleccionado en ningún momento.(solo determinado via scripts DOM):indeterminate { border: red; }
:defaultBotones radio, cajas de selección o 'option' que han sido seleccionadas por defecto[type:"checkbox"]:default { font-style: italic; }
:validEntradas de usuario cuyos datos son semanticamente válidosinput[type="email"]:valid { color:grey; }
:invalidEntradas de usuario cuyos datos son semanticamente inválidosinput[type:"email"]:invalid { color:grey; }
:in-rangeEntradas de usuario cuyos valores se encuentran en el rango predefinidoinput[type="number"]:in-range { color:grey; }
:out-of-rangeEntradas de usuario cuyos valores estan fuera del rango permitido por el control de formularioinput[type="number"]:out-of-range { color:grey; }
:requiredEntradas de usuario en las que es obligatorio definir un valorinput:required { color:grey; }
:optionalinput:optional { color:grey; }
:read-writeEntrada de usuario editablepre:read-write { color:grey; }
:read-onlyEntrada de usuario no editabletextarea:read-only { color:grey; }
2: pseudo-clases estructurales
E:first-childSelecciona el primer hijo del tipo Eli:first-child { color:gray; }
E:last-childSelecciona el último hijo del tipo Eli:last-child { color:gray; }
E:first-of-typeSelecciona el primer hijo del tipo Eimg:first-of-type {background-color: red; }
E:last-of-typeSelecciona el último hijo del tipo Eimg:last-of-type {background-color: red; }
:rootSelecciona el elemento raíz del documento:root { border:1px solid red; }
E:emptySelecciona elementos E sin contenido (ni texto)p:empty { display:none; }
E:only-childSelecciona elementos E que son hijos únicosp:only-child { color:gray; }
E:only-of-typeSelecciona el elemento del tipo E, único de entre sus hermanosimg:only-of-type { background-color: #CCC; }
E:nth-child(an+-b)Siendo a,b enteros y n=(0,1,2,3,...), selecciona cada elemento hijo E según dicha expresión tr:nth-child(7) { color:grey; }
tr:nth-child(2n) { color:grey; }
nth-last-child(an+-b)Lo mismo, empezando por el último elementotr:nth-last-child(odd) { color:grey; }
E:nth-of-type(an+-1)Lo mismo, seleccionando solo el tipo Ea:nth-of-type(even) { color:grey; }
E:nth-last-of-type(an+-1)Lo mismo, desde el último elementoa:nth-last-of-type(even) { color:grey; }
:targetReferencia a aquel elemento objetivo de un identificador de fragmento URL*:target { color:grey; }
:lang(<language>)Elementos definidos para un tipo de lenguaje*:lang(es) { color:grey; }
:not()Niega la coincidéncia especificadali:not(.info) { color:grey; }
Categoria: Selectores pseudo-elementos
E::first-letterEstiliza la primera letra de Ep::first-letter { color:grey; }
E::first-lineEstiliza la primera línea del elemento Ep::first-line { color:grey; }
E::beforeCrea y estiliza contenido adicional antes del elemento E. Debe contener la propiedad 'content'.h2::before { content: "x"; color:grey; }
::afterCrea y estiliza contenido adicional después del elemento E. Debe contener la propiedad 'content'.h2::after { content: "x"; color:grey; }

NOTAS:(Solicitar información más detallada a través de los comentarios)

<TO-DO>

No hay comentarios:

Publicar un comentario

Escribe tu comentario...