FrontKon 24
Nowwwinky speciál: co je nového u prohlížečů?
note:
- frontendové nowwwinky otvírají naše pravidelné měsíční srazy, a to jak v Praze, tak v Brně
- jsou k vidění na YT kanále Frontendisti
Prohlížeče – aktuální stav
- Firefox 131
- vydán 1. října 2024
- Chrome 130
- vydán 9. října 2024
- Safari 18
- vydáno 21. září 2024
note:
- někdy je úroda chudší, jindy bohatší, ale celkově zažíváme tučná léta
Osnova
- nowwwinky: o co jde
- Baseline: podle čeho se orientovat
- výběr nowwwinek: co lze použít už nyní
Osnova
- nowwwinky: o co jde ✅
- Baseline: podle čeho se orientovat
- výběr nowwwinek: co lze použít už nyní
note:
- většinou není čas se jim věnovat do hloubky
- na to nebude čas ani dnes
- podíváme se nowwwinky, které se do prohlížečů dostaly v poslední době
- zejména CSS, téměř žádný JS (změňte případně lokál)
- ale hlavně na to, jak se v té záplavě vyznat => CanIUse
Interop
note:
- všechno to začalo iniciativou Interop: výrobci a hlavně vývojáři prohlížečů u jednoho stolu
Interop
note:
Každoroční srovnávací test, při kterém se všichni zástupci hlavních prohlížečů sejdou, aby odstranili největší problémy s interoperabilitou na webu.
zdroje
Baseline

note:
- norma, která shrnuje podporu vybraných prohlížečů.
- nezbaví nás testování přístupnosti, použitelnosti, výkonu nebo bezpečnosti.
- neřeší, zda funkce funguje
- na starších zařízeních a verzích prohlížečů
- s asistenčními technologiemi, jako jsou čtečky obrazovky
- v prohlížečích, které nejsou zahrnuty v definici Baseline
- neplést s účařím
- Anglicko-český slovník z roku 1971 toto heslo neobsahuje, Anglicko-český technický slovník z roku 1969 ano: základna (v kontextku rýsování)
- nowwwinky 6/23
- tip od Miriam Suzanne
- CanIUse výchoze zobrazuje % všech uživatelů, přičemž 3 % uživatelů je mimo sledování. Tj. nikdy se nedostanete nad 97% podporu.
- nastavte si All tracked users (všichni sledovaní)
- případně zapojte filtry a vylučte okrajové prohlížeče, např.: pod 0,5 % uživatelů
- samozřejmě záleží™ na situaci vašeho webu…
Baseline
-
Apple Safari (iOS, macOS)
-
Google Chrome (Android, desktop)
-
Mozilla Firefox (Android, desktop)
-
Microsoft Edge (desktop)
note:
- asi vás nepřeqapí které
- mě přeqapuje Edge, zřejmě úlitba Microsoftu…
Baseline



note:
- šedý: funkce s omezenou dostupností: zatím nejsou k dispozici ve všech prohlížečích
- modrý: funkce nově dostupné: fungují alespoň v nejnovější stabilní verzi každého ze základních prohlížečů
- zelený: široce dostupné funkce: souvisle podporované v každém ze základních prohlížečů po dobu přinejmenším 2,5 roku
- nyní to znamená od dubna 2022
- tyto štítky na MDN i CanIUse.com
Baseline

Baseline

Baseline

Baseline

