Me gustaría apuntar a todas las etiquetas h en una página. Sé que puedes hacerlo de esta manera ...
h1,
h2,
h3,
h4,
h5,
h6 {
font: 32px/42px trajan-pro-1,trajan-pro-2;
}
¿Pero hay una manera más eficiente de hacer esto usando selectores avanzados de CSS? por ejemplo, algo como:
[att^=h] {
font: 32px/42px trajan-pro-1,trajan-pro-2;
}
(pero obviamente esto no funciona)
css
css-selectors
SparrwHawk
fuente
fuente
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, ...
Respuestas:
No, una lista separada por comas es lo que quiere en este caso.
fuente
h1, h2, h3 {}
.No es CSS básico, pero si está utilizando MENOS ( http://lesscss.org ), puede hacerlo utilizando la recursividad:
Sass ( http://sass-lang.com ) le permitirá administrar esto, pero no permitirá la recursividad; tienen
@for
sintaxis para estos casos:Si no está utilizando un lenguaje dinámico que se compila a CSS como LESS o Sass, definitivamente debe consultar una de estas opciones. Realmente pueden simplificar y hacer más dinámico su desarrollo CSS.
fuente
"can" != "should"
. Aun así, las opciones Sass / LESS le brindan una extensibilidad que el CSS estándar no ofrece. Piensa en algo comofont-size: (48px / @index)
.scss/sass
en su proyecto, pero que desean generarcss
conscss/sass
ellas, pueden usar esta herramienta en línea llamada sassmeisterSi usa SASS, también podría usar este mixin:
Úselo así:
Editar: mi forma favorita de hacer esto al ampliar opcionalmente un selector de marcador de posición en cada uno de los elementos de encabezado.
Entonces puedo apuntar a todos los encabezados como apuntaría a cualquier clase individual, por ejemplo:
fuente
!optional
bandera en la extensión? Y parece que no puedo encontrar nada en Google ...SCSS + Compass lo hace muy fácil, ya que estamos hablando de preprocesadores.
Puede obtener información sobre todos los selectores de ayuda de Compass aquí :
fuente
Stylus 's interpolación selector
fuente
El selector jQuery para todas las etiquetas h (h1, h2, etc.) es ": encabezado". Por ejemplo, si desea que todas las etiquetas h sean de color rojo con jQuery, use:
fuente
$('.my_div :header').css("color","red")
?Para abordar esto con CSS vainilla, busque patrones en los antepasados de los
h1..h6
elementos:Si puede detectar patrones, puede escribir un selector que apunte a lo que desea. Teniendo en cuenta el ejemplo anterior todos los
h1..h6
elementos pueden ser el blanco de la combinación de la:first-child
y:not
pseudo-clases de CSS3, disponible en todos los navegadores modernos, así:En el futuro, los selectores avanzados de pseudo-clase como
:has()
, y los combinadores de hermanos posteriores (~
), proporcionarán aún más control a medida que los estándares web continúen evolucionando con el tiempo.fuente
También puede usar PostCSS y el complemento de selectores personalizados
Salida:
fuente
Puede clasificar todos los encabezados en su documento si desea orientarlos con un solo selector, de la siguiente manera,
y en el css
No digo que esto sea siempre una práctica recomendada, pero puede ser útil y, para orientar la sintaxis, es más fácil de muchas maneras,
así que si le das a todos h1 a h6 la misma clase .heading en el html, entonces puedes modificarlos para cualquier documento html que utilice esa hoja css.
al revés, más control global versus "sección div artículo h1, etc. {}",
inconveniente, en lugar de llamar a todos los selectores en el lugar en el CSS, tendrá que escribir mucho más en el html, pero encuentro que tener una clase en el html para apuntar a todos los encabezados puede ser beneficioso, solo tenga cuidado con la precedencia en el css, porque los conflictos pueden surgir de
fuente
La nueva
:is()
pseudo-clase CSS puede hacerlo en un selector:fuente