ʻI he taʻu ʻe 15 nai kuohilí, ne u ngāue ʻi ha kautaha ʻa ia ne mau langa ai ha ngaahi polokalama maʻá e kau fakafofonga fefonongaʻakí, kau ngāue ʻi he malaʻe vakapuná, mo e ngaahi kautaha vakapuná. Na'a mau langa foki 'emau fa'unga 'i loto 'i he fale ki he ngaahi konga 'o e UI mo e ngaahi malava 'o e app peesi 'e taha. Naʻe ʻi ai ʻemau ngaahi konga ki he meʻa kotoa pē: ngaahi malaʻe, ngaahi pātene, ngaahi tab, ngaahi ʻatakai, ngaahi tepile fakamatala, ngaahi menu, ngaahi datepickers, ngaahi fili, mo e ngaahi fili lahi. Na'e a'u 'o mau ma'u ha konga div. Na'e lelei 'aupito 'etau konga div 'i he founga, na'a ne faka'ata kimautolu ke fai 'a e ngaahi tuliki takai 'i he ngaahi browsers kotoa pe, 'a ia, tui pe 'ikai, na'e 'ikai ko ha me'a faingofua ke fai 'i he taimi ko ia.

Na'e fakahoko 'etau ngaue 'i ha taimi 'i hotau hisitōlia 'i he taimi na'e vakai ai 'a e JS, Ajax, mo e HTML malohi ko ha liliu na'a ne 'omi kitautolu ki he kaha'u. Fakafokifā, te tau lava ʻo fakafoʻou ha peesi dynamically, maʻu ha fakamatala mei ha server, pea fakaʻehiʻehi mei he fie maʻu ke folau ki he ngaahi peesi kehe, ʻa ia naʻe sio ki ai ʻoku tuai mo ulo ha tapafā hinehina lahi ʻi he screen ʻi he vahaʻa ʻo e ongo peesi. Na'e 'i ai ha kupu'i lea, na'e ngaohi ke manakoa 'e Jeff Atwood (ko e tokotaha na'a ne fokotu'u 'a e StackOverflow), 'a ia na'e lau: “Ko ha polokalama pē ‘e lava ke tohi ‘i he JavaScript ‘e faifai pē ‘o tohi ‘i he JavaScript.”— Jeff Atwood .

Kiate kimautolu ʻi he taimi ko iá, naʻe ongo ʻeni ʻo hangē ha loto-toʻa ke ʻalu moʻoni ʻo faʻu ʻa e ngaahi polokalama ko iá. Naʻe ongo ia ʻo hangē ha fakangofua palanikete ke fai ʻa e meʻa kotoa pē mo JS. Ko ia na’a mau fai ‘a e me’a kotoa pe mo JS, pea na’e ‘ikai ke mau fu’u vahe’i ha taimi ke fakatotolo’i ha ngaahi founga kehe ‘o e fai ‘o e ngaahi me’a. Na’e ‘ikai ke mau ongo’i mo’oni ‘a e fakalotolahi ke ako totonu ‘a e me’a ‘e lava ‘e he HTML mo e CSS. Na’e ‘ikai ke mau ‘ilo’i mo’oni ‘a e uepi ko ha tu’unga app ‘oku fakalakalaka ‘i hono kakato. Na'a mau vakai lahi taha ki ai ko ha me'a na'a mau fie ma'u ke ngaue takai holo, tautautefito ki he taimi 'oku hoko mai ai ki he poupou 'o e browser. Te tau lava pe 'o lī atu ha JS lahi ange ki ai ke fakahoko 'a e ngaahi me'a. Naʻe mei tokoniʻi au ʻe heʻeku vaheʻi ha taimi ke ako lahi ange fekauʻaki mo e founga ʻoku ngāue ai ʻa e uepí mo e meʻa naʻe maʻu ʻi he peletifōmú? Ko e mo’oni, mahalo na’e mei lava pe keu tafi ha fu’u code na’e ‘ikai ke fiema’u mo’oni. Ka, ʻi he taimi ko iá, mahalo ʻoku ʻikai ke fuʻu lahi pehē. 'Oku ke sio, na'e 'aonga 'aupito 'a e ngaahi faikehekehe 'o e browser 'i he taimi ko ia. Ko ha taimi 'eni na'e kei pule'i ai 'e he Internet Explorer 'a e browser, 'i he Firefox ko e sekoni ofi, ka 'oku kamata ke mole 'a e vahevahe 'o e maketi koe'uhi ko e vave 'a e ma'u 'e he Chrome 'a e manakoa. Neongo na'e 'ikai fu'u lelei 'a e Chrome mo e Firefox 'i he'enau malie'ia 'i he ngaahi tu'unga mo'ui 'o e uepi, na'e 'uhinga 'a e ngaahi 'atakai 'oku lele ai 'etau ngaahi polokalama na'e pau ke mau poupou'i 'a e IE6 'i ha taimi loloa. Na'a mo e taimi na'e faka'ata ai ke mau poupou'i 'a e IE8, Na'e kei pau pe ke mau fehangahangai mo e ngaahi faikehekehe lahi 'i he vaha'a 'o e browsers. 'Ikai ngata ai, ka ko e uepi 'o e taimi na'e 'ikai ke ma'u 'e he ngaahi malava lahi ko ia na'e langa tonu ki he tu'unga.