Baseline
příklad: var()
- Firefox 31
- 22. července 2014
- Chrome 49
- 2. března 2016
- Safari 9.1
- 21. března 2016
- Edge 15
- 5. dubna 2017
note:
- Baseline 2017 (podporou Edge 15) „nově dostupné“ => pouze v nejnovějších verzích!
- ale „široce dostupné“ až 10/2019 => 30 měsíců; lze předpokládat, že nowwwinku lze používat bez větších obav na produkčních webech
- !!!zdá se to moc? podívejme, jak by tento přehled vypadalnpro něco dnes tak běžného, jako je SVG…(a další)
- IE6 byl vyvíjen 6 let a další 4 roky se čekalo na jeho konec
Baseline
příklad: <svg>
- Opera 8
- 19.dubna 2005
- Firefox 1.5
- 29. listopadu 2005
- Safari 3
- 26. října 2007
- Chrome 1
- 11. prosince 2008
- IE9
- 14. března 2011
- Edge 12
- 29. července 2015
note:
- poprvé jsem si obrázek v kódu napsal v roce 2007 v PSPadu a zobrazil v Opeře a tím to zhaslo na další 4 roky
- podpora v IE a Edge ještě nebyla 100% (nefungovaly animace, správných rozměrů se dosahovalo různými oklikami…), čili plná podpora až přechodem na Blink (15. ledna 2020)
- na MDN štítek Baseline najdete u konkrétních funkcí a vlastností
- pokud štítek nevidíte, znamená to, že funkce/vlastnost má plnou podporu ve všech prohlížečích (CSS3 a starší) nebo má naopak pouze částečnou podporu => není to 100%
- vždycky vycházejte ze svých dat: s jakými prohlížeči k vám uživatelé chodí a nakolik je nowwwinka klíčová pro použitelnost vašeho webu
- kontrolujte dvakrát pečlivěji, pokud jsou ve hře peníze
Baseline
note:
- status: seznam všech nowwwinek, lze filtrovat, vidíte datum široké dostupnosti a pokrytí v jednotlivých prohlížečích
- rozpracováno, pokrýv nowwwinky od ledna 23, do konce roku chtějí doplnit předchozí
- přehled přehled nowwwinek spadajících pod Baseline 2023, resp. 2024 – HTML, CSS i JS
- zdroje:
Verze CSS
- CSS1
- 1996
- CSS2, CSS2.1
- 1998
- CSS3
- 1999 (první návrhy)
note:
- CSS1 nyní neplatná, ale položila základy jazyka a princip oddělení formy od obsahu
- CSS3 slouží jako referenční bod pro návrh dalšího verzování
- vše co přišlo poté spadá pod obecné označní „moderní CSS“
Návrh verzování (RFC)
- CSS4
- vlastnosti a funkce představené cca 2013–2018.
- CSS5
- vlastnosti a funkce představené cca 2019–2024.
- Future/Next
- vlastnosti a funkce momentálně ve vývoji nebo navržené pro budoucí verze CSS mimo CSS5.
note:
- jak patrno, zavádí se zpětně, první úvahy již před 2 lety
- RFC (request for comments) – máte-li připomínky, ozvěte se!
- autoři si od roztřídění slibují jasnější rozlišení toho, co by měli vývojáři ovládat a znát
- zpřehlední se tak vzdělávání i požadavky na trhu práce
- přijetí nowwwinek bude snazší, bude patrné, které jsou hudbou budoucnosti a které jsou nezbytné
- marketing, vzbudit rozruch kolem CSS, které má obecně špatnou pověst
- It’s Time To Talk About “CSS5”
- souvislost/návaznost Baseline×Interops
- výzva k součinnosti (Nehlasuješ ve volbách? Tak si nestěžuj!)
- důvody proč to znovu zavést
- rozdíl oproti Baseline (neřeší implementaci do prohlížečů, nýbrž sleduje vývoj CSS jako jazyka)
Nowwwinky: výbor z díla CSSWG a W3C
note:
- CSSWG splácí dluhy z minulosti
- nowwwé CSS přebírá odpovědnost za HTML a JS
- HTML: díky :has() nemusím tolik sahat na HTML (přidávat třídy a měnit strukturu), abych si sáhl na věci
- JS: interakce (intersectionObserver => scroll driven animations, snap)
- nowwwinky berte jako soubor technik, jejichž kombinací se možnosti nesčítají, nýbrž násobí aneb kombinujte!
- always great grid
- kombinace nowwwinek přináší dechberoucí možnosti
:has()+ proměnné vlastnosti! (na základě :has změním hodnotu proměnné…)
Dialog
- prohlížeče
- CH37, FF98, SF15.4
- Baseline
2022 widely available
- widely available
- 14. 9. 2024
- nowwwinky
- 3/22, 9/22 (
:modal)
note:
zdroje:
Dialog
note:
- odesláním se dialog zavře a vyvolá se událost submit, aniž by se odesílala data nebo se formulář vymazal.
Cascade layers
- prohlížeče
- CH99, FF97, SF15.4
- Baseline
2022 widely available
- widely available
- 14. 9. 2024
- verze CSS
- CSS5
- nowwwinky
- 2/22, 3/22, 5/22, 10/22
Cascade layers
note:
zdroje
- Ondřej Žára, CSS Cascade Layers (EN) – Webexpo 2022
- CSS3 Tipy a Triky (NCZ), 19. dubna 2022
- Vzhůru dolů 24. listopadu 2022
- CSS Cascade Layers: budou vrstvy revolucí organizace stylů?
Subgrid
- prohlížeče
- CH117, FF71, SF16
- Baseline
2023 (newly available)
- widely available
- 12. 3. 2025
- verze CSS
- CSS4
- nowwwinky
- 5/22, 10/22, 9/23
note:
- nebudete ho pořebovat pořád, ale velmi užitečný, když na to přijde
zdroje
- Manuel Matuzović, #100DaysOfMoreOrLessModernCSS:
Subgrid
Container queries
- prohlížeče
- CH106, FF110, SF16
- Baseline
2023 (newly available)
- widely available
- 14. 8. 2025
- verze CSS
- CSS5
- nowwwinky
- 10/22, 11/22, 3/23 (style queries)
note:
- přesněji: size container queries, další v pořadí jsou style container queries
- na složitějších projektech, kde tutéž komponentu zobrazujete v různých kontextech bude velmi užitečný
zdroje
- Kateřina N. Voláková, Container Queries vs. Media Queries
- Style Queries v CSS: zeptejte se na styl prvku
Atribut inert
- prohlížeče
- CH102, FF112, SF15.5
- Baseline
2023 (newly available)
- widely available
- 11. 10. 2025
note:
- inertní = netečný, prvek (a jeho potomstvo) jsou zbaveny veškeré interakce
- pozor, nutno dostylovat, jak se tento prvek má zobrazit, vzhled zůstává zachován
- často pro prvky mimo obrazovku
- užitečné při zušlechťování přístupnosti vašeho webu, inertní, tj. netečné prvky se vyjmou ze stromu přístupnosti
zdroje
color(), color-mix()
- prohlížeče
- CH111, FF113, SF15 (SF16.2
color-mix()) - Baseline
2023 (newly available)
- widely available
- 9. 11. 2025
- verze CSS
- CSS5
- nowwwinky
- 3/23, 11/23 (relative colour syntax)
note:
- pomocí fce
color()nastavíme barevný prostor - fce
color-mix()nepřeqapivě míchá barvy
color(), color-mix()
button {
color: var(--primary);
background-color: color-mix(in hsl, var(--primary), transparent 60%);
}
note:
- pozor na zvolený barevný prostor, dávají různé výsledky
- výchozím prostorem je
oklab, dává konzistentí výsledky
- výchozím prostorem je
color-mix()si poradí i scurrentColor!
zdroje
Responsivní video
- prohlížeče
- CH120, FF120, SF3.1
- Baseline
2023 (newly available)
- widely available
- 29. 5. 2026
note:
zdroje
Responsivní video
<video controls>
<source src="peformance-large.webm" media="(min-width: 800px)" />
<source src="peformance.webm" />
<p>Bohužel, v tomhle prohlížeči video nepřehraješ.
Ale můžeš si ho
<a
href="performance-large.webm"
download="Máchalova hustá přednáška"
>stáhnout</a>.
</p>
</video>
note:
- lze použít okamžitě, prohlížeče co si neporadí s media query, sahnou po dalším prvku
<source>, čili uživatel dostane týž zážitek jako dosud
align-content pro blokové prvky
- prohlížeče
- CH120, FF117, SF17.2
- Baseline
2024 (newly available)
- widely available
- 11. 6. 2026
- verze CSS
- CSS4
align-content pro blokové prvky
note:zdroje
linear() easing function
- prohlížeče
- CH113, FF112, SF17.2
- Baseline
2024 (newly available)
- widely available
- 11. 6. 2026
- nowwwinky
- 11/24
linear() easing function
.animak {
animation-timing-function: linear(0, 0.25 75%, 1);
}
note:
- animační funkce s hladkým průběhem zatím v CSS nelze dosáhnout
- GSAP zatím nenahradí, ale trend je zřejmý
linear()nahrazuje hladkou křivku rovnými úsečkami- princip 96úhelník ~ kruh
CSS nesting
- prohlížeče
- CH120, FF117, SF17.2
- Baseline
2024 (newly available)
- widely available
- 11. 6. 2026
- verze CSS
- CSS5
- nowwwinky
- 4/23, 9/23, 2/24
CSS nesting
.card {
font-size: 1rem;
> img {
border: 4px solid silver;
}
@media (width >= 1024px) {
&.large {
font-size: 1.25rem;
}
}
}
note:
zdroje
:has()
- prohlížeče
- CH105, FF121, SF15.4
- Baseline
2024 (newly available)
- widely available
- 19. 6. 2026
- verze CSS
- CSS5
- nowwwinky
- 4/22, 9/22, 10/22, 6/24
note:
- ze začátku rozpaky a pak se roztrhl pytel
zdroje
- Petr Koláček - CSS
:haspower - Jhey Tompkins, :has(): the family selector
- Jen Simmons, Using :has() as a CSS Parent Selector and much more
- Manuel Matuzović, #100DaysOfMoreOrLessModernCSS
:has()
body:has(:modal) {
filter: blur(5px);
}
label:has(+ input:user-invalid) {
color: crimson;
}
:has()
:has()
note:
:has()
/* more then 6 cards */
.container:has(> .card:nth-child(7n)) {
--text: "There is more then 6 cards!"
}
/* element before .active */
.card:has(+ .active) {
background-color: var(--colorSecondary700);
}
/* has no child */
.container:has(> .card:empty) {
--text: "There is an empty card!"
}
popover
- prohlížeče
- CH114, FF125, SF17
- Baseline
2024 (newly available)
- widely available
- 16. 10. 2026
- nowwwinky
- 6/23
popover
note:
- GitHub implementoval jako progressive enhancement, ušetřili tím 1000 řádek kódu

