Es muy posible que te lleves tiempo sin tocar CSS y desconozcas muchas de las novedades que incorpora CSS actualmente. En esta página he hecho una lista de tareas comunes que hoy en día se pueden hacer de una forma mejor que la que comunmente está más extendida.
En estos ejemplos, encontrarás una forma tradicional de hacer las cosas a la izquierda, una forma más moderna en la zona derecha.
:is()
Reescribir de forma más compacta y sencilla los selectores múltiples combinados [ Más info ]
.container .item,
.container .parent,
.container .element {
/* ... */
}
.container :is(.item, .parent, .element) {
/* ... */
}
Escribir colores RGB con canales alfa (transparencias) [ Más info ]
.container {
background: rgba(255, 255, 0, 0.5);
}
.container {
background: rgb(100% 100% 0 / 50%);
}
Crear componentes CSS nativos autocontenidos dentro de otros [ Más info ]
.parent {
background: grey;
}
.parent .element {
background: darkred;
}
.parent .element:hover {
background: red;
}
.parent {
background: grey;
& .element {
background: darkred;
&:hover {
background: red;
}
}
}
Realizar un centrado en ambos ejes directamente, con una sola propiedad [ Más info ]
.parent {
display: grid;
justify-items: center;
align-items: center;
}
.parent {
display: grid;
place-items: center;
}
Utilizar custom properties para guardar información en variables [ Más info ]
.parent {
width: 300px;
height: 300px;
background: grey;
}
.parent {
--size: 300px;
width: var(--size);
height: var(--size);
background: var(--color, grey);
}
Posibilidad de utilizar una sintaxis más amigable para media queries [ Más info ]
@media (min-width: 800px) and
(max-width: 1280px) {
.menu {
background: red;
}
}
@media (800px <= width <= 1280px) {
.menu {
background: red;
}
}
Soy Manz, vivo en Tenerife (España) y soy streamer partner en Twitch y profesor. Me apasiona el universo de la programación web, el diseño y desarrollo web y la tecnología en general. Aunque soy full-stack, mi pasión es el front-end, la terminal y crear cosas divertidas y locas.
Puedes encontrar más sobre mi en Manz.dev