Fakavavevave atu ki he 'aho ni. Kuo liliu lahi ‘aupito ‘a e ngaahi me‘á. ʻOku ʻikai ngata pē ʻi heʻetau maʻu ha ngaahi malava ko ʻení ʻo lahi ange ʻi ha toe taimi kimuʻa, ka kuo tupulaki foki mo e vave ʻo ʻenau maʻú. Tuku muʻa ke u toe ʻeke atu leva ʻa e fehuʻí: ʻE tokoni atu nai hoʻo vaheʻi ha taimi ke ako lahi ange fekauʻaki mo e founga ʻoku ngāue ai ʻa e uepí mo e meʻa ʻoku maʻu ʻi he peletifōmú kiate koe he ʻaho ní? ʻIo moʻoni. Ko e ako ke mahino mo faka'aonga'i 'a e tu'unga 'o e uepi he 'aho ni 'oku ne 'ai koe 'i ha lelei lahi 'i he kau developers kehe. Pe 'oku ke ngaue ki he fakahoko, accessibility, tali, kotoa 'o kinautolu fakataha, pe ko hono fakafolau atu pe 'o e ngaahi fotunga 'o e UI, kapau 'oku ke fie fai ia ko ha 'enisinia fatongia, 'ilo'i 'a e ngaahi me'angaue 'oku ma'u kiate koe 'oku tokoni ia ke ke a'usia ho'o ngaahi taumu'a vave ange mo lelei ange. Ko e Ngaahi Meʻa ʻe Niʻihi ʻE ʻIkai Te Ke Toe Fiemaʻu Ha Laipeli Ki Ai ‘I hono ‘ilo‘i ‘a e me‘a ‘oku poupou‘i ‘e he ngaahi browser he ‘aho ní, ko e fehu‘í leva: Ko e hā te tau lava ‘o ditch? 'Oku tau fie ma'u ha konga div ke fai 'a e ngaahi tuliki takai 'i he 2025? Ko e mo‘oni, ‘oku ‘ikai ke tau pehē. Kuo poupou'i 'a e koloa 'o e border-radius 'e he ngaahi browser kotoa pe 'oku lolotonga faka'aonga'i 'i he ta'u 'e 15 tupu 'i he taimi ko 'eni. Pea 'oku vave mai foki 'a e tuliki-fotunga, ki he ngaahi tuliki fancier. Tau vakai ki he ngaahi fotunga kimui ni mai ‘oku ma’u he taimi ni ‘i he ngaahi browsers lalahi kotoa pe, pea ‘a ia ‘e lava ke ke faka’aonga’i ke fetongi ‘a e ngaahi fakafalala ‘oku ‘i ai ‘i ho’o codebase. Ko e poini 'oku 'ikai ke vave 'a e ditch ho'o ngaahi laipeli 'ofeina kotoa pe pea toe tohi ho'o codebase. Ko e me’a ki he me’a kotoa pe, ‘e fie ma’u ke ke to’o ‘a e poupou ‘a e browser ki he ‘akauni ‘uluaki pea fakapapau’i ‘o makatu’unga ‘i he ngaahi me’a kehe ‘oku fakatefito ‘i ho’o poloseki. 'Oku fakahoko 'a e ngaahi me'a ko 'eni 'i he ngaahi misini browser lalahi 'e tolu (Chromium, WebKit, mo e Gecko), ka 'e lava ke ke ma'u ha ngaahi fie ma'u kehekehe 'o e poupou browser 'oku ne ta'ofi koe mei hono faka'aonga'i kinautolu 'i he taimi pe ko ia. Kae kehe, ‘oku kei hoko pē eni ko ha taimi lelei ke ako ai fekau‘aki mo e ngaahi tafa‘aki ko ení, pea mahalo ‘e palani ke ngāue‘aki kinautolu ‘i ha taimi. Popovers Mo e Ngaahi Talanoa 'E lava ke tokoni'i koe 'e he Popover API, 'a e