- první krok mnohem širšího záměru, dalším krokem je anchor positioning
Matematické fce v CSS
note:
- ve 4 várkách:
sin(), cos(), tan(), asin(), acos(), atan(), atan2()
- prohlížeče
- CH111, FF108, SF15.4
- Baseline
2023 (newly available)
- widely available
- 13. 9. 2025
- verze CSS
- CSS5
- nowwwinky
- 5/23, 6/23
note:
zdroje
- Bramus, Trigonometric functions in CSS
- Ana Tudor, Möbius strip with CSS trigonometric functions
- Una Kravets, Kruhové menu
sin(), cos(), tan(), asin(), acos(), atan(), atan2()
pow(), sqrt(), hypot(), log(), exp()
- prohlížeče
- CH120, FF118, SF15.4
- Baseline
2023 (newly available)
- widely available
- 7. 6. 2026
- verze CSS
- CSS5
round(), mod(), rem()
- prohlížeče
- CH125, FF118, SF15.4
- Baseline
2023 (newly available)
- widely available
- 17. 12. 2026
- verze CSS
- CSS5
abs(), sign()
- prohlížeče
- CH??, FF118, SF15.4
- Baseline
limited availability
- verze CSS
- CSS5
note:
- Chrome na štíru s matematikou?
Hm, a co z toho? 🤔
- HTML a CSS přebírají kontrolu nad tím, co jsme si navykli suplovat pomocí JS.
- Nepřemýšlejme o nowwwinkách jednotlivě, v kombinaci je síla.
- CSS is the new JS 😉
note:
- to je dobře, JS má řešit aplikační logiku atp.
- nativní řešení je výhodnější obstará všecko to, na co se zapomíná (UX, a11y) – ne 100%!
- kombinací se potenciál násobí
- míněno jako (staro)nová sexy věc
Hm, a co z toho? 🤔
- HTML a CSS přebírají kontrolu nad tím, co jsme si navykli suplovat pomocí JS.
- Nepřemýšlejme o nowwwinkách jednotlivě, v kombinaci je síla.
- CSS je sexy ❤️ HTML taky 🤓
note:
- Co je lepší než sex? Dva sexy.
Díky
Slídy co nevidět k dispozici, případně se ozvěte na kout.kt@gmail.com
note:
- nesestříhaná verze
- stavte se za Koutem do řečnického koutku
- na viděnou 13/11 na srazu Frontendistů
note:
- konec prezentace
Dodatky
Matematické funkce
1. várka
sin()- vrací sinus čísla
cos()- vrací kosinus čísla
tan()- vrací tangens čísla
asin()- vrací arkussinus čísla
acos()- vrací arkuskosinus čísla
atan()- vrací arkustangens čísla
atan2()- vrací úhel mezi kladnou osou x a body [B,A], které jsou arugumenty funkce
2. várka
pow()- vrací základ umocněný na mocninu čísla
sqrt()- vrací druhou odmocninu čísla
hypot()- vrací druhou odmocninu součtu čtverců argumentů
log()- vrací logaritmus čísla
exp()- vrací
eumocněné na mocninu čísla
3. várka
round()- vrací zaokrouhlené číslo na základě strategie zaokrouhlení.
mod()- vrací zbytek po dělení jednoho čísla druhým, vždy přebírá znaménko dělitele.
rem()- vrací zbytek po dělení jednoho čísla druhým, vždy přebírá znaménko dělence
note:
round()- 3 parametry: směr zaokrouhlení, hodnota k zaokrouhlení, zaokrouhlovací interval
- Ana Tudor, sizing box for border pattern
- zaokrouhlí velikost boxu tak, aby obsahoval celočíselný počet opakování vzoru na pozadí plus polovinu velikosti vzoru
4. várka
abs()- vrací absolutní hodnotu čísla
sign()- vrací znaménko čísla

