SlideShare una empresa de Scribd logo
1 de 28
CSS 2022: un mundo
completamente nuevo
Fellyph Cintra
Fellyph Cintra
Google Developer Expert
Consultor Web
@fellyph
blog.fellyph.com.br
#PonteWordCamp
CSS: pasado,
presente y
futuro
#PonteWordCamp Photo by Aron Visuals on Unsplash
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
Guía de
Pontevedra
#PonteWordCamp
https://glitch.com/edit/#!/wordcamp-pontevedra-depois
https://glitch.com/edit/#!/wordcamp-pontevedra
CSS Pasado
#PonteWordCamp
1
2
3
Soluciones
posibles
#PonteWordCamp
1
3
2
1. object-fit
2. aspect-ratio
3. clamp()
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;
}
1. Object-fit
ayer
#PonteWordCamp
hoy
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;
}
2. aspect-ratio
antes
#PonteWordCamp
después
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)
}
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
3. clamp() llega a WordPress 6.1
theme.json
#PonteWordCamp
"settings": {
....
"typography": {
"fluid": {
"min": "768px",
"max": "1600px"
},
"fontSizes": [
{
"size": "2rem",
"fluidSize": {
"min": "1.8rem",
"max": "2.5rem"
},
"slug": "medium",
"name": "Medium"
}
}
}
Presente CSS
#PonteWordCamp
4. Query container
5. :has()
6. accent-color
7. @layer
Photo by Anne Nygård on Unsplash
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
4. Container queries
#PonteWordCamp
.card {
container-type: inline-size;
container-name: card;
}
@container card (max-width: 300px) {
.card-title {
font-size: 30px;
}
}
4. Container queries ejemplo
#PonteWordCamp
5. :has()
#PonteWordCamp
.card:has(.destaque) {
border: 2px solid #2800ff;
}
.card:has(img) .card-title {
text-align: left;
}
.card:not(:has(.card-intro)) {
text-align: center;
background: linear-gradient(180deg,
#efd5ff 0%, #515ada 100%);
}
https://codepen.io/web-dot-dev/pen/ZExyJKx
6. accent-color
#PonteWordCamp
/* tint everything */
:root {
accent-color: hotpink;
}
/* tint one element */
progress {
accent-color: indigo;
}
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
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
8. Selectores de anidamiento
#PonteWordCamp
article {
color: darkgray;
& > a {
color: var(--link-color);
}
/* article > a */
}
9. Reducir el uso de datos
#PonteWordCamp
@media (prefers-reduced-data: reduce) {
picture, video {
display: none;
}
}
10. Personalización de elementos select
#PonteWordCamp
.my-select-menu::part(button) {
color: white;
background-color: red;
padding: 5px;
border-radius: 5px;
}
.my-select-menu::part(listbox) {
padding: 10px;
margin-top: 5px;
border: 1px solid red;
border-radius: 5px;
}
Soporte - 25/09/2022
#PonteWordCamp
● object-fit - 98%
● clamp() - 94%
● aspect-ratio - 90%
● accent-color - 88%
● @Layer - 87%
● has() - 54%
● Container Queries - 42%
Referencias
#PonteWordCamp
https://web.dev/state-of-css-2022/
https://css.oddbird.net/rwd/query/explainer/
https://web.dev/accent-color/
https://www.bram.us/2021/12/21/the-css-has-selector-is-way-more-than-a-parent-selector/
https://make.wordpress.org/core/2022/05/27/block-font-sizes-and-fluid-typography/
Preguntas
#PonteWordCamp
Photo
by
Minator
Yang
on
Unsplash

Más contenido relacionado

Similar a CSS 2022: un mundo completamente nuevo - Presentacion WC Pontevedra - Fellyph Cintra

Presentacion Iniciación al Responsive Web Design
Presentacion Iniciación al Responsive Web DesignPresentacion Iniciación al Responsive Web Design
Presentacion Iniciación al Responsive Web DesignGeekia
 
Desarrollo de aplicaciones con HTML5
Desarrollo de aplicaciones con HTML5 Desarrollo de aplicaciones con HTML5
Desarrollo de aplicaciones con HTML5 Gonzalo C.
 
Diseño Responsivo en Drupal: ¿Qué hay de Nuevo?
Diseño Responsivo en Drupal: ¿Qué hay de Nuevo?Diseño Responsivo en Drupal: ¿Qué hay de Nuevo?
Diseño Responsivo en Drupal: ¿Qué hay de Nuevo?Rob Montero
 
HTML5, CSS3, Responsive Design
HTML5, CSS3, Responsive DesignHTML5, CSS3, Responsive Design
HTML5, CSS3, Responsive DesignManuel Padilla
 
Responsive Web Design: reinventando el diseño web
Responsive Web Design: reinventando el diseño webResponsive Web Design: reinventando el diseño web
Responsive Web Design: reinventando el diseño webJavier Usobiaga
 
Front end basics - Responsive Web Design
Front end basics - Responsive Web DesignFront end basics - Responsive Web Design
Front end basics - Responsive Web DesignNadal Soler
 
Responsive Web Design: Reinventando el diseño web
Responsive Web Design: Reinventando el diseño webResponsive Web Design: Reinventando el diseño web
Responsive Web Design: Reinventando el diseño webJavier Usobiaga
 
Guia Practica Maquetación HTML5, CSS
Guia Practica Maquetación HTML5, CSSGuia Practica Maquetación HTML5, CSS
Guia Practica Maquetación HTML5, CSSlissette_torrealba
 
Introducción a HTML5 y CSS3 - ArtMedia 2011
Introducción a HTML5 y CSS3 - ArtMedia 2011Introducción a HTML5 y CSS3 - ArtMedia 2011
Introducción a HTML5 y CSS3 - ArtMedia 2011Hernan Beati
 
02. Interactuando con controles de UI
02. Interactuando con controles de UI02. Interactuando con controles de UI
02. Interactuando con controles de UIDanae Aguilar Guzmán
 

Similar a CSS 2022: un mundo completamente nuevo - Presentacion WC Pontevedra - Fellyph Cintra (20)

Presentacion Iniciación al Responsive Web Design
Presentacion Iniciación al Responsive Web DesignPresentacion Iniciación al Responsive Web Design
Presentacion Iniciación al Responsive Web Design
 
Desarrollo de aplicaciones con HTML5
Desarrollo de aplicaciones con HTML5 Desarrollo de aplicaciones con HTML5
Desarrollo de aplicaciones con HTML5
 
Semana 3 Responsive Design y Media Queries
Semana 3   Responsive Design y Media QueriesSemana 3   Responsive Design y Media Queries
Semana 3 Responsive Design y Media Queries
 
CSS3
CSS3CSS3
CSS3
 
Bootstrap 3.
Bootstrap 3.Bootstrap 3.
Bootstrap 3.
 
Hojas de Estilo en Cascada - CSS
Hojas de Estilo en Cascada - CSSHojas de Estilo en Cascada - CSS
Hojas de Estilo en Cascada - CSS
 
Diseño Responsivo en Drupal: ¿Qué hay de Nuevo?
Diseño Responsivo en Drupal: ¿Qué hay de Nuevo?Diseño Responsivo en Drupal: ¿Qué hay de Nuevo?
Diseño Responsivo en Drupal: ¿Qué hay de Nuevo?
 
HTML5, CSS3, Responsive Design
HTML5, CSS3, Responsive DesignHTML5, CSS3, Responsive Design
HTML5, CSS3, Responsive Design
 
Aplicaciones móviles - HTML5
Aplicaciones móviles - HTML5Aplicaciones móviles - HTML5
Aplicaciones móviles - HTML5
 
19 tips para css
19 tips para css19 tips para css
19 tips para css
 
HTML5 Warm up!
HTML5 Warm up!HTML5 Warm up!
HTML5 Warm up!
 
En 20 minutos ... Responsive Design
En 20 minutos ... Responsive DesignEn 20 minutos ... Responsive Design
En 20 minutos ... Responsive Design
 
Responsive Web Design: reinventando el diseño web
Responsive Web Design: reinventando el diseño webResponsive Web Design: reinventando el diseño web
Responsive Web Design: reinventando el diseño web
 
Front end basics - Responsive Web Design
Front end basics - Responsive Web DesignFront end basics - Responsive Web Design
Front end basics - Responsive Web Design
 
Responsive Web Design: Reinventando el diseño web
Responsive Web Design: Reinventando el diseño webResponsive Web Design: Reinventando el diseño web
Responsive Web Design: Reinventando el diseño web
 
Introducción CSS
Introducción CSSIntroducción CSS
Introducción CSS
 
Diseñando para la Web Móvil
Diseñando para la Web MóvilDiseñando para la Web Móvil
Diseñando para la Web Móvil
 
Guia Practica Maquetación HTML5, CSS
Guia Practica Maquetación HTML5, CSSGuia Practica Maquetación HTML5, CSS
Guia Practica Maquetación HTML5, CSS
 
Introducción a HTML5 y CSS3 - ArtMedia 2011
Introducción a HTML5 y CSS3 - ArtMedia 2011Introducción a HTML5 y CSS3 - ArtMedia 2011
Introducción a HTML5 y CSS3 - ArtMedia 2011
 
02. Interactuando con controles de UI
02. Interactuando con controles de UI02. Interactuando con controles de UI
02. Interactuando con controles de UI
 

Más de Fellyph Cintra

CSS 2022 um mundo novo de possibilidades
CSS 2022 um mundo novo de possibilidadesCSS 2022 um mundo novo de possibilidades
CSS 2022 um mundo novo de possibilidadesFellyph Cintra
 
Page experience road - WordCamp Athens 2022
Page experience road  - WordCamp Athens 2022Page experience road  - WordCamp Athens 2022
Page experience road - WordCamp Athens 2022Fellyph Cintra
 
Web stories the new visual storytelling format for the web
Web stories the new  visual storytelling format for the webWeb stories the new  visual storytelling format for the web
Web stories the new visual storytelling format for the webFellyph Cintra
 
Machine learning for mortal developers - Dublin.JS
Machine learning for mortal developers - Dublin.JSMachine learning for mortal developers - Dublin.JS
Machine learning for mortal developers - Dublin.JSFellyph Cintra
 
Machine learning for mortal developers - Fellyph Cintra
Machine learning for mortal developers -  Fellyph CintraMachine learning for mortal developers -  Fellyph Cintra
Machine learning for mortal developers - Fellyph CintraFellyph Cintra
 
Using machine learning to improve our WordPress application
Using machine learning to improve our WordPress applicationUsing machine learning to improve our WordPress application
Using machine learning to improve our WordPress applicationFellyph Cintra
 
WordCamp Brighton - Why use web components
WordCamp Brighton - Why use web componentsWordCamp Brighton - Why use web components
WordCamp Brighton - Why use web componentsFellyph Cintra
 
Accessibility workshop
Accessibility workshopAccessibility workshop
Accessibility workshopFellyph Cintra
 
WCEU 2019 recap - AMP Plugin 1.2 and Gutenberg 6.0
WCEU 2019 recap - AMP Plugin 1.2 and Gutenberg 6.0WCEU 2019 recap - AMP Plugin 1.2 and Gutenberg 6.0
WCEU 2019 recap - AMP Plugin 1.2 and Gutenberg 6.0Fellyph Cintra
 
Dublin js 2019 Fellyph Ctintra - Why use web components?
Dublin js 2019 Fellyph Ctintra - Why use web components?Dublin js 2019 Fellyph Ctintra - Why use web components?
Dublin js 2019 Fellyph Ctintra - Why use web components?Fellyph Cintra
 
Google I/O extended 2019 Fellyph Cintra
Google I/O extended 2019 Fellyph CintraGoogle I/O extended 2019 Fellyph Cintra
Google I/O extended 2019 Fellyph CintraFellyph Cintra
 
Work smart with Gutenberg - Fellyph Cintra
Work smart with Gutenberg - Fellyph CintraWork smart with Gutenberg - Fellyph Cintra
Work smart with Gutenberg - Fellyph CintraFellyph Cintra
 
PWA - Progressive WordPress Apps
PWA - Progressive WordPress AppsPWA - Progressive WordPress Apps
PWA - Progressive WordPress AppsFellyph Cintra
 
Amp for WordPress - Tech lunch Inspiration Marketing
Amp for WordPress -  Tech lunch Inspiration MarketingAmp for WordPress -  Tech lunch Inspiration Marketing
Amp for WordPress - Tech lunch Inspiration MarketingFellyph Cintra
 
From marketplace to WordPress - WordCamp Belfast
From marketplace to WordPress - WordCamp BelfastFrom marketplace to WordPress - WordCamp Belfast
From marketplace to WordPress - WordCamp BelfastFellyph Cintra
 
Techtalk CSS4 - Fellyph Cintra
Techtalk CSS4 - Fellyph CintraTechtalk CSS4 - Fellyph Cintra
Techtalk CSS4 - Fellyph CintraFellyph Cintra
 
Do marketplace ao WordPress - WordCamp BH 2015
Do marketplace ao WordPress -  WordCamp BH 2015Do marketplace ao WordPress -  WordCamp BH 2015
Do marketplace ao WordPress - WordCamp BH 2015Fellyph Cintra
 
Dicas para Workflow WordPress + JavaScript - WordCamp Salvador
Dicas para Workflow WordPress + JavaScript - WordCamp SalvadorDicas para Workflow WordPress + JavaScript - WordCamp Salvador
Dicas para Workflow WordPress + JavaScript - WordCamp SalvadorFellyph Cintra
 
Workflow WordPress + JavaScript - WordCamp Rio
Workflow WordPress + JavaScript  - WordCamp RioWorkflow WordPress + JavaScript  - WordCamp Rio
Workflow WordPress + JavaScript - WordCamp RioFellyph Cintra
 
Desenvolvendo Aplicações móveis com bBUI.js
Desenvolvendo Aplicações móveis com bBUI.jsDesenvolvendo Aplicações móveis com bBUI.js
Desenvolvendo Aplicações móveis com bBUI.jsFellyph Cintra
 

Más de Fellyph Cintra (20)

CSS 2022 um mundo novo de possibilidades
CSS 2022 um mundo novo de possibilidadesCSS 2022 um mundo novo de possibilidades
CSS 2022 um mundo novo de possibilidades
 
Page experience road - WordCamp Athens 2022
Page experience road  - WordCamp Athens 2022Page experience road  - WordCamp Athens 2022
Page experience road - WordCamp Athens 2022
 
Web stories the new visual storytelling format for the web
Web stories the new  visual storytelling format for the webWeb stories the new  visual storytelling format for the web
Web stories the new visual storytelling format for the web
 
Machine learning for mortal developers - Dublin.JS
Machine learning for mortal developers - Dublin.JSMachine learning for mortal developers - Dublin.JS
Machine learning for mortal developers - Dublin.JS
 
Machine learning for mortal developers - Fellyph Cintra
Machine learning for mortal developers -  Fellyph CintraMachine learning for mortal developers -  Fellyph Cintra
Machine learning for mortal developers - Fellyph Cintra
 
Using machine learning to improve our WordPress application
Using machine learning to improve our WordPress applicationUsing machine learning to improve our WordPress application
Using machine learning to improve our WordPress application
 
WordCamp Brighton - Why use web components
WordCamp Brighton - Why use web componentsWordCamp Brighton - Why use web components
WordCamp Brighton - Why use web components
 
Accessibility workshop
Accessibility workshopAccessibility workshop
Accessibility workshop
 
WCEU 2019 recap - AMP Plugin 1.2 and Gutenberg 6.0
WCEU 2019 recap - AMP Plugin 1.2 and Gutenberg 6.0WCEU 2019 recap - AMP Plugin 1.2 and Gutenberg 6.0
WCEU 2019 recap - AMP Plugin 1.2 and Gutenberg 6.0
 
Dublin js 2019 Fellyph Ctintra - Why use web components?
Dublin js 2019 Fellyph Ctintra - Why use web components?Dublin js 2019 Fellyph Ctintra - Why use web components?
Dublin js 2019 Fellyph Ctintra - Why use web components?
 
Google I/O extended 2019 Fellyph Cintra
Google I/O extended 2019 Fellyph CintraGoogle I/O extended 2019 Fellyph Cintra
Google I/O extended 2019 Fellyph Cintra
 
Work smart with Gutenberg - Fellyph Cintra
Work smart with Gutenberg - Fellyph CintraWork smart with Gutenberg - Fellyph Cintra
Work smart with Gutenberg - Fellyph Cintra
 
PWA - Progressive WordPress Apps
PWA - Progressive WordPress AppsPWA - Progressive WordPress Apps
PWA - Progressive WordPress Apps
 
Amp for WordPress - Tech lunch Inspiration Marketing
Amp for WordPress -  Tech lunch Inspiration MarketingAmp for WordPress -  Tech lunch Inspiration Marketing
Amp for WordPress - Tech lunch Inspiration Marketing
 
From marketplace to WordPress - WordCamp Belfast
From marketplace to WordPress - WordCamp BelfastFrom marketplace to WordPress - WordCamp Belfast
From marketplace to WordPress - WordCamp Belfast
 
Techtalk CSS4 - Fellyph Cintra
Techtalk CSS4 - Fellyph CintraTechtalk CSS4 - Fellyph Cintra
Techtalk CSS4 - Fellyph Cintra
 
Do marketplace ao WordPress - WordCamp BH 2015
Do marketplace ao WordPress -  WordCamp BH 2015Do marketplace ao WordPress -  WordCamp BH 2015
Do marketplace ao WordPress - WordCamp BH 2015
 
Dicas para Workflow WordPress + JavaScript - WordCamp Salvador
Dicas para Workflow WordPress + JavaScript - WordCamp SalvadorDicas para Workflow WordPress + JavaScript - WordCamp Salvador
Dicas para Workflow WordPress + JavaScript - WordCamp Salvador
 
Workflow WordPress + JavaScript - WordCamp Rio
Workflow WordPress + JavaScript  - WordCamp RioWorkflow WordPress + JavaScript  - WordCamp Rio
Workflow WordPress + JavaScript - WordCamp Rio
 
Desenvolvendo Aplicações móveis com bBUI.js
Desenvolvendo Aplicações móveis com bBUI.jsDesenvolvendo Aplicações móveis com bBUI.js
Desenvolvendo Aplicações móveis com bBUI.js
 

CSS 2022: un mundo completamente nuevo - Presentacion WC Pontevedra - Fellyph Cintra

Notas del editor

  1. 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.
  2. 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.
  3. 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?
  4. 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?
  5. 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
  6. 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.
  7. 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