'elemeniti HTML, pea mo e ::muimui pseudo-'elemeniti ke ke mavahe mei he ngaahi fakafalala 'i he popup, .me'angaue, mo e ngaahi laipeli talanoa, hange ko e UI 'oku 'alu holo, Tippy.js, Tether, pe me'angaue 'o e React. 'Oku nau tokanga'i 'a e accessibility mo e pule'i 'o e tokanga ma'au, 'i tu'a mei he puha, 'oku ma'olunga 'a e customizable 'aki hono faka'aonga'i 'o e CSS, pea 'e lava ke faingofua ke fakamo'ui. Ngaahi ʻAkotione Ko e 'elemeniti, hono hingoa 'o e 'ulungaanga ki he ngaahi 'elemeniti 'oku nau fefakatau'aki, pea mo e ::fakaikiiki-kakano pseudo-'elemeniti to'o 'a e fie ma'u ki he ngaahi konga 'o e accordion hange ko e Bootstrap Accordion pe ko e konga 'o e React Accordion. Ko hono faka’aonga’i pe ‘o e tu’unga heni ‘oku ‘uhinga ia ‘oku faingofua ange ki he kakai ‘oku nau ‘ilo HTML/CSS ke mahino kiate kinautolu ho’o code ‘o ‘ikai fie ma’u ke nau ‘uluaki ako ke faka’aonga’i ha laipeli pau. ‘Oku toe ‘uhinga ia ‘oku ke hao mei hono maumau’i ‘o e ngaahi liliu ‘i he laipeli pe ko hono ta’ofi ‘o e laipeli ko ia. Pea, ko e mo'oni, 'Oku 'uhinga ia ki he si'isi'i ange 'a e code ke download mo lele. ‘Oku ‘ikai fiema’u ‘e he ngaahi ‘elemeniti fakaikiiki ‘o e fefakatau’aki ‘a e JS ke fakaava, tapuni, pe fakamo’ui. CSS Fakalea Cascade ngaahi la'ipepa, ki ha codebase CSS fokotu'utu'u lelei ange, CSS nesting, ki ha CSS 'oku lahi ange 'a e compact, ngaahi ngaue lanu fo'ou, ngaahi lanu fakafekau'aki, mo e lanu-fefiofi, ngaahi ngaue fo'ou 'o e Fika hange ko e abs(), faka'ilonga(), pow() mo e ni'ihi kehe 'oku tokoni ke fakasi'isi'i 'a e ngaahi fakafalala 'i he CSS kimu'a 'i he ngaahi ngaue, ngaahi laipeli 'aonga hange ko e TailwindJ-braven mo e BootwindJ-time mo e Boot. Ko e va'inga changer :has(), Ko e taha 'o e ngaahi me'a 'oku kole lahi taha 'i ha taimi loloa, 'oku ne to'o 'a e fie ma'u ki ha ngaahi fakalelei'anga faingata'a ange 'oku makatu'unga 'i he JS. Ngaahi me'a 'aonga JS 'E lava ke fakasi'isi'i 'e he ngaahi founga fakaonopooni 'o e Array hange ko e findLast (), pe 'i he (), pea pehe ki he ngaahi founga 'o e Seti hange ko e kehekehe (), fetaulaki'anga (), 'iunioni () mo e ni'ihi kehe 'e lava ke fakasi'isi'i 'a e ngaahi fakafalala ki he ngaahi laipeli hange ko e Lodash. Ngaahi Fehu'i Koniteina 'Oku hanga 'e he ngaahi fehu'i 'o e koniteina 'o tali 'a e ngaahi konga 'o e UI ki he ngaahi me'a kehe mei he lahi 'o e viewport, pea ko ia ai 'oku nau 'ai ke nau toe faka'aonga'i lahi ange 'i he ngaahi tu'unga kehekehe. 'Oku 'ikai fie ma'u ke faka'aonga'i ha laipeli UI JS-mamafa ki he me'a ni 'oku toe, pea 'ikai fie ma'u ke faka'aonga'i ha polyfill pe. Fokotu'utu'u Grid, subgrid, flexbox, pe multi-column kuo fuoloa ‘a e ‘i ai he taimi ni, ka ‘i he vakai ki he ola ‘o e ngaahi savea ‘a e Siteiti ‘o e CSS, ‘Oku mahino ‘oku hehema ‘a e kau developers ke nau tokanga ‘aupito ki hono ohi ‘o e ngaahi me’a fo’ou, pea tatali ki ha taimi fuoloa ‘aupito kimu’a pea nau toki fai. Ko e ngaahi me'a ko 'eni kuo Baseline 'i ha taimi fuoloa pea 'e lava ke ke faka'aonga'i kinautolu ke mavahe mei he ngaahi fakafalala 'i he ngaahi me'a hange ko e sisitemi 'o e Bootstrap 'o e grid, Ngaahi me'angaue 'o e flexbox 'o e Fakava'e, Bulma tu'u ma'u 'a e grid, Materialize grid, pe ngaahi kolomu 'o e Tailwind. ‘Oku ‘ikai keu pehee atu ke ke tukuange ho’o framework. Naʻe ohi ia ʻe hoʻo timí ʻi ha ʻuhinga, pea ko hono toʻó mahalo ko ha poloseki lahi ia. Ka ko e vakai ki he me'a 'e lava ke 'oatu 'e he tu'unga 'o e uepi 'o 'ikai ha takai 'o e paati hono tolu 'i 'olunga 'oku ha'u mo ha ngaahi lelei lahi. Ngaahi Meʻa ʻE ʻIkai Te Ke Toe Fiemaʻu ʻi he Kahaʻu Vavé ni Ko ‘eni, tau vakai fakavavevave ki he ni’ihi ‘o e ngaahi me’a ‘e ‘ikai te ke fiema’u ha laipeli ki ai ‘i he kaha’u vave mai. Ko hono ʻuhingá, ʻoku ʻikai ke fuʻu mateuteu ʻa e ngaahi meʻa ʻi laló ki hono ohi fakatokolahí, ka ko hono ʻiloʻi kinautolú mo e palani ki hano fakaʻaongaʻi ʻamui ange ʻe lava ke tokoni. Tu'unga 'o e Taula CSS taula positioning 'oku ne tokanga'i 'a e tu'unga 'o e popovers mo e tooltips 'o fakatatau ki he ngaahi 'elemeniti kehe, pea tokanga'i 'a hono tauhi kinautolu 'i he vakai, na'a mo e taimi 'oku hiki, takai, pe liliu 'a e lahi 'o e peesi. Ko ha fakakakato lahi 'eni ki he Popover API na'e lave ki ai kimu'a, 'a ia te ne 'ai ke toe faingofua ange ke hiki mama'o mei he ngaahi fakalelei'anga JS 'oku lahi ange 'a e fakahoko-lahi. Folau API 'E lava ke faka'aonga'i 'a e API 'o e folau ke tokanga'i 'a e folau 'i he ngaahi polokalama peesi 'e taha pea mahalo ko ha fakakakato lahi, pe na'a mo ha fetongi, ki he React Router, Next.js routing, pe ngaahi ngaue 'o e Angular routing. Vakai ki he ngaahi liliu API 'E lava ke animate 'e he API 'o e ngaahi liliu 'o e vakai 'i he vaha'a 'o e ngaahi tu'unga kehekehe 'o ha peesi. 'I ha polokalama peesi 'e taha, 'Oku hanga 'e he me'a ni 'o faingofua 'aupito 'a e ngaahi liliu 'i he vaha'a 'o e ngaahi siteiti, pea 'e lava ke tokoni'i koe ke ke mavahe mei he ngaahi laipeli 'o e animation hange ko e Anime.js, GSAP, pe Motion.dev. Na'a mo e lelei ange, 'e lava foki ke faka'aonga'i 'a e API mo e ngaahi polokalama peesi lahi. Manatu'i kimu'a, 'i he'eku pehee ko e 'uhinga na'a mau langa ai 'a e ngaahi apps peesi 'e taha 'i he kautaha na'a ku ngaue ai 'i he ta'u 'e 15 kuohili ke faka'ehi'ehi mei he ulo hinehina 'o e peesi reloads 'i he taimi 'oku folau ai? Kapau na'e ma'u 'a e API ko ia 'i he taimi ko ia, na'a tau mei lava 'o a'usia 'a e ngaahi ola faka'ofo'ofa 'o e liliu 'o e peesi 'o 'ikai ha fa'unga peesi 'e taha pea 'ikai ha fu'u 'uluaki download 'o e app kotoa. Ngaahi Faka'ali'ali 'oku fakalele 'e he takai 'Oku lele 'a e ngaahi faka'ali'ali 'oku fakalele 'e he takainga tohi 'i he tu'unga 'o e takainga tohi 'a e tokotaha 'oku ne ngaue'aki, kae 'ikai 'i he taimi, 'o 'ai kinautolu ko ha fakalelei'anga lelei ki he talanoa mo e ngaahi 'a'ahi ki he koloa. Kuo 'alu ha kakai 'e ni'ihi 'i ha ki'i 'olunga mo ia, ka 'i he taimi 'oku faka'aonga'i lelei ai, 'e lava ke hoko 'eni ko ha me'angaue tisaini 'aonga 'aupito, pea 'e lava ke tokoni ke mavahe mei he ngaahi laipeli hange ko e: ScrollReveal, GSAP Scroll, pe .'OU.js. Fili 'oku lava ke fakataumu'a Ko ha fili customizable ko ha 'elemeniti angamaheni 'oku ne faka'ata koe ke ke customize kakato hono fōtunga mo e kakano, lolotonga ia 'oku fakapapau'i 'a e accessibility mo e ngaahi lelei 'o e fakahoko. Kuo fuoloa ‘eni ‘a e hoko mai, pea ko ha fotunga ‘oku kole lahi, pea ‘oku fakaofo ke sio ki hono ha’u ki he tu’unga ‘o e uepi ‘i ha taimi vave mai. 'I ha fili customizable langa-'i, 'e lava ke ke faifai pea ditch kotoa 'a e faingata'a-ke-tauhi 'a e code JS ko 'eni ki ho'o ngaahi konga fili angamaheni. CSS Ngaue maka Ko e CSS Masonry ko ha toe me'a 'oku lolotonga hoko mai 'i he tu'unga 'o e uepi 'oku ou fie fakamoleki ha taimi lahi ange ki ai. 'I he CSS Masonry, 'e lava ke ke a'usia 'a e ngaahi fokotu'utu'u 'oku fu'u faingata'a, pe na'a mo e ta'emalava, 'aki 'a e flex, grid, pe ngaahi primitives fokotu'utu'u kehe 'oku langa 'i he CSS. 'Oku fa'a resort 'a e kau developers ki hono faka'aonga'i 'o e ngaahi laipeli 'o e paati hono tolu ke a'usia 'a e ngaahi fokotu'utu'u 'o e Masonry, hange ko e laipeli 'o e Masonry JS. Ka, lahi ange ʻi he meʻa ko iá ʻamui ange. Tau takai’i ‘a e poini ko ‘eni kimu’a pea tau hoko atu ki he Masonry. Ko e ʻUhinga ʻOku Totonu Ke Ke Tokanga Aí . 'Oku fonu 'a e maketi ngaue 'i he kau developers 'o e uepi mo e a'usia 'i he JavaScript mo e ngaahi fa'unga fakamuimuitaha 'o e 'aho. Ko ia, mo’oni, ko e hā ‘a e ‘uhinga ‘o e ako ke faka’aonga’i ‘a e ngaahi primitives ‘o e tu’unga ‘o e uepi ‘o lahi ange, kapau te ke lava ‘o fai ‘a e ngaahi me’a tatau mo e ngaahi laipeli, ngaahi me’a ‘aonga, mo e ngaahi fa’unga ‘oku ke ‘osi ‘ilo he ‘aho ni? ‘I he taimi ‘oku fakafalala ai ha pisinisi kakato ki he ngaahi fa’unga ko ‘eni, pea ‘e lava ke ke to’o pe ‘i he laipeli totonu, ‘oku ‘ikai totonu ke ngaue pe ‘a e kau fakatau browser mo e ngaahi laipeli ko ‘eni ke nau uta mo lele vave ange, kae ‘ikai ko e feinga ke fakaloto’i ‘a e kau developers ke nau faka’aonga’i ‘a e tu’unga ‘i hono fetongi? ʻUluakí, ʻoku mau ngāue mo e kau faʻu tohi ʻo e laipelí, pea ʻoku mau ʻai ke lelei ange ʻa e ngaahi faʻunga ʻaki ʻemau ako fekauʻaki mo e meʻa ʻoku nau fakaʻaongaʻí mo fakaleleiʻi ʻa e ngaahi tafaʻaki ko iá. Ka ko hono uá, “ko hono ngāue‘aki pē ‘o e peletifōmú” ‘e lava ke ne ‘omai ‘a e ngaahi ‘aonga ‘oku mātu‘aki mahu‘inga. Ko hono 'ave 'o e Code si'isi'i ange ki he ngaahi device Ko e tefito'i lelei ko ia 'oku ke iku 'o 'ave 'a e code si'isi'i ange mama'o ki ho'o kau clients’ devices. Fakatatau ki he 2024 Web Almanac, 'Oku 'avalisi 'a e lahi 'o e ngaahi kole HTTP 'i he 70 ki he saiti, ko e lahi taha 'o e ngaahi me'a ko ia 'oku makatu'unga ia 'i he JavaScript mo e ngaahi kole 'e 23. 'I he 2024, Na'e fakalaka 'a e JS 'i he ngaahi 'ata ko e fa'ahinga faile 'oku pule foki. Ko e fika fakavaha'apule'anga 'o e ngaahi kole peesi ki he ngaahi faile JS ko e 23, 'o a'u ki he 8% talu mei he 2022. Pea 'oku hokohoko atu 'a e tupulaki 'a e lahi 'o e peesi 'i he ta'u ki he ta'u. Ko e mamafa 'o e peesi median 'oku takatakai 'i he 2MB he taimi ni, 'a ia 'oku 1.8MB lahi ange ia 'i he ta'u 'e 10 kuo hili.

