Element bazowy 2023

Baseline będzie wkrótce dostępne na caniuse.com. Z tego posta dowiesz się więcej o integracji i o niektórych funkcjach, które w 2023 r. zaczęły być dostępne w ramach funkcji Baseline.

W przypadku nowej definicji punktu odniesienia na cyklu życia funkcji składają się 2 etapy: gdy staje się ona odnowiona oraz gdy po 30 miesiącach stanie się powszechnie dostępna. Funkcja staje się częścią nowego pakietu Baseline, gdy zacznie działać w tych przeglądarkach:

  • Safari (macOS i iOS)
  • Firefox (na komputerze i Androidzie)
  • Chrome (na komputerze i Androidzie)
  • Edge (komputer)

Element bazowy znajduje się na planecie Can I Use

Kolejnym krokiem do wyjaśniania dostępności funkcji jest od dziś usługa Baseline będzie mogła używać. Odwiedzając niektóre strony w programie Can I Use, zobaczysz plakietkę informującą, czy dana funkcja jest powszechnie dostępna.

Zrzut ekranu pokazujący użycie tej funkcji z plakietką powszechnie dostępną w układzie siatki w CSS.

Funkcje, które pojawią się w nowej wersji podstawowej, będą również oznaczone plakietką wraz z rokem ich udostępnienia. Wszystkie elementy, które w tym roku zaczęły działać w podstawowym zestawie przeglądarek, wchodzą w skład Baseline 2023.

Zrzut ekranu pokazujący użycie tej funkcji z nową plakietką w przypadku zapytań dotyczących kontenerów.

Z dalszej części tego posta dowiesz się więcej o funkcjach, które osiągnęły ten kamień milowy w 2023 roku. Wszystkie te funkcje są w wersji Baseline 2023.

Dopasuj rozmiar zapytań dotyczących kontenerów i jednostek zapytań dotyczących kontenerów

Zapytania o kontenery dotyczące rozmiaru umożliwiają wysyłanie zapytań o rozmiar elementu w ten sam sposób, w jaki zapytania o multimedia umożliwiają zapytania o rozmiar widocznego obszaru. Ułatwiają one tworzenie komponentów wielokrotnego użytku, które dostosowują się do rozmiaru obszaru, w którym są umieszczone.

Obsługa przeglądarek

  • 105
  • 105
  • 110
  • 16

Źródło

Projekt tej karty zmienia się w zależności od szerokości komponentu. Więcej informacji znajdziesz w artykule Zapytania o kontenery trafiają do przeglądarek stabilnych.

Nowe przestrzenie kolorów i funkcje

CSS obsługuje teraz przestrzenie kolorów, dzięki którym możesz uzyskać dostęp do kolorów spoza zakresu sRGB. Oznacza to, że wyświetlacze HD (HD) mogą być wyświetlane w kolorach zgodnych z HD gamut.

Nowe modele kolorów

Teraz w trybie bazowym funkcje kolorów lch(), lab(), oklch() i oklab() dają dostęp do modeli kolorów LCH, Lab, OKLCH i OKLab.

Obsługa przeglądarek

  • 111
  • 111
  • 113
  • 15

Źródło

Zrzut ekranu z edytorem gradient.style z żywym gradientem od różowego do niebieskiego.
Wypróbuj nowe przestrzenie kolorów za pomocą polecenia gradient.style.

Funkcja color-mix()

Ponadto w ramach funkcji Baseline pojawiły się nowe funkcje związane z kolorami. Funkcja color-mix() umożliwia mieszanie kolorów z jednego koloru w dowolnej przestrzeni kolorów. W poniższym kodzie CSS 25% koloru niebieskiego jest mieszane w przestrzeni kolorów białego w przestrzeni kolorów Srgb.

.example {
  background-color: color-mix(in srgb, blue 25%, white);
}

Obsługa przeglądarek

  • 111
  • 111
  • 113
  • 15

