CSS en los últimos años, fuera de la red CSS, no trajo muchos desarrollos nuevos. Pero en el último año, aparecieron decenas de nuevas funcionalidades para CSS abriendo una nueva posibilidad para diseñar aplicaciones web. Y WordPress no se quedó fuera de estas nuevas funcionalidades.
¿Cómo afectan las nuevas características como las consultas de contenedores, las capas, la subcuadrícula y :has() al desarrollo de temas de WordPress? En esta charla descubrirás cómo.
Simulemos nuestras situaciones del día a día, viendo cómo podemos beneficiarnos de estas nuevas funciones.
4. Interop
#PonteWordCamp
1. @layer
2. Color spaces and functions
3. Containment
4. <dialog>
5. Form compatibility
6. Scrolling
7. Subgrid
8. Typography
9. Viewport units
10. Web compat
Photo by Hannah Busing on Unsplash
8. 1. Object-fit
Es una propiedad de CSS que
permite que la imagen
mantenga la proporción y
llene el área como si fuera un
fondo.
#PonteWordCamp
.main-header__img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
object-position: bottom center;
}
10. 2. aspect-ratio
Es una propiedad que preserva la
relación de aspecto de las imágenes.
Evitando así que se distorsionen.
#PonteWordCamp
.card__img {
object-fit: cover;
aspect-ratio: 1 / 1;
}
12. 3. clamp()
Te permite crear un rango entre
un valor máximo y mínimo
basado en la resolución del
navegador
#PonteWordCamp
.title {
font-size: clamp(20px, 4vw, 50px)
}
13. 3. clamp()
#PonteWordCamp
h2 {
font-size: clamp(18px, 4vw, 52px)
}
/* Smartphones ----------- */
@media only screen and (max-device-width : 480px) {
h2 {
font-size: 18px;
}
}
/* tablet ----------- */
@media only screen and (min-device-width : 480px)
and (max-device-width : 1024px) {
h2 {
font-size: 28px;
}
/* Desktops ----------- */
@media only screen and (min-width : 1224px) {
h2 {
font-size: 36px;
}
}
/* Large screens ----------- */
@media only screen and (min-width : 1824px) {
h2 {
font-size: 52px;
}
}
antes después
16. 4. Container queries
● Antes de @container, los elementos de
una página web sólo podían responder al
tamaño de toda la ventana gráfica
● ¡Después de @container, los elementos
pueden responder al tamaño o estilo de
un contenedor principal!
● Esto significa que podemos diseñar
bloques de forma independiente
#PonteWordCamp
media query
container query
21. 7. @layer
#PonteWordCamp
@layer framework, base, utilities;
@import url(‘https://cdn.bootstrap.com/fake-url.css’)
layer(framework);
@layer base {
a { font-weight: 800; }
.link {
color: blue; /* ignored */
}
}
@layer utilities {
.pink { color: hotpink; }
}
antes después
22. Futuro CSS
#PonteWordCamp Photo by Drew Beamer on Unsplash
8. Selectores de anidamiento
9. Permitir a los usuarios a ahorra
datos
10. Personalización de elementos
select
23. 8. Selectores de anidamiento
#PonteWordCamp
article {
color: darkgray;
& > a {
color: var(--link-color);
}
/* article > a */
}
24. 9. Reducir el uso de datos
#PonteWordCamp
@media (prefers-reduced-data: reduce) {
picture, video {
display: none;
}
}
En esta presentación veremos el pasado, presente y futuro de CSS, algunas de estas propiedades están directamente ligadas a WordPress.
Comenzaremos hablando de problemas comunes relacionados con el pasado de css que todavía veo en los sitios web.
Creé una guía de proyectos para Pontevedra para tener ejemplos prácticos de las soluciones que vamos a mostrar. Estas direcciones son el antes y el después del proyecto con algunas pequeñas inclusiones.
Alguns problemas são visíveis e outros nem tanto, mas quando analisamos essa imagem temos o seguintes problemas:
1 - A proporção da imagem não é preservada quando a janela do navegador é expandida
2 - O texto em telas grandes ficam muito pequeno
3 - As imagens do card não possuem a mesma proporção
E como podemos resolver esses problemas?
Alguns problemas são visíveis e outros nem tanto, mas quando analisamos essa imagem temos o seguintes problemas:
1 - A proporção da imagem não é preservada quando a janela do navegador é expandida
2 - O texto em telas grandes ficam muito pequeno
3 - As imagens do card não possuem a mesma proporção
E como podemos resolver esses problemas?
Podemos dar un paso adelante con una pseudoclase CSS :has()
el selector permite comprobar si un elemento padre contiene hijos con parámetros específicos.
Esto alguna vez fue posible con JavaScript
El accent-color CSS de la especificación de la interfaz de usuario de CSS está aquí para teñir los elementos con una línea de CSS, ahorrándote los esfuerzos de personalización al proporcionar una forma de llevar su marca a los elementos.
Antes de @layer, el orden descubierto de las hojas de estilo cargadas era muy importante, ya que los estilos cargados en último lugar pueden sobrescribir los estilos cargados previamente. Esto condujo a hojas de estilo de entrada administradas meticulosamente.
Con @layer, el archivo de entrada puede predefinir las capas y su orden con anticipación. Luego, a medida que los estilos se cargan, cargan o definen, se pueden colocar dentro de una capa