Ko e mo’oni, mahalo kuo tupulaki ‘a e vave ‘o ho’o fehokotaki’anga ‘initaneti, foki, ka ‘oku ‘ikai ko e me’a ia ‘oku hoko ki he tokotaha kotoa pe. Pea 'oku 'ikai ke ma'u 'e he tokotaha kotoa pe 'a e ngaahi malava tatau 'o e device pe. To'o 'i he code 'o e paati hono tolu ki he ngaahi me'a te ke lava 'o fai 'aki 'a e tu'unga, ka, 'oku 'uhinga lahi taha mahalo 'oku ke fakafolau atu 'a e code lahi ange, pea ko ia ai 'oku a'u ki he kau kasitomaa tokosi'i ange 'i he me'a 'oku ke angamaheni 'aki. 'I he uepi, 'oku taki 'e he fakahoko 'o e uta kovi ki he ngaahi tu'unga li'aki lahi mo fakamamahi'i 'a e ongoongo 'o e brand. Lele 'a e Code si'isi'i ange 'i he ngaahi device 'Ikai ngata ai, 'Oku ngalingali 'oku lele vave ange 'a e code 'oku ke fai 'a e vaka 'i ho'o kau kasitomaa’ ngaahi device kapau 'oku ne faka'aonga'i 'a e abstractions JavaScript si'isi'i ange 'i 'olunga 'i he tu'unga. Mahalo foki ‘oku tali lelei ange mo faingofua ange ‘a e ma’u ‘i he default. Ko e ngaahi me‘á ni kotoa ‘oku iku ia ki ha kau kasitomaa tokolahi ange mo fiefia ange. Vakai’i ‘a e blog ‘o e ta’efa’atatau ‘o e fakahoko ngaue fakata’u ‘o Alex Russell, ‘a ia ‘oku ne fakahaa’i ‘oku lahi ‘a e ngaahi device premium ‘oku ‘ikai ke ‘i ai mei he ngaahi maketi ‘oku laui piliona ‘a e kau faka’aonga’i koe’uhi ko e ta’efa’atatau ‘o e koloa. Pea ko e vā ko ‘ení ‘oku tupulaki pē ia ‘i he faai mai ‘a e taimí.

