Interoperabilidad 2026 | Consejos CSS
Interop 2026 es oficialmente una realidad. Entonces, ¿conoces todas esas nuevas funciones CSS en las que hemos estado trabajando pero que siempre ponemos bajo la advertencia de “falta de soporte del navegador”? Los tres grandes: Blink (Chrome/Edge), WebKit (Safari) y Mozilla (Firefox), están trabajando juntos para brindarles soporte integral y consistente.
Puedes leer la publicación del blog tú mismo:
uno, si lo hay suficiente Especialmente entusiasmado con CSS:
posicionamiento del ancla
El anclaje CSS nos proporciona una interfaz sencilla para adjuntar elementos junto a otros elementos simplemente especificando los bordes que se conectarán directamente en CSS. También nos permite establecer una ubicación alternativa para que podamos evitar el problema de desbordamiento que acabamos de describir.
avanzado attr()
en realidad ya tenemos attr() Funcional desde hace 15 años aproximadamente. Pero ahora podremos pasar variables allí… ¡Con conversión de tipo!
Consulta de estilo de contenedor
ya podemos Consultar contenedores por “tipo” Pero sólo en tamaño. Sería mucho mejor cuando pudiéramos aplicar estilos basados en otros estilos. explicar:
@container style((font-style: italic) and (--color-mode: light)) {
em, i, q {
background: lightpink;
}
}
este contrast-color() Función
Es muy fácil obtener el contraste de color correcto entre el texto de primer plano y el fondo, pero esto es más bien una tarea manual y podemos usar consultas de medios para cambiar según el esquema de color actual. y contrast-color() (Siempre quiero escribirlo como color-contrast()tal vez porque ese era el nombre original) podemos cambiar dinámicamente color Entre blanco y negro.
button {
--background-color: darkblue;
background-color: var(--background-color);
color: contrast-color(var(--background-color));
}
Aspectos destacados de la personalización
¡Resalta todo! tenemos ::selection para siempre, pero ahora tenemos muchos otros:
| Pseudo selector | elegir… | notas |
|---|---|---|
::search-text |
Encuentra coincidencias dentro de la página | ::search-text:currentSeleccionar objetivo actual |
::target-text |
fragmento de texto | Los fragmentos de texto permiten el resaltado programático utilizando parámetros de URL. Si un motor de búsqueda le recomienda un sitio web, es posible que utilice fragmentos de texto. He aquí por qué ::target-text Muy fácil de trabajar ::search-text. |
::selection |
Utilice el puntero para resaltar texto | |
::highlight() |
Resaltado personalizado definido por JavaScript API de resaltado personalizado | |
::spelling-error |
Errores ortográficos de una sola palabra | Casi solo para contenido editable |
::grammar-error |
error de sintaxis | Casi solo para contenido editable |
Cuadros de diálogo y ventanas emergentes
¡Finalmente, una forma sin JavaScript (y declarativa) de establecer elementos en el nivel superior! Realmente los hemos analizado en profundidad a lo largo de los años.
artículo
El 23 de octubre de 2024.
Aclarar la relación entre ventanas emergentes y cuadros de diálogo
artículo
Es el 26 de junio de 2024.
aparecer de repente
artículo
Es el 26 de enero de 2026.
No es necesario centrarse en el elemento del cuadro de diálogo.
artículo
El 25 de julio de 2024.
globo pop
artículo
el 19 de febrero de 2025
Usar múltiples anclajes CSS y ventanas emergentes dentro de un bucle de WordPress
artículo
Es el 9 de junio de 2025.
Cree una notificación de cierre automático mediante una ventana emergente HTML
artículo
El 23 de julio de 2025.
Un primer vistazo a la API Interest Caller (para ventanas emergentes activadas por el cursor)
artículo
es el 3 de junio de 2025
Sea creativo con los cuadros de diálogo HTML
asociación
Es el 15 de enero de 2018.
Conozca los nuevos elementos del diálogo
asociación
1 de diciembre de 2025
Evitar que la página se desplace cuando se abre el cuadro de diálogo
artículo
20 de noviembre de 2024
Comandos del buscapersonas: ¿otras formas de utilizar cuadros de diálogo, ventanas emergentes, etc.?
artículo
7 de octubre de 2019
Algunas prácticas con elementos de diálogo HTML
Pseudoclase de medios
¿Cuántas veces has querido diseñar un <audio> o <video> ¿Elemento en función de su estado? Quizás en JavaScript, ¿verdad? Manejaremos varios estados en CSS:
:playing:paused:seeking:buffering:stalled:muted:volume-locked
Me gusta este ejemplo Tomado del anuncio de WebKit:
video:buffering::after {
content: "Loading...";
}
animación impulsada por desplazamiento
Bueno, todos queremos esto. Estamos hablando específicamente de animaciones que responden al desplazamiento. En otras palabras, existe una conexión directa entre el progreso del desplazamiento y el progreso de la animación.
#progress {
animation: grow-progress linear forwards;
animation-timeline: scroll();
}
captura de desplazamiento
No hay nada nuevo aquí, ¡pero solo para darles a todos una idea de cómo han cambiado las especificaciones a lo largo de los años!
almanaque
el 13 de febrero de 2019
margen de desplazamiento
anuario
el 12 de febrero de 2019
relleno de desplazamiento
almanaque
el 21 de febrero de 2019
alineación de desplazamiento
anuario
7 de marzo de 2019
Parada rápida de desplazamiento
anuario
4 de febrero de 2019
tipo de captura de desplazamiento
artículo
el 7 de febrero de 2022
Cubierta de diapositivas CSS Scroll Snap con soporte de codificación en vivo
artículo
El 5 de agosto de 2022.
¿Cómo agrego captura de desplazamiento a mi línea de tiempo de Twitter?
asociación
27 de marzo de 2020
Cómo utilizar la captura de desplazamiento CSS
artículo
2 de marzo de 2016
Introducción a los puntos de ajuste de desplazamiento CSS
artículo
el 15 de agosto de 2018
Alineación práctica de desplazamiento CSS
este shape() Función
Esto es lo que ha estado haciendo Temani últimamente, su Convertidor de ruta SVG a forma Es un marcador obligatorio. este shape() Se pueden dibujar formas complejas mientras se recortan elementos. clip-path propiedad. A lo largo de los años, hemos tenido la capacidad de dibujar formas básicas; piense circle, ellipse()y polygon() – Pero no existe una forma “fácil” de dibujar formas más complejas. Ahora tenemos algo menos SVG que acepta unidades CSS, cálculos y más.
.clipped {
width: 250px;
height: 100px;
box-sizing: border-box;
background-color: blue;
clip-path: shape(
from top left,
hline to 100%,
vline to 100%,
curve to 0% 100% with 50% 0%,
);
}
Mira la transición
Hay dos tipos de transiciones de vista: dentro del archivo (transformaciones en la misma página) y entre archivos (o lo que a menudo llamamos transiciones de varias páginas). Las transiciones de la misma página se convirtieron en la base en 2025, y ahora los navegadores están trabajando en implementaciones compatibles de transiciones entre archivos.
artículo
El 21 de febrero de 2025
Transición de vista profunda del dedo del pie
artículo
Es el 29 de enero de 2025.
¿Qué es exactamente el descriptor de “tipos” en la transformación de vista?
almanaque
Es el 7 de junio de 2024.
::Ver conversión
anuario
Es el 12 de junio de 2024.
::Ver grupo de transformación
::view-transition-group(transition-name) { animation-duration: 1.25s; }
almanaque
Es el 14 de junio de 2024.
::ver-imagen-de-transición-nueva
::view-transition-image-new(*) { animation-duration: 700ms; }
almanaque
existir
::ver-imagen-de-transición-antigua
::view-transition-image-old(*) { animation-duration: 700ms; }
almanaque
existir
::Ver par de imágenes de conversión
::view-transition-image-pair(root) { animation-duration: 1s; }
almanaque
Es el 22 de enero de 2026.
::Ver conversión-nueva()
almanaque
existir
::VerConvertirAntiguo()
almanaque
Es el 22 de enero de 2025.
@ViewConversion
anuario
2 de julio de 2025
vista()
anuario
Es el 20 de enero de 2026.
Ver categoría de transformación
almanaque
29 de mayo de 2024
Ver nombre de transformación
CSS zoom propiedad
¡Oh, no me esperaba eso! Quiero decir, teníamos zoom A lo largo de los años –nuestro página del anuario Lanzado en 2011, pero como propiedad no estándar. Debo haber pasado por alto que es nuevo en Baseline 2024 y que se está trabajando en él como parte de Interop 2025. Continúa hasta este año.
zoom un poco como scale() Funciónpero en realidad afecta el diseño, mientras que scale() Es simplemente visual y trascenderá cualquier cosa que se interponga en su camino.
¡Esto es un paquete! Agregar marcador Panel de interoperabilidad 2026 Presta mucha atención a cómo van las cosas.