Źródło

Dowiedz się więcej o color-mix()

Funkcja color()

Funkcji color() można używać w przypadku dowolnej przestrzeni kolorów, która określa kolory za pomocą kanałów R, G i B. color() najpierw przyjmuje parametr przestrzeni kolorów, a następnie serię wartości kanałów dla RGB i opcjonalnie część alfa. Możesz użyć tych identyfikatorów: srgb, srgb-linear, display-p3, a98-rgb, prophoto-rgb, rec2020, xyz, xyz-d50 i xyz-d65. Na przykład:

.valid-css-color-function-colors {
  --srgb: color(srgb 1 1 1);
  --srgb-linear: color(srgb-linear 100% 100% 100% / 50%);
  --display-p3: color(display-p3 1 1 1);
  --rec2020: color(rec2020 0 0 0);
  --a98-rgb: color(a98-rgb 1 1 1 / 25%);
  --prophoto: color(prophoto-rgb 0% 0% 0%);
  --xyz: color(xyz 1 1 1);
}

W przewodniku po kolorach wysokiej rozdzielczości CSS znajdziesz więcej przykładów nowych przestrzeni kolorów i funkcji, a także informacje o tym, których używać w odpowiednim czasie.

Strumienie kompresji

Compression Streams API to interfejs JavaScript API służący do kompresowania i dekompresji strumieni danych. Aplikacje korzystające z tej wbudowanej kompresji nie muszą już zawierać biblioteki kompresji.

Obsługa przeglądarek

  • 80
  • 80
  • 113
  • 16.4

Źródło

Więcej informacji znajdziesz w artykule Strumienie kompresji są teraz obsługiwane we wszystkich przeglądarkach.

Obszar roboczy poza ekranem

Wcześniej możliwości rysowania na płótnie były powiązane z elementem <canvas>, co oznaczało, że zależało bezpośrednio od DOM. OffscreenCanvas odłącza DOM od interfejsu Canvas API, przesuwając obszar roboczy poza ekran.

Dzięki temu rozwiązaniu renderowanie obiektów OffscreenCanvas jest w pełni odłączone od DOM, dzięki czemu można przyspieszyć pracę w porównaniu ze zwykłym obszarem roboczym, ponieważ nie ma między nimi synchronizacji. Można go też wykorzystać do przeniesienia zadań renderowania do instancji Web Worker, mimo że nie jest dostępny model DOM, co pozwoli zwolnić wątek główny i sprawić, że aplikacja będzie bardziej responsywna.

Obsługa przeglądarek

  • 69
  • 79
  • 105
  • 16.4

Źródło

Więcej informacji znajdziesz w artykule OffscreenCanvas – przyspiesz operacje na kanwach dzięki narzędziu Web Worker

Wstępne wczytywanie modułu

Wstępne wczytywanie modułów może skrócić czas pobierania i przetwarzania. Dodaj tag rel="modulepreload" do elementu link odwołującego się do modułu JavaScript, a przeglądarka pobiera ten moduł, analizuje i kompiluje go, a potem umieszcza wyniki w mapie modułu gotowej do wykonania.

Obsługa przeglądarek

  • 66
  • ≤79
  • 115
  • 17

Źródło

Więcej informacji znajdziesz w artykule Wstępne wczytywanie modułów.

Funkcje trygonometryczne w CSS

W 2023 r. funkcje trygonometryczne ze specyfikacji wartości CSS i jednostki poziomu 4 zaczęły współdziałać. Oznacza to, że funkcje sin(), cos(), tan(), asin(), acos(), atan() i atan2() są częścią punktu odniesienia w 2023 r.

Obsługa przeglądarek

  • 111
  • 111
  • 108
  • 15,4

Źródło

Ta prezentacja wykorzystuje funkcje trygonometryczne do przesuwania elementów po ścieżce kołowej wokół punktu centralnego.