Langa-'i he fokotu'utu'u 'o e Masonry Ko e taha ‘o e ngaahi me’a ‘i he uepi ‘oku vave mai pea ‘oku ou fiefia lahi ai ko e CSS Masonry.

Tuku muʻa ke u kamata ʻaki haʻaku fakamatalaʻi atu pe ko e hā ʻa e Masonry. Ko e hā ʻa e Masonry . Ko e Masonry ko ha faʻahinga fokotuʻutuʻu naʻe ʻai ke manakoa ʻe he Pinterest ʻi he ngaahi taʻu kuohilí. 'Oku ne fa'u 'a e ngaahi hala tau'ataina 'o e kakano 'i loto 'a ia 'oku pack 'e he ngaahi me'a kinautolu 'o ofi ki he kamata'anga 'o e hala 'i he me'a te nau lava.

'Oku vakai 'a e kakai tokolahi ki he Masonry ko ha fili lelei ki he ngaahi portfolio mo e ngaahi fale faka'ali'ali 'ata, 'a ia 'oku pau 'e lava ke ne fai. Ka ‘oku lahi ange ‘a e Masonry ‘i he me’a ‘oku ke sio ki ai ‘i he Pinterest, pea ‘oku ‘ikai fakangatangata ia ki he ngaahi fokotu’utu’u pe ‘oku hange ha vaitō. ʻI ha fokotuʻutuʻu ʻo e Masonry:

