Ir al contenido
Menú principal
Menú principal
mover a la barra lateral
ocultar
Navegación
Página principal
Cambios recientes
Página aleatoria
Ayuda sobre MediaWiki
Buscar
Buscar
español
Apariencia
Crear una cuenta
Acceder
Herramientas personales
No has accedido
Discusión
Contribuciones
Crear una cuenta
Acceder
Editando
Selector CSS
(sección)
Página
Discusión
español
Leer
Editar
Editar código
Ver historial
Herramientas
Herramientas
mover a la barra lateral
ocultar
Acciones
Leer
Editar
Editar código
Ver historial
General
Lo que enlaza aquí
Cambios relacionados
Información de la página
Apariencia
mover a la barra lateral
ocultar
Advertencia:
no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si
inicias sesión
o
creas una cuenta
, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Comprobación antispam. ¡
No
rellenes esto!
== Combinadores de selectores CSS == Los combinadores CSS son signos gráficos, o caracteres especiales, o palabras o expresiones reservadas utilizados en el nombre del selector para formar los selectores CSS complejos. Estos selectores CSS aumentan precisión del selector al relacionar varios de ellos en función de que cumplan alguna condición (que es la definida por el combinador). === Combinador CSS de descendiente: ' ' (espacio en blanco) o '>>' === En el documento sobre los selectores de nivel 4 se introduce el nuevo combinador <code>>></code> equivalente al espacio en blanco. El espacio en blanco o el doble <code>>></code> separando el nombre de dos selectores CSS se utiliza para apuntar a elementos contenidos dentro de otro en el [[Document Object Model|DOM]] del documento. <code>a b {}</code> o <code>a >> b {}</code> selecciona a todos los elementos <code>b</code> contenidos (dentro) de <code>a</code> sin importar la profundidad o los descendientes interpuestos entre 'a' y 'b'. === Combinador CSS de hijo directo '>' === <code>a > b {}</code> Solo aplica a los elementos 'b' contenidos directamente en 'a' ('b' es hijo directo de 'a'). === Combinador CSS de hermano posterior '~'=== <code>a ~ b {}</code> El signo '~' en el selector obliga a que 'b' sea hermano de 'a' (estén ambos contenidos directamente en el mismo elemento). No importa que en el html entre ambos haya otros elementos hermanos interpuestos. <pre data-language='CSS & html'> h2 ~ p {} <article> <h2>título</h2> <p>texto del primer párrafo</p> <img src='... /> <p>texto de otro párrafo</p> </article> </pre> El selector CSS del código previo <code>h2 ~ p {}</code> afecta por igual a los dos párrafos ya que ambos son hermanos posteriores del título (h2): están contenidos directamente en el mismo elemento html, ambos (el título y los párrafos) tienen al <code>article</code> como padre. === Combinador de hermano posterior adyacente '+' === <pre>a + b {}</pre> Representado por el signo '+' selecciona, al igual que el anterior, cada elemento 'b' que sea hermano de un 'a' y además estén adyacentes: 'b' tiene que aparecer en el DOM inmediatamente después de cerrar 'a', no puede haber ningún otro hermano que los separe o se interponga entre ellos. En el bloque de código anterior si el combinador CSS en vez de ser el de hermano posterior <code>~</code> es el de hermano posterior adyacente <code>h2 + p {}</code> solo el primer párrafo (el que sigue al h2) se vería afectado por la regla CSS. Observa que al referirme a los combinadores CSS de hermanos incluyó la expresión «hermano posterior» ya que CSS no puede (de momento) remontar el DOM. Esto es, siempre serán elementos 'contenidos en' o 'posteriores a'. Nunca al "contenedor de" o al "precedente de". === Combinador CSS de namespace '|' y qualified names === La barra vertical '|' se emplea para acotar el sujeto del selector al [[espacio de nombres]] ({{lang-en|namespace}}) indicado. La especificación tiene su documento (status W3c Recomendation) específico para este tema: [http://www.w3.org/TR/CSS3-namespace/ "CSS Namespaces Module"] y los "nombres CSS calificados". <pre data-language='css'> @namespace misitio "http://misitio.dominio.ext"; misitio|A <span>representa el nombre A en el namespace http://misitio.dominio.ext</span> </pre> Nota: La especificación no incluye en este apartado de los combinadores al de namespace. === Combinador CSS de referencia '/ref/' === A título informativo. El documento sobre los selectores de nivel 4 introduce este selector. <pre data-language='css'> label:matches(:hover, :focus) /for/ input {} </pre> [https://web.archive.org/web/20141224064625/http://dev.w3.org/csswg/selectors4/#idref-combinators "El combinador /ref/"] en el código anterior apunta al input al hacer :hover o :focus en su etiqueta (label). Lo vincula por el atributo 'for'. === Combinador CSS /deep/ para iluminar las sombras === [https://esCSS.blogspot.com/2014/10/deep-selector-CSS.html "El combinador /deep/"] es de reciente{{cuándo}} formulación. Concebido para poder apuntar a los elementos creados o incluidos en el ''[[shadow DOM]]''. '''Nota:''' Chrome retiró recientemente{{cuándo}} el soporte a este combinador. === Combinador de columna || === El combinador de columnas <code>||</code> (representado por dos barras verticales), nuevo en el doc Selectores de nivel 4, selecciona las celdas pertenecientes a una columna dada. En caso de que una celda ocupase 2 o más columnas diferentes se verá afectado por cualquiera de estas. <pre data-language='Html & CSS'> col.selected || td { background: gray; color: white; font-weight: bold; } <table> <col span="2"> <col class="selected"> <tr><td>A <td>B <td>C <tr><td colspan="2">D <td>E <tr><td>F <td colspan="2">G </table> </pre> El selector <code>col.selected || td</code> afecta a las celdas C, E, y G.
Resumen:
Al guardar los cambios aceptas los
términos de uso
y liberas de forma irrevocable tu contribución conforme a los términos de las licencias
licencia CC BY-SA 4.0
y
GFDL
. Aceptas igualmente que un hipervínculo o URL es atribución suficiente conforme a la licencia Creative Commons.
Cancelar
Ayuda de edición
(se abre en una ventana nueva)
Buscar
Buscar
Editando
Selector CSS
(sección)
Añadir idiomas
Añadir tema