Gostaria de segmentar todas as tags h em uma página. Eu sei que você pode fazer assim ...
h1,
h2,
h3,
h4,
h5,
h6 {
font: 32px/42px trajan-pro-1,trajan-pro-2;
}
mas existe uma maneira mais eficiente de fazer isso usando seletores CSS avançados? por exemplo, algo como:
[att^=h] {
font: 32px/42px trajan-pro-1,trajan-pro-2;
}
(mas obviamente isso não funciona)
css
css-selectors
SparrwHawk
fonte
fonte
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, ...
Respostas:
Não, uma lista separada por vírgula é o que você deseja neste caso.
fonte
h1, h2, h3 {}
.Não é um CSS básico, mas se você estiver usando LESS ( http://lesscss.org ), poderá fazer isso usando a recursão:
O Sass ( http://sass-lang.com ) permitirá que você gerencie isso, mas não permitirá recursão; eles têm
@for
sintaxe para essas instâncias:Se você não estiver usando uma linguagem dinâmica que seja compilada para CSS como LESS ou Sass, verifique definitivamente uma dessas opções. Eles podem realmente simplificar e tornar mais dinâmico seu desenvolvimento de CSS.
fonte
"can" != "should"
. Mesmo assim, as opções Sass / LESS oferecem extensibilidade que o CSS baunilha não oferece. Pense em algo comofont-size: (48px / @index)
.scss/sass
ao projeto, mas querem gerarcss
comscss/sass
elas, podem usar esta ferramenta on-line chamada sassmeisterSe você estiver usando o SASS, também poderá usar este mixin:
Use-o assim:
Editar: minha maneira favorita pessoal de fazer isso, estendendo opcionalmente um seletor de espaço reservado em cada um dos elementos de cabeçalho.
Então, eu posso segmentar todos os títulos como se fosse uma classe única, por exemplo:
fonte
!optional
bandeira na extensão? E não consigo encontrar nada no google ...O SCSS + Compass torna isso fácil, já que estamos falando de pré-processadores.
Você pode aprender sobre todos os seletores auxiliares da Bússola aqui :
fonte
Stylus 's interpolação selector
fonte
O seletor jQuery para todas as tags h (h1, h2 etc) é ": header". Por exemplo, se você quiser deixar todas as tags h de cor vermelha com o jQuery, use:
fonte
$('.my_div :header').css("color","red")
?Para resolver isso com CSS baunilha, procure padrões nos ancestrais dos
h1..h6
elementos:Se você conseguir identificar padrões, poderá escrever um seletor direcionado para o que deseja. Dado o exemplo acima todos os
h1..h6
elementos podem ser alvo de combinar o:first-child
e:not
pseudo-classes de CSS3, disponível em todos os navegadores modernos, assim:No futuro, seletores avançados de pseudo-classe como
:has()
e combinadores de irmãos subsequentes (~
) fornecerão ainda mais controle à medida que os padrões da Web continuarem evoluindo ao longo do tempo.fonte
Você também pode usar o PostCSS e o plug-in de seletores personalizados
Resultado:
fonte
Você pode classificar todos os títulos em Seu documento se desejar direcioná-los com um único seletor, da seguinte maneira:
e no css
Não estou dizendo que essa é sempre uma prática recomendada, mas pode ser útil e, para direcionar a sintaxe, é mais fácil de várias maneiras,
portanto, se você der a todos os h1 a h6 a mesma classe .heading no html, poderá modificá-los para qualquer documento html que utilize essa folha de css.
upside, controle mais global versus "seção div artigo h1, etc {}",
desvantagem, em vez de chamar todos os seletores no lugar no css, você terá muito mais digitação no html, mas acho que ter uma classe no html para segmentar todos os títulos pode ser benéfico, apenas tenha cuidado com a precedência no css, porque conflitos podem surgir de
fonte
A nova
:is()
pseudo-classe CSS pode fazer isso em um seletor:fonte