'E lava ke hoko 'a e ngaahi hala ko e ngaahi kolomu pe ngaahi laine:

‘Oku ‘ikai fiema’u ke tatau kotoa ‘a e lahi ‘o e ngaahi hala ‘o e kakano:

'E lava ke span 'e he ngaahi me'a 'a e ngaahi hala lahi:

ʻE lava ke fokotuʻu ʻa e ngaahi meʻá ʻi ha ngaahi hala pau; ‘oku ‘ikai fiema‘u ke nau muimui ma‘u pē ki he founga ‘o e tu‘u‘anga ‘otomētiká:

Faka'ali'ali Ko e ngaahi faka'ali'ali faingofua 'eni na'a ku fai 'aki hono faka'aonga'i 'o e fakahoko 'oku lolotonga hoko mai 'o e CSS Masonry 'i he Chromium. Ko ha faka'ali'ali 'o e fale faka'ali'ali 'ata, 'oku fakahaa'i ai 'a e founga 'e lava ke span 'e he ngaahi me'a (ko e hingoa 'i he me'a ni) ha ngaahi hala lahi:

Ko ha toe fale faka'ali'ali 'ata 'oku fakahaa'i ai 'a e ngaahi hala 'o e ngaahi lahi kehekehe:

Ko ha fokotu'utu'u 'o e saiti ongoongo mo e ngaahi hala 'e ni'ihi 'oku lahi ange ia 'i he ni'ihi kehe, mo e ngaahi me'a 'e ni'ihi 'oku ne 'ufi'ufi 'a e laulahi kotoa 'o e fokotu'utu'u:

Ko ha palakipoe kanban ʻoku fakahaaʻi ai ʻe lava ke fokotuʻu ʻa e ngaahi meʻá ʻi ha ngaahi hala pau:

Fakatokanga'i ange: Ko e .na’e fai ‘a e ngaahi faka’ali’ali kimu’a ‘aki ha founga ‘o e Chromium ‘oku te’eki ke ma’u ‘e he tokolahi taha ‘o e kau faka’aonga’i ‘o e uepi, koe’uhi ko e CSS Masonry ‘oku toki kamata ke fakahoko ‘i he ngaahi browsers. Ka neongo ia, kuo fiefia 'a e kau developers 'o e uepi 'i hono faka'aonga'i 'o e ngaahi laipeli ke fa'u 'a e ngaahi fokotu'utu'u 'o e Masonry 'i he ngaahi ta'u kuo 'osi. Ngaahi Saiti ʻOku Nau Ngāueʻaki ʻa e Masonry ʻi he ʻAho Ni Ko e mo'oni, 'Oku 'aonga 'aupito 'a e Masonry 'i he uepi he 'aho ni. Ko e ngaahi sīpinga siʻisiʻi ʻeni ne u maʻu tukukehe ʻa e Pinterest:

Pea mo ha ngaahi sīpinga siʻisiʻi ange, ʻoku ʻikai fuʻu mahino:

Ko ia, na‘e anga-fēfē hono fa‘u ‘a e ngaahi fokotu‘utu‘u ko ení? Ngaahi fakalelei Ko e founga ‘e taha kuó u sio ‘oku ngāue‘akí ko hono ngāue‘aki ha fokotu‘utu‘u Flexbox kae ‘ikai, liliu hono fakahinohinó ki he kōlomu, pea fokotu‘u ia ke takai. Ko e founga ko 'eni, 'e lava ke ke fokotu'u 'a e ngaahi me'a 'o e ma'olunga kehekehe 'i ha ngaahi kolomu lahi, tau'ataina, 'o 'oatu 'a e fakakaukau 'o ha fokotu'utu'u 'o e Masonry:

Ka neongo ia, 'oku 'i ai ha ongo fakangatangata 'i he workaround ko 'eni:

Ko e fakahokohoko 'o e ngaahi me'a 'oku kehe ia mei he me'a 'e hoko 'i ha fokotu'utu'u Masonry mo'oni. ‘I he Flexbox, ‘oku ‘uluaki fakafonu ‘e he ngaahi me’a ‘a e ‘uluaki kolomu pea, ‘i he taimi ‘oku fonu ai, pea ‘alu leva ki he kolomu hoko. 'I he Masonry, 'e stack 'a e ngaahi me'a 'i ha fa'ahinga hala pe (pe kolomu 'i he me'a ko 'eni) 'oku lahi ange 'a e feitu'u 'oku ma'u. Ka 'oku toe, pea mahalo 'oku mahu'inga ange, 'Oku fie ma'u 'e he workaround ko 'eni ke ke fokotu'u ha ma'olunga tu'u ma'u ki he koniteina Flexbox; ka ʻikai, ʻe ʻikai ke hoko ha takai.

