Oi, pessoal! ![]()
Estou trabalhando com CSS há anos agora, e queria compartilhar algumas das minhas dicas e truques favoritos que facilitaram minha vida. Não são os básicos – são coisas que fazem você pensar “por que eu não soube disso antes?”.
1. Use aspect-ratio para Elementos Responsivos
Esqueça o hack de padding-top! A propriedade aspect-ratio é pura magia:
.video-container {
aspect-ratio: 16 / 9;
width: 100%;
}
Isso mantém seus elementos perfeitamente proporcionais sem nenhum cálculo. Funciona muito bem para imagens, vídeos e componentes de cartão.
2. clamp() para Tipografia Fluida
Pare de usar consultas de mídia para cada tamanho de fonte. clamp() permite definir tipografia responsiva em uma linha:
h1 {
font-size: clamp(1.5rem, 5vw, 3rem);
}
Isso significa: mínimo 1.5rem, preferido 5vw, máximo 3rem. Pronto – texto responsivo que escala lindamente em todos os dispositivos.
3. :is() e :where() para Seletores Mais Limpos
Cansado de repetir seletores? Essas pseudo-classes são revolucionárias:
/* Em vez disso: */
header a:hover,
footer a:hover,
nav a:hover {
color: blue;
}
/* Faça isso: */
:is(header, footer, nav) a:hover {
color: blue;
}
A diferença? :is() assume a maior especificidade, enquanto :where() tem especificidade zero – perfeito quando você quer que os estilos sejam facilmente substituíveis.
4. Propriedades Personalizadas (Variáveis CSS) com Valores Padrão
Você provavelmente usa variáveis CSS, mas está usando valores padrão?
.button {
background: var(--primary-color, #007bff);
padding: var(--button-padding, 0.5rem 1rem);
}
Se a variável não estiver definida, ela volta para o segundo valor. Muito útil para alternar temas e bibliotecas de componentes.
5. object-fit para Melhor Controle de Imagens
Pare de distorcer imagens! Use object-fit para controlar como as imagens preenchem seus contêineres:
img {
width: 100%;
height: 300px;
object-fit: cover; /* ou contain, fill, none, scale-down */
object-position: center;
}
Isso é especialmente útil para fotos de perfil, miniaturas e imagens de cartão onde você precisa de dimensões consistentes.
Bônus: A Propriedade gap Além do Flexbox
Você sabia que gap funciona em layout de blocos regulares agora (na maioria dos navegadores modernos)?
.container {
display: block;
gap: 1rem;
}
Mais nenhum hack de margem entre elementos!
Quais são os seus truques favoritos de CSS que você usa regularmente? Adoraria saber o que está no seu kit de ferramentas! ![]()
Feliz codificação! ![]()