Naucz się używać tych funkcji i poznaj ich przykłady w artykule Funkcje trygonometryczne w CSS.

Atrybut inert

Oznaczenie elementu DOM jako inert usuwa z niego ruch lub interakcję. Atrybut inert powoduje, że przeglądarka ignoruje element:

  • Zdarzenie click nie uruchomi się, gdy użytkownik kliknie element.
  • Element nie zostanie zaznaczony.
  • Element i jego zawartość zostały wykluczone z drzewa ułatwień dostępu.

Obsługa przeglądarek

  • 102
  • 102
  • 112
  • 15.5

Źródło

Dodaj ten atrybut do elementów, które są poza ekranem lub w inny sposób ukryte. Więcej informacji znajdziesz w artykule Atrybut inert.

Podsiatka w układzie siatki CSS

Wartość subgrid dla grid-template-columns i grid-template-rows pozwala używać ścieżek zdefiniowanych w siatce nadrzędnej w zagnieżdżonych siatkach. Oznacza to, że możesz wyrównywać ze sobą elementy w oddzielnych zagnieżdżonych siatkach.

Obsługa przeglądarek

  • 117
  • 117
  • 71
  • 16

Źródło

W podsiatce CSS znajdziesz przykłady i linki do wielu innych postów oraz przykłady zastosowań.

Format liczb wer. 3

Intl.NumberFormat V3 to zestaw nowych funkcji Intl.NumberFormat, który w 2023 r. stał się częścią programu Baseline. Dodatkowe funkcje:

  • Trzy nowe funkcje do formatowania zakresów liczb: formatRange, formatRangeToParts i selectRange
  • Wyliczenie grupowania
  • Nowe opcje zaokrąglania i precyzji
  • Priorytet zaokrąglania
  • Zinterpretuj ciągi tekstowe jako ułamki dziesiętne
  • Tryby zaokrąglania
  • Podpisz na wyświetlaczu jako negatyw

Obsługa przeglądarek

  • 106
  • 106
  • 116
  • 15,4

Źródło

Szczegółowe informacje o każdej z tych nowych funkcji znajdziesz w propozycji dotyczącej NumberFormat V3.

Pełnoekranowy interfejs API

Pełnoekranowy interfejs API umożliwia umieszczenie elementu takiego jak <video> w trybie pełnoekranowym przez wywołanie metody requestFullscreen(). Udostępnia też metody wykrywania, czy element jest w trybie pełnoekranowym i czy dokument jest w stanie umożliwiającym żądanie trybu pełnoekranowego.

Obsługa przeglądarek

  • 71
  • 79
  • 64
  • 16.4

Źródło

Więcej informacji znajdziesz w tym przewodniku po pełnoekranowym interfejsie API w MDN.

Selektor arkusza CSS :has()

Wybieram tylko selektor :has() w wersji Baseline 2023, który 19 grudnia pojawi się w przeglądarce Firefox 121. Ten selektor służy między innymi jako selektor nadrzędny, który umożliwia wybieranie elementu na podstawie jego zawartości. Na przykład można stosować różne kody CSS w zależności od tego, czy w elemencie znajduje się obraz.

Obsługa przeglądarek

  • 105
  • 105
  • 121
  • 15,4

Źródło

Więcej informacji znajdziesz w funkcji :has(): selektor rodziny.

Więcej funkcji, które pojawiły się w programie Baseline w tym roku

Inne funkcje, które wprowadziliśmy w programie bazowym w tym roku, to między innymi:

Wiele z tych funkcji osiągnęło interoperacyjność w ramach wspólnej pracy nad Interopem 2023. Ciekawe jest to, jak można wprowadzić funkcje w tym procesie i trafić w tryb Baseline jako od niedawna, aby stały się one powszechnie dostępne. Ułatwia to podejmowanie decyzji o tym, kiedy wdrożyć funkcje we własnych projektach.