Ngaahi Laipeli Masonry 'a e paati hono tolu Ki he ngaahi keisi fakalakalaka ange, kuo faka'aonga'i 'e he kau developers 'a e ngaahi laipeli. Ko e laipeli 'iloa mo manakoa taha ki he me'a ni 'oku ui pe ia ko e Masonry, pea 'oku ne ma'u 'a e download 'o tu'o 200,000 nai 'i he uike 'o fakatatau ki he NPM. 'Oku 'omi foki 'e he Squarespace ha konga fokotu'utu'u 'oku ne 'omi ha fokotu'utu'u 'o e Masonry, ki ha founga kehe 'oku 'ikai ha-code, pea 'oku faka'aonga'i ia 'e he ngaahi saiti lahi. 'Oku fakatou faka'aonga'i 'e he ongo fili ko 'eni 'a e JavaScript code ke fokotu'u 'a e ngaahi me'a 'i he fokotu'utu'u. Langa-'i he Masonry ‘Oku ou fiefia mo’oni ‘i he kamata ke ‘asi mai ‘a e Masonry ‘i he ngaahi browsers ko ha fotunga CSS ‘oku langa ‘i loto. 'I he 'alu 'a e taimi, te ke lava 'o faka'aonga'i 'a e Masonry 'o hange pe ko ho'o fai 'a e Grid pe Flexbox, 'a ia, 'oku 'ikai fie ma'u ha ngaahi workarounds pe kouti 'o e paati hono tolu. Kuo fakahoko 'e he'eku timi 'i he Microsoft 'a e poupou langa-'i he Masonry 'i he poloseki 'o e ma'u'anga fakamatala fakaava 'o e Chromium, 'a ia 'oku makatu'unga ai 'a e Edge, Chrome, mo e ngaahi browser lahi kehe. Mozilla na'e mo'oni 'a e fuofua browser vendor ke fokotu'u ha fakahoko 'o e 'ahi'ahi 'o e Masonry 'i he 2020. Pea kuo toe mahu'inga'ia 'aupito 'a e Apple 'i hono ngaohi 'o e fokotu'utu'u fo'ou ko 'eni 'o e uepi primitive ke hoko. 'Oku toe nga'unu atu 'a e ngaue ke standardize 'a e fotunga, 'i he aleapau 'i loto 'i he kulupu ngaue CSS fekau'aki mo e fakahinohino fakalukufua pea na'a mo ha faka'ali'ali 'o e fa'ahinga faka'ali'ali fo'ou: grid-lanes. Kapau 'oku ke fie ako lahi ange fekau'aki mo e Masonry mo muimui'i 'a e fakalakalaka, vakai ki he'eku peesi ma'u'anga tokoni CSS Masonry. ‘I he taimi, ‘i he taimi ‘oku hoko ai ‘a e Masonry ko ha fotunga ‘o e Baseline, ‘o hange pe ko e Grid pe Flexbox, te tau lava ‘o ngaue’aki pe ia pea ma’u ‘aonga mei ai:

Fakahoko lelei ange, . Tali lelei ange, . Faingofua hono faka'aonga'i mo e code faingofua ange.

Tau vakai fakalelei angé ki he ngaahi me‘á ni. Fakahoko lelei ange Ko hono ngaohi ho’o sisitemi fokotu’utu’u hange ko e Masonry, pe ko hono faka’aonga’i ‘o ha laipeli ‘a e paati hono tolu ‘i hono fetongi, ‘oku ‘uhinga ia kuo pau ke ke fakalele ‘a e JavaScript code ke fokotu’u ‘a e ngaahi me’a ‘i he screen. 'Oku toe 'uhinga 'eni 'e render 'a e code ko 'eni 'a e poloka. Ko e mo’oni, pe ‘e ‘ikai ke ‘asi mai ha me’a, pe ‘e ‘ikai ke ‘i he ngaahi feitu’u totonu ‘a e ngaahi me’a pe ‘i he ngaahi lahi totonu, kae ‘oua kuo lele ‘a e JavaScript code ko ia. 'Oku fa'a faka'aonga'i 'a e fokotu'utu'u 'o e Masonry ki he konga tefito 'o ha peesi uepi, 'a ia 'oku 'uhinga ia 'e 'ai 'e he code ho'o tefito'i me'a 'oku 'asi mai kimui ange 'i he me'a na'e lava ke ne ma'u, degrading ho'o LCP, pe Largest Contentful Paint metric, 'a ia 'oku ne fakahoko ha fatongia lahi 'i he fakahoko 'oku 'ilo'i mo e kumi 'o e misini optimization. Na'a ku sivi'i 'a e laipeli Masonry JS 'aki ha fokotu'utu'u faingofua pea 'aki hono simulating ha fehokotaki'anga 4G 'oku tuai 'i he DevTools. 'Oku 'ikai fu'u lahi 'a e laipeli (24KB, 7.8KB gzipped), ka na'e to'o 'e he 600ms ke uta 'i he malumalu 'o 'eku ngaahi tu'unga sivi. Ko e lekooti fakahoko 'eni 'oku ne fakahaa'i 'a e taimi 'o e uta 'o e 600ms loloa ki he laipeli 'o e Masonry, pea na'e 'ikai ha toe 'ekitiviti rendering na'e hoko lolotonga 'a e hoko 'a e me'a ko ia:

ʻIkai ngata aí, hili ʻa e ʻuluaki taimi ʻo e uta, naʻe fie maʻu leva ke fakaʻaongaʻi ʻa e tohi naʻe download, fakatahatahaʻi, pea toki lele. Ko e kotoa 'o e ngaahi me'a ko ia, hange ko ia na'e lave ki ai kimu'a, na'e ta'ofi 'a e rendering 'o e peesi. ‘I ha fakahoko ‘o e Masonry ‘oku langa ‘i he browser, ‘e ‘ikai ke tau ma’u ha script ke uta mo lele. 'E fai pe 'e he misini browser 'ene me'a lolotonga 'a e 'uluaki sitepu 'o e peesi 'o e rendering. Tali lelei ange ʻOku tatau pē mo e taimi ʻoku ʻuluaki uta ai ha peesi, ʻoku iku ʻa hono liliu ʻo e lahi ʻo e matapā sioʻata ʻo e browser ki hono toe fakahoko ʻo e fokotuʻutuʻu ʻi he peesi ko iá. ‘I he taimi ko ‘ení, neongo ia, kapau ‘oku ngāue‘aki ‘e he peesí ‘a e laipeli Masonry JS, ‘oku ‘ikai fiema‘u ke toe uta ‘a e tohí, koe‘uhí he ‘oku ‘osi .ʻi heni. Kae kehe, ko e kouti ‘okú ne hiki ‘a e ngaahi me‘á ‘i he ngaahi feitu‘u totonú ‘oku fiema‘u ke lele. Ko 'eni 'oku ngali 'oku vave 'aupito 'a e laipeli makehe ko 'eni 'i hono fai 'eni 'i he taimi 'oku uta ai 'a e peesi. Ka neongo ia, 'oku ne animates 'a e ngaahi me'a 'i he taimi 'oku nau fie ma'u ai ke hiki ki ha feitu'u kehe 'i he window resize, pea 'oku 'omi 'e he me'a ni ha faikehekehe lahi. Ko e mo’oni, ‘oku ‘ikai ke fakamoleki ‘e he kau faka’aonga’i ‘a e taimi ke resizing ‘enau ngaahi matapa sio’ata browser ‘o hange ko kimautolu kau developers. Ka 'e lava ke 'aonga 'a e a'usia ko 'eni 'o e resizing animated pea tanaki atu ki he taimi 'oku 'ilo'i 'oku fie ma'u ki he peesi ke fe'unga mo hono lahi fo'ou. Faingofua Hono Ngaue'aki Moe Faingofua ange 'a e Code . Ko e faingofua hono faka'aonga'i 'o ha fotunga 'i he uepi mo e faingofua 'o e code 'oku 'asi ko e ngaahi me'a mahu'inga 'e lava ke ne fai ha faikehekehe lahi ki ho'o timi. He’ikai ke nau lava ‘o mahu’inga ‘o hange ko e a’usia faka’osi ‘a e tokotaha faka’aonga’i, ‘o e mo’oni, ka ‘oku uesia ‘e he a’usia ‘a e developer ‘a e tauhi. Ko hono faka'aonga'i 'o ha fotunga 'o e uepi langa-'oku ha'u mo e ngaahi lelei mahu'inga 'i he tafa'aki ko ia:

Ko e kau developers ‘oku nau ‘osi ‘ilo’i ‘a e HTML, CSS, mo e JS ‘e ngalingali ‘e lava ke nau faka’aonga’i ‘a e fotunga ko ia ‘o faingofua koe’uhi he na’e fa’u ia ke fakataha’i lelei pea ke fe’unga mo e toenga ‘o e tu’unga ‘o e uepi. ‘Oku ‘ikai ha fakatu’utamaki ‘o e maumau’i ‘o e ngaahi liliu ‘oku fakafe’iloaki ‘i he founga ‘oku ngaue’aki ai ‘a e fotunga. ‘Oku meimei ‘ikai ha fakatu’utamaki ‘o e hoko ‘a e fotunga ko ia ‘o deprecated pe ‘ikai ke tauhi.

‘I he tu’unga ‘o e langa-‘i he Masonry, koe’uhi ko ha fokotu’utu’u primitive, ‘oku ke faka’aonga’i ia mei he CSS, hange pe ko e Grid pe Flexbox, ‘ikai ha JS ‘oku kau ki ai. Foki, ngaahi koloa kehe ‘o e CSS fekau’aki mo e fokotu’utu’u, hange ko e ava, ngaue ‘o hange ko ia ‘oku ke ‘amanaki ki ai. 'Oku 'ikai ha ngaahi founga pe workarounds ke 'ilo ki ai, pea ko e ngaahi me'a 'oku ke ako 'oku fakatohi 'i he MDN. Ki he Masonry JS lib, initialization 'oku ki'i faingata'a: 'oku fie ma'u ha 'ulungaanga 'o e fakamatala mo ha syntax pau, fakataha mo e ngaahi 'elemeniti HTML fufuu ke fokotu'u 'a e kolomu mo e ngaahi lahi 'o e ava. Plus, kapau 'oku ke fie span 'a e ngaahi kolomu, 'Oku fie ma'u ke ke fakakau 'a e lahi 'o e ava 'iate koe ke faka'ehi'ehi mei he ngaahi palopalema:

Enjoyed This Article?

Get weekly tips on growing your audience and monetizing your content — straight to your inbox.

No spam. Join 138,000+ creators. Unsubscribe anytime.

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free