Kapau te u vahevahe 'a e ngaahi evolutions 'o e CSS ki he ngaahi fa'ahinga, kuo tau hiki mama'o atu 'i he ngaahi 'aho na'a tau kole pe ai 'a e border-radius ke ongo'i 'oku tau mo'ui 'i he kaha'u. ‘Oku tau lolotonga mo’ui ‘i ha momeniti ‘oku ‘omai ai ‘e he tu’unga ‘a e ngaahi me’angaue ‘oku ‘ikai ko e tweak pe ‘a e layer ‘o e sio, ka ‘oku ne faka’uhinga’i fakalukufua ‘a e founga ‘oku tau fa’u ai ‘a e ngaahi interfaces. Na’a ku pehee ‘oku ‘ikai lava ke topped ‘a e lahi ‘o e ngaahi features ‘e fakaha ‘i he 2024. Kuo te’eki ai ke u hala fiefia pehē.
Ko e timi Chrome ‘a e “CSS takai 2025” ‘oku ‘ikai ko ha lisi pe ‘o e ngaahi me’a; ko e manifesto ia ki ha uepi malohi, fakafonua. Ko ha taha kuo ne fakamoleki ha ta’u ‘e ua ‘i hono fakatohi ‘o e ngaahi evolutions ko ‘eni — mei hono faka’uhinga’i ‘o e ngaahi kuonga “CSS5” ki he ngaahi intricacies ‘o e ngaahi me’angaue fokotu’utu’u fakaonopooni — ‘Oku ou ‘ilo’i ‘oku ou sio ki he takai ‘o e ta’u ni mo ha ongo’i fiefia lahi. 'Oku tau sio ki ha liliu ki he "Optimized Ergonomics" mo e "Ngaahi fetu'utaki 'o e to'utangata hoko mai" 'oku ne faka'ata kitautolu ke tuku 'a e tau'i 'o e code pea kamata ke sculpting 'a e ngaahi interfaces 'i honau tu'unga fakanatula.
'I he fakamatala ko 'eni, 'e lava ke ke ma'u ha vakai kakato ki he ngaahi fotunga standout mei he lipooti 'a e Chrome, vakai'i 'o fakafou 'i he matasio'ata 'o 'eku ngaahi 'ahi'ahi kimui ni mai mo e ngaahi 'amanaki ki he kaha'u 'o e tu'unga.
Ko e Konga Fakafepaki: Faka'osi, Ko ha Fili Customizable Fakafonua .
'I he ngaahi ta'u, kuo mau falala ki he ngaahi laipeli JavaScript mamafa ke style dropdowns, ko ha “palopalema 'o e ngaahi hongofulu'i ta'u motu'a” kuo faifai pea solova 'e he peletifoomu. Hange ko ia na'a ku fakaikiiki 'i he'eku lue loloto ki he hisitōlia 'o e customizable fili (mo e ngaahi fakamatala fekau'aki), kuo hoko 'eni ko ha hala loloa 'oku kau ai 'a e Open UI, bikeshedding ngaahi hingoa hange ko e
Ko e tanaki atu fakaofo ke faka'ata 'a e koloa'ia 'i loto 'i he ngaahi fili, hange ko e ngaahi 'ata pe ngaahi fuka, ko ha me'a fakafiefia lahi. Te tau lava 'o fa'u 'a e ngaahi fa'ahinga kotoa pe 'o e ngaahi fili 'i he ngaahi 'aho ni:
Faka'ali'ali: Na'a ku fa'u ha faka'ali'ali Poké-fakafiefia 'oku fakahaa'i ai 'a e founga 'e lava ke clone 'e he 'elemeniti fo'ou
Vakai ki he Peni Ko ha fili customizable mo e ngaahi 'ata 'i loto 'i he ngaahi fili mo e fili [forked] 'e he utilitybend.
Demo: Ko ha vakai fakalukufua ki he styling 'o e fili 'aki 'a e pseudo-elemeniti pe.
Vakai ki he Peni Ko ha fili 'oku lava ke fakalelei'i 'aki 'a e ngaahi 'elemeniti loi pe [forked] 'e he utilitybend.
Demo: Pe te ke lava 'o teke ia hake ha notch mo e demo fili Menu ko 'eni 'o faka'aonga'i 'a e optgroups.
Vakai ki he Peni Ko ha Menu Fili mo'oni mo e ngaahi kulupu opt [forked] 'e he utilitybend. Ko e fotunga ko 'eni pe 'oku ne faka'ilonga'i ha liliu lahi 'i he founga te tau langa ai 'a e ngaahi foomu, fakasi'isi'i 'a e ngaahi fakafalala mo e mo'ua fakatekinikale. Ko e Ngaahi Faka'ilonga 'o e Takainga Tohi Mo e Mate 'o e Carousel 'o e JavaScript . Ko hono fa'u 'o e carousels kuo hoko ia 'i he hisitolia ko ha poini 'o e fepakipaki 'i he vaha'a 'o e kau developers mo e kau fakatau. 'Oku 'ofa 'a e kau fakatau 'iate kinautolu, 'Oku manavasi'i 'a e kau developers 'i he JavaScript 'oku fie ma'u ke nau lava 'o ma'u mo fakahoko. Ko e a'u mai 'a e ::takai-faka'ilonga mo e ::takai-button() pseudo-'elemeniti 'oku ne liliu 'a e dynamic ko 'eni 'o faka'aufuli. 'Oku faka'ata 'e he ngaahi me'a ko 'eni ke tau fa'u 'a e ngaahi toti 'o e folau mo e ngaahi button 'o e takai 'o e ma'a 'aki 'a e CSS, fehokotaki fakafonua ki he koniteina 'o e takai. Hange ko 'eku tohi 'i he'eku blog, ko e 'Ofa 'eni 'i he 'uluaki slaid. Ko e malava ke fa'u ha slider 'oku ngaue kakato, 'oku lava ke ma'u 'o 'ikai ha laine 'e taha 'o e JavaScript 'oku 'ikai ko e faingofua pe; ko ha ikuna ia ki he fakahoko. 'Oku 'i ai ha ngaahi hoha'a 'o e accessibility 'o takatakai 'i he fotunga ko 'eni, pea neongo 'oku 'aonga 'a e ngaahi me'a ko 'eni, mahalo 'e 'i ai ha founga ma'atautolu kau developers ke ngaue. Ko e me'a lelei, 'Oku 'ai 'e he ngaahi liliu kotoa ko 'eni 'o e UI ke faingofua ange 'aupito ia 'i he manipulation DOM angamaheni mo e toho takai holo 'a e ngaahi faka'ilonga aria, ka 'oku ou digress... 'E lava ke tau fakakulupu 'otometiki 'a e ngaahi faka'ilonga 'i he taimi ni 'o faka'aonga'i 'a e takai-faka'ilonga-kulupu mo e sitaila 'o e ngaahi buttons 'o faka'aonga'i 'a e tu'unga taula ke fokotu'u kinautolu 'i he feitu'u tonu 'oku tau fie ma'u.
.kaloseli { 'over-x: 'otometiki; takai-faka'ilonga-kulupu: hili; /* Fa'u 'a e koniteina ki he ngaahi toti */
/* Fa'u 'a e ngaahi button */ &:: takai-pātene ('i he laine-faka'osinga),&:: takai-button ('i he laine-kamata) { kakano: " "; tuʻunga: fakaʻaufuli; /* Ngaue'aki 'a e tu'unga taula ke fakasenita kinautolu */ tu'unga-taula: --kalosi; 'olunga: taula(lotoloto); }
/* Fa'u 'a e ngaahi faka'ilonga 'i he fanau */ div { &::takai-faka'ilonga { kakano: " "; laulahi: 24px; kauʻāfonua-ʻata: 50%; fakaʻilonga: fakaʻilonga; } /* Faka'ilonga'i 'a e faka'ilonga 'oku ngaue */ &::takai-faka'ilonga:taumu'a-lolotonga { puipuituʻa: hinehina; } } }
Demo: Ko 'eku 'ahi'ahi 'o fa'u ha carousel ma'a mei he HTML mo e CSS, 'o faka'aonga'i 'a e tu'unga taula ke fokotu'u 'a e ngaahi buttons.
Vakai ki he Peni Kaloseli HTML ma'a mo e CSS [fakafoki] 'e he utilitybend.
Demo: Ko ha Webshop slider slick remake 'o faka'aonga'i 'a e attr() ke toho 'a e ngaahi 'ata 'o e muimui'i dynamically ki he ngaahi faka'ilonga.
Vakai ki he peni Webshop 'o e 'ata 'o e 'ata 'i he CSS [faka'auha] 'e he utilitybend. Ngaahi Fehu'i 'a e Siteiti: Me'a Pipiki Pipiki? Snappy Me'a Na'e Snappy? 'I ha taimi fuoloa, Kuo 'ikai ke tau ma'u 'a e malava ke 'ilo'i pe ko ha “me'a pipiki 'oku pipiki” pe kapau ko ha “me'a snappy 'oku snapped” 'o 'ikai ke falala ki he hacks 'o e IntersectionObserver. Na'e fakafe'iloaki 'e he Chrome 133 'a e ngaahi fehu'i 'o e scroll-state, 'o faka'ata ai ke tau fehu'i 'a e ngaahi tu'unga ko 'eni declaratively. 'I hono fokotu'u 'o e koniteina-fa'ahinga: takai-tu'unga, 'e lava ke tau style 'a e fanau 'i he taimi ni 'o makatu'unga 'i he pe 'oku nau piki, snapped, pe 'oku 'afungi. Ko ha fakalakalaka lahi 'eni 'o e “tu'unga lelei 'o e mo'ui” 'a ia na'a ku tatali vēkeveke ki ai talu mei he 'aho CSS 2023. Kuo a'u 'o evolve lahi talu mei he taimi 'oku tau lava foki 'o sio ki he fakahinohino 'o e takainga tohi, 'ofa! Ki ha fakatātā faingofua: te tau lava ʻo fakaʻaongaʻi fakaʻosi ha ʻata ki ha ʻuluʻi tohi ʻi he taimi pē ʻoku piki moʻoni ai ki he tumuʻaki ʻo e viewport: .'ulu'i-koniteina { koniteina-fa'ahinga: takai-tu'unga; tuʻunga: pipiki; ʻi ʻolunga: 0;
'ulu'i tohi { liliu: puha-'ata 0.5s faingofua-ki tu'a; /* 'Oku vakai'i 'e he fehu'i 'a e tu'unga 'o e koniteina */ @koniteina takai-tu'unga(pipiki: 'i 'olunga) { puha-'ata: rgba (0, 0, 0, 0.6) 0px 12px 28px 0px; } } }
Demo: Ko ha 'ulu'i tohi pipiki 'oku ne faka'aonga'i pe ha 'ata 'i he taimi 'oku pipiki mo'oni ai.
Vakai ki he ngaahi 'ulu'i tohi 'o e Pen Sticky mo e fehu'i 'o e takai-tu'unga, vakai'i pe 'oku pipiki 'a e 'elemeniti pipiki [forked] 'e he utilitybend.
Demo: Ko ha lisi Pokémon-kaveinga 'oku ne faka'aonga'i 'a e ngaahi fehu'i 'o e scroll-state fakataha mo e tu'unga 'o e taula ke hiki ha fakava'e 'i he 'ulungaanga 'oku lolotonga snapped.
Vakai ki he fehu'i 'a e Peni Takainga-tu'unga ke vakai'i pe ko e ha 'a e me'a 'oku snapped 'aki 'a e CSS, Pokemon 'a e founga [forked] 'e he utilitybend. Ergonomics fakalelei'i: Fakakaukau 'i he CSS Ko e "Optimized Ergonomics" konga 'o e CSS takai 'oku ne fakahaa'i 'a e ngaahi me'a 'oku ne 'ai 'etau ngaahi ngaue ke toe 'ilo'i ange. 'Oku tu'u mavahe 'a e ngaahi fotunga 'e tolu ko e transformative ki he founga 'oku tau tohi 'a e logic:
if() Statements'Oku tau faifai pea ma'u 'a e ngaahi tu'unga 'i he CSS. 'Oku ngaue 'a e if() ngaue hange ha ngaue ternary ki he stylesheets, 'o faka'ata kitautolu ke tau faka'aonga'i 'a e ngaahi mahu'inga 'o makatu'unga 'i he mitia, poupou, pe ngaahi fehu'i 'o e sitaila 'i he laine. 'Oku fakasi'isi'i 'e he me'a ni 'a e fie ma'u ki he verbose @media poloka ki he ngaahi liliu 'o e koloa 'e taha. @function functionsWe lava ke faifai pea hiki ha ngaahi logic ki ha feitu'u kehe, 'o iku ai ki ha ngaahi faile ma'a ange, ko ha tu'unga mo'oni 'o e mo'ui 'a e fotunga. sibling-index() mo e sibling-count()Ko e ngaahi ngaue ko 'eni 'o e 'akau-lau 'oku ne solova 'a e 'isiu 'o e ngaahi faka'ata fakaofo pe ngaahi me'a styling 'o makatu'unga 'i he lahi 'o e lisi. Hange ko ia na'a ku fakatotolo'i 'i he Styling 'a e ngaahi tokoua mo e tuofāfine mo e CSS kuo te'eki ai ke faingofua ange, 'Oku fakangata 'e he me'a ni 'a e fie ma'u ke hard-code 'a e ngaahi koloa angamaheni (hange ko e --index: 1) 'i he'etau HTML.
Fakatātā: Fikaʻi ʻo e Ngaahi Fakahokohoko . ʻOku lava ke tau tohi he taimí ni ha ngaahi fomula fakafika nounou. Hangē ko ʻení, ʻoku hoko ʻa hono fakaʻohovaleʻi ha ʻanimasi ki he ngaahi kaati ʻoku hū ki he screen ko ha meʻa siʻisiʻi: .kaati-koniteina > * { animation: fakahaa'i 0.6s faingofua-'i tu'a ki mu'a; /* 'Ikai toe 'i ai ha ngaahi kehekehe --index tohi lēsoni! */ fakamo'ui-fakatoloi: calc (tokoua-faka'ilonga () * 0.1s); }
Naʻe aʻu ʻo u ʻahiʻahiʻi hono fakaʻaongaʻi ʻo e ngaahi ngāue ko ʻení fakataha mo e trigonometry ke fokotuʻu ʻa e ngaahi meʻá ʻi ha siakale haohaoa ʻo ʻikai ha JavaScript.
Demo: Fakaofo 'a e ngaahi faka'ata 'o e kaati dynamically.
Vakai ki he ngaahi kaati Peni Stagger ʻo fakaʻaongaʻi ʻa e tokoua-fakaʻilonga () [fakaʻilongaʻi] ʻe he utilitybend.
Demo: Tuku 'a e ngaahi me'a 'i ha siakale haohaoa 'o faka'aonga'i 'a e tokoua-tuofefine-index, tokoua-tuofefine-lau, mo e CSS fo'ou @ngaue 'a e fotunga.
Vakai ki he Peni Ko e siakale 'o faka'aonga'i 'a e tokoua-faka'ilonga, tokoua-lau mo e ngaahi ngaue [forked] 'e he utilitybend. Ko 'eku Lisi 'o e CSS To-Do: Ngaahi me'a 'oku 'ikai lava ke u tatali ke feinga Lolotonga ‘eku femo’uekina ‘i he sculpting ‘a e ngaahi fili mo e ngaahi liliu, ‘Oku fonu ‘a e lipooti “CSS Wrapped 2025” ‘aki ‘a e ngaahi me’a lelei kehe ‘oku te’eki ke u ma’u ‘a e faingamalie ke tutu ‘i he CodePen ‘i he taimi ni. ʻOku maʻolunga ʻeni ʻi heʻeku lisí ki heʻeku ngaahi ʻahiʻahi hokó: Ngaahi Fehu'i 'o e Koniteina Taula Na'a ku faka'aonga'i 'a e CSS Taula Tu'unga ki he ngaahi button 'i he'eku faka'ali'ali 'o e carousel, ka 'oku faka'ilonga'i 'e he “CSS Takai” ha .evolution 'o e me'a ni: Ngaahi Fehu'i 'o e Koniteina Taula. ‘Oku solova ‘e he me’a ni ha palopalema kuo tau ma’u kotoa ‘i he ngaahi me’angaue: kapau ‘oku flip ‘e he browser ‘a e tooltip mei ‘olunga ki lalo koe’uhi ko e ngaahi fakangatangata ‘o e feitu’u, ‘oku fa’a nofo ‘a e “fanafana” ‘o tuhu ki he hala. 'I he ngaahi fehu'i 'o e koniteina taula (@koniteina taula(fallback: flip-poloka)), 'e lava ke tau style 'a e 'elemeniti 'o makatu'unga 'i he tu'unga fallback na'e fili mo'oni 'e he browser. Ngaahi Kulupu Liliu Vakai Nested View Transitions kuo hoko ia ko ha liliu, ka na'a nau ha'u mo ha fefakatau'aki pau: na'a nau flattened 'a e 'akau 'o e 'elemeniti, 'a ia na'e fa'a maumau'i 'a e 3D liliu pe 'overflow: clip. Naʻá ku maʻu maʻu pē ha ongo ʻoku ʻi ai ha meʻa ʻoku puli mei ai, pea mahalo ko e tali pē ʻeni. 'I hono faka'aonga'i 'o e view-liliu-kulupu: ofi taha, 'e lava ke tau faifai pea nest 'a e ngaahi kulupu liliu 'i loto 'i he taha mo e taha. 'Oku faka'ata 'e he me'a ni ke tau tauhi 'a e ngaahi ola 'o e clipping pe 3D rotations lolotonga ha liliu — ko ha me'a na'e 'ikai ke lava kimu'a koe'uhi na'e hoisted 'a e ngaahi 'elemeniti 'o a'u ki he tu'unga 'o e tumutumu. .kaati img { vakai-liliu-hingoa: 'ata; vakai-liliu-kulupu: ofi taha; /* Tauhi ia ke nested! */ }
Taipe mo e Ngaahi Fotunga . Faka'osi, 'Oku itching 'a e ergonomist 'iate au ke feinga Text Box Trim, 'a ia 'oku tala'ofa ke to'o 'a e whitespace fakatupu 'ita ko ia 'i 'olunga mo lalo 'i he kakano 'o e tohi ('a e taki) ke a'usia faka'osi 'a e fakatonutonu fakahangatonu haohaoa. Pea ki he tafa'aki fakatupu, tuliki-fotunga mo e fotunga() ngaue 'oku fakaava 'a e ngaahi fokotu'utu'u 'ikai fakatafa'aki, 'o faka'ata 'a e “squaricles” mo e ngaahi hala faingata'a 'oku nau tali ki he ngaahi kehekehe 'o e CSS. Ko hono lea’aki ia, ‘oku ‘ikai keu lava ‘o tatali ke ma’u ha tisaini fonu ‘i he squircles! Ko ha Kaha‘u Fakatu‘amelie 'Oku tau fakamo'oni ki ha mamani 'oku hoko ai 'a e CSS 'o malava ke ne tokanga'i 'a e logic, tu'unga, mo e ngaahi fetu'utaki faingata'a na'e kau kimu'a ki he JavaScript. Ngaahi me'a hange ko e moveBefore (fakatolonga 'a e tu'unga DOM ki he iframes/vitio) mo e attr () ('o faka'aonga'i 'a e ngaahi fa'ahinga 'i he tafa'aki 'o e ngaahi aho ki he ngaahi lanu mo e grids) 'oku toe sima'i 'a e mo'oni ko 'eni. Lolotonga e ni'ihi 'o e ngaahi me'a ko 'eni 'oku lolotonga 'ahi'ahi'i pe pau ki he Chrome, 'Oku 'ikai ke faka'ikai'i 'a e ivi. Kuo pau ke tau 'amanaki ki he hokohoko atu 'o e poupou 'i he ngaahi browsers kotoa pe 'o fakafou 'i he ngaahi fokotu'utu'u hange ko e Interop ke fakapapau'i 'oku hoko 'a e ngaahi malava ko 'eni ko e makatu'unga. Ko e lea ko ia, 'Oku mahu'inga tatau pe 'a e ma'u 'o e ngaahi misini browser mo hono ma'u 'o e ngaahi me'a faka'ofo'ofa kotoa pe ko 'eni 'i he “Chrome 'uluaki”. Ko e ngaahi me'a fo'ou ko 'eni 'oku fie ma'u ke alea'i, tinkered mo, mo sivi'i kimu'a pea toki tu'uta 'i he browsers. Ko ha momeniti fakaofo ia ke hu ki he CSS. ʻOku ʻikai ke tau kei sitailaʻi pē ʻa e ngaahi tohí; 'oku tau crafting 'a e ngaahi polokalama malohi, ergonomic, mo e malohi 'aki ha me'angaue fakafonua 'oku malohi ange 'i ha toe taimi. Tau hoko atu mo e kuonga fo’ou ko ‘eni pea fakamafola ‘a e ongoongo. Ko e CSS Takai 'eni!