Hacker News

CSS-Tohi

CSS-Tohi 'Oku 'omi 'e he 'analaiso kakato ko 'eni 'o e doodle 'a e sivi fakaikiiki 'o hono ngaahi konga tefito mo e ngaahi 'uhinga lahi ange. Ngaahi Feitu'u Tefito 'o e Tokanga ʻOku fakatefito ʻa e fealēleaʻakí ʻi he: Ngaahi founga mo e ngaahi founga ngaue tefito Ko e impl 'o e mamani mo'oni...

10 min read Via css-doodle.com

Mewayz Team

Editorial Team

Hacker News

CSS-Doodle is a powerful web component that enables developers and designers to generate stunning, grid-based visual patterns and generative art using pure CSS syntax within a single custom HTML element. Whether you're building creative landing pages, interactive backgrounds, or dynamic data visualizations, CSS-Doodle transforms the way teams approach front-end design workflows.

Ko e hā tonu ʻa e CSS-Doodle pea ʻoku anga fēfē ʻene ngāué?

CSS-Doodle is an open-source JavaScript library created by Yuan Chuan that introduces a custom HTML element — — into your web projects. Inside this element, you write CSS-like rules that the library interprets to generate a grid of cells, each of which can be styled independently using special selector syntax and randomization functions.

'Oku ngaue 'a e founga tefito 'o fakafou 'i ha sisitemi grid DOM 'ata. When the browser encounters a element, the library splits the designated area into a configurable grid of cells and applies your CSS rules across every cell in the grid. What makes it remarkable is its built-in support for pseudo-random functions like @r(), @p(), and @pick(), which allow individual cells to receive unique values without a single line of JavaScript from the developer's side.

The rendering pipeline is straightforward: parse the inner CSS content, generate the shadow DOM grid, compute random seeds, inject computed styles per cell, and paint the final output. Updates happen reactively — call the update() method and a freshly seeded variation renders instantly, making CSS-Doodle ideal for interactive and animated design systems.

Ko e hā ʻa e ngaahi konga tefito ʻoku nau ʻai ke makehe ʻa e CSS-Doodle?

Ko e mahino ki he fa'unga 'o e CSS-Doodle 'oku 'uhinga ia ki hono 'ilo'i 'o e ngaahi la'ipepa fehokotaki 'e tolu 'oku nau ngaue fakataha ke fakatupu 'a e ngaahi ola fakatupu:

  • Grid System: Defined via the grid attribute, this controls rows and columns (e.g., grid="10x10"), determining how many cells the doodle renders and how they're distributed spatially.
  • Special Selectors: CSS-Doodle introduces selectors like :nth-of-type() extensions, @nth, and @row/@col that target cells by position within the grid for precise, rule-based styling.
  • Randomization Functions: Built-in functions such as @r(min, max) for numeric ranges and @pick(a, b, c) for value lists make non-repetitive generative patterns achievable in just a few lines of code.
  • Animation and Transition Support: Because CSS-Doodle outputs real CSS, all native CSS animations, keyframes, transitions, and custom properties work without modification, enabling fluid, looping visual compositions.
  • Variable System: CSS custom properties and the @var() function let designers parameterize doodles, creating theme-aware or user-configurable outputs with minimal effort.

Ko e fakataha'i ko 'eni 'o ha scaffold grid mapule'i mo e randomized 'i he styling 'o e selo ko e me'a ia 'oku ne fakamavahe'i 'a e CSS-Doodle mei he ngaahi me'angaue SVG fakalukufua pe ngaahi me'angaue 'oku makatu'unga 'i he kaniva — ko e output 'oku fakaha, semantic, mo e styleable kakato 'o fakafou 'i he ngaahi me'angaue CSS angamaheni.

'Oku anga fefe hono fakafehoanaki 'o e CSS-Doodle ki he ngaahi founga kehe 'o e tisaini fakatupu?

Ko e 'aati fakatupu tukufakaholo 'i he ngaahi browsers 'oku angamaheni 'aki 'a e fakafalala ki he HTML5 Kaniva API pe SVG manipulation 'o fakafou 'i he ngaahi fa'unga 'o e JavaScript. Lolotonga 'oku malohi, 'Oku fie ma'u 'e he ngaahi founga ko 'eni 'a e 'ilo mahu'inga 'o e JavaScript, ngaahi loop 'o e rendering 'oku fie ma'u, mo e pule'i 'o e pule'anga tohi. CSS-Doodle sidesteps kotoa 'o e me'a ko ia 'aki 'ene nofo 'i loto 'i he fakatata fakaha 'oku 'osi 'ilo 'e he kau tisaini.

Compared to Canvas-based libraries like p5.js, CSS-Doodle is dramatically simpler for grid-pattern use cases, requires no render loop, and produces DOM elements that remain accessible and inspectable. Against SVG generators, CSS-Doodle wins on developer experience for CSS-native teams, though SVG wins on export fidelity and complex path operations.

"CSS-Doodle proves that the most powerful creative tools aren't always the most complex ones — sometimes constraining yourself to a single element and declarative syntax unlocks more creativity than an open canvas ever could."

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

Ki he ngaahi timi 'oku nau ngaue 'i loto 'i he ngaahi sisitemi tisaini, 'Oku 'uhinga 'a e fakafe'unga'i 'o e CSS-Doodle mo e ngaahi koloa angamaheni 'o e CSS 'oku ne fakataha'i ma'a ki he ngaahi ngaue 'oku 'i ai 'a e token-fakava'e, 'o 'ai ke mama'o ange hono tauhi 'i he ngaahi 'ata 'o e kaniva bespoke 'oku nofo 'i tu'a 'i he la'i styling kakato.

Ko e hā ʻa e ngaahi fakakaukau ki hono fakahoko ʻo e CSS-Doodle ʻi he Māmani Moʻoní?

Ko hono 'ave 'o e CSS-Doodle 'i he ngaahi 'atakai 'o e ngaohi 'oku fie ma'u ke tokanga ki ha ngaahi me'a mahu'inga si'isi'i. Fakahoko 'o e ngaahi me'afua fakahangatonu mo e lahi 'o e grid mo e faingata'a 'o e mo'ui — 'e fakatupu 'e ha 30x30 grid mo e ngaahi mo'ui 'a e CSS 'i he selo 'a e 900 'ata DOM 'elemeniti, 'a ia 'e lava ke ne fakamafasia'i 'a e fokotu'utu'u mo e vali 'o e ngaahi filo 'i he ngaahi device 'o e ngata'anga ma'ulalo ange. Ko e fakamatala'i 'aki 'a e Chrome DevTools' panel 'o e Ngaue kimu'a pea toki fakahoko 'a e ngaahi grids lalahi ko ha founga fokotu'u.

'Oku lelei 'aupito 'a e fe'unga 'a e browser ki he ngaahi browser fakaonopooni 'o e evergreen, 'i he fakafalala 'a e CSS-Doodle ki he ngaahi 'elemeniti angamaheni v1 mo e Shadow DOM v1, 'a ia 'oku fakatou poupou'i 'e he mamani. 'Oku fie ma'u 'e he poupou 'o e browser tukufakaholo 'a e polyfills, neongo 'oku totonu ke sivi'i 'e he ngaahi poloseki 'oku fakataumu'a ki he IE11 'a e ngaahi founga kehe.

'Oku 'omi 'e he rendering 'o e tafa'aki 'o e seva 'a e fakangatangata faka'ata tefito. Talu mei he CSS-Doodle fakalelei'i 'i loto 'ata DOM 'i he taimi lele, SSR ngaahi fa'unga hange ko e Next.js pe Nuxt kuo pau ke tokanga'i 'a e ngaahi konga doodle ko e client-pe. Ko e uta fakapikopiko 'o e tohi CSS-Doodle mo e takai 'o e 'elemeniti 'i ha ngata'anga 'o e client-pe 'oku ne fakalelei'i 'eni 'i he ma'a 'o 'ikai ke ne uesia lahi 'a e ngaahi maaka 'o e Core Web Vitals.

'E lava fēfē ke fakataha'i 'e he ngaahi pisinisi 'a e CSS-Doodle ki he ngaahi ngaue faka-Digital 'oku lava ke fakalahi?

Ki he ngaahi timi 'oku nau pule'i 'a e ngaahi koloa fakakomipiuta lahi, tauhi 'a e tu'uma'u 'o e sio 'i he ngaahi 'elemeniti UI generative 'oku fie ma'u 'a e workflow tooling 'oku 'alu 'o fakalaka atu 'i he konga 'iate ia pe. Versioning doodle configurations, vahevahe 'a e ngaahi mahu'inga 'o e tenga'i 'akau 'i he kau mēmipa 'o e timi, mo hono fakafekau'aki 'o e ngaahi liliu 'o e tisaini 'i he ngaahi funga 'o e koloa 'oku fie ma'u ha layer fakangaue centralized.

Ko e feitu'u tonu 'eni 'oku liliu ai 'e ha tu'unga hange ko Mewayz 'a e 'ekuasi. 'I he 207 modules pisinisi fakatahataha'i mo e ngaahi me'angaue 'o e workflow 'oku faka'aonga'i 'e he kau faka'aonga'i 'o e 138,000, 'Oku 'oatu 'e he Mewayz 'a e ngaahi timi 'o e koloa mo e maketi 'a e ngaahi langa fakalakalaka ke fakafekau'aki 'a e ngaahi ngaue tisaini, ngaahi paipa 'o e kakano, mo e workflows fakalakalaka 'i he feitu'u 'e taha. 'I he taimi 'oku synchronized ai ho'o ngaahi timi fakatupu mo fakatekinikale 'i ha sisitemi ngaue 'e taha, 'oku hoko 'a e ngaahi fotunga 'o e tisaini-ki mu'a 'o e vaka — kau ai 'a e ngaahi 'elemeniti UI generative hange ko e ngaahi fakahoko 'o e CSS-Doodle — ko ha founga 'oku lava ke toe fai, pule'i kae 'ikai ko ha sprint ad-hoc.

Ngaahi Fehuʻi ʻoku Faʻa ʻEke

'Oku fe'unga nai 'a e CSS-Doodle ke faka'aonga'i 'i he ngaahi poloseki uepi fakakomesiale?

ʻIo. CSS-Doodle 'oku laiseni 'e he MIT pea 'oku tauhi malohi, 'o 'ai ai ia ke fe'unga mo hono faka'aonga'i fakakomesiale. Ko e ngaahi fakakaukau mahu'inga 'o e ngaohi'anga koloa ko e ngaahi fakangatangata 'o e lahi 'o e grid ki he fakahoko ngaue mo e ngaahi fie ma'u 'o e client-side rendering ki he ngaahi fa'unga 'o e SSR. 'Oku faka'aonga'i ia 'e he ngaahi studio tisaini lahi ki he ngaahi 'atakai 'o e toa, ngaahi screen uta, mo e ngaahi konga teuteu 'a ia 'oku mahu'inga ange ai 'a e koloa'ia faka'ata 'i he pixel-haohaoa SSR output.

'E lava ke 'ave pe tauhi 'a e ngaahi ola 'o e CSS-Doodle ko ha ngaahi koloa tu'uma'u?

'Oku 'omi 'e he CSS-Doodle 'a e mo'ui 'i he DOM 'o e browser, ko ia 'oku 'ikai ko ha me'a 'oku langa 'i loto 'a e 'ave fakahangatonu. Ka neongo ia, 'oku angamaheni 'aki hono faka'aonga'i 'e he kau developers 'a e html2canvas pe dom-ki he-'imisi 'o e ngaahi laipeli ke snapshot 'a e doodles 'oku 'omi ki he ngaahi faile PNG pe SVG, pe faka'aonga'i 'a e DevTools 'o e browser ke hiki tatau 'a e ngaahi sitaila 'o e laine 'oku fakafuofua'i ki he fakahu 'o e static. Ki hono ngaohi 'o e koloa scalable, scripted snapshot workflows 'oku lele 'i he ngaahi 'atakai 'o e Chromium 'oku 'ikai ha 'ulu ko ha founga manakoa.

'Oku anga fefe hono tokanga'i 'e he CSS-Doodle 'a e 'alunga mo e kau lau 'o e screen?

Koe'uhi ko e ngaahi ola 'o e CSS-Doodle 'oku teuteu'i ma'a pe 'i he lahi taha 'o e ngaahi keisi 'o hono faka'aonga'i, ko e founga lelei taha ko hono faka'aonga'i 'o e aria-hidden="mo'oni" ki he 'elemeniti , 'o ta'ofi 'a e kau lau 'o e screen mei hono fakaha 'o e ngaahi me'a 'oku 'ikai ha 'uhinga 'i he selo 'o e grid. Ki he ngaahi keisi 'oku fakahoko ai 'e he doodle 'a e 'uhinga fakasemantiki, takai ia 'i ha 'elemeniti fakatata mo ha figcaption fakamatala 'oku ne 'omi 'a e layer 'o e accessibility 'oku fie ma'u 'e he ngaahi tekinolosia tokoni.

'Oku fakafofonga'i 'e he CSS-Doodle 'a e lelei taha 'o e fakalakalaka 'o e uepi fakaonopooni — 'a e malava fakatupu malohi 'oku 'oatu 'o fakafou 'i he API faingofua taha 'e ala lava. Pe ko ha developer solo koe 'oku langa 'a e ngaahi portfolios fakatupu pe ko ha timi koloa 'oku nau fakafolau atu 'a e ngaahi interfaces tisaini-ki mu'a 'i he fua, mahino mo e leveraging CSS-Doodle 'oku ne fakalahi ho'o me'angaue faka'ata 'o 'ikai fakalahi ho'o codebase faingata'a.

Mateuteu ke langa 'atamai lelei ange, vaka vave ange, pea fakafekau'aki ho'o ngaue kotoa 'o e koloa 'i he feitu'u pe 'e taha? Kamata ho'o ngaue'anga Mewayz he 'aho ni — ngaahi palani mei he $19/mahina 'oatu ki ho'o timi 'a e ngaahi module 'e 207 ke fakalelei'i 'a e la'ipepa kotoa pe 'o ho'o pisinisi, mei he tisaini 'o e ngaahi ngaue ki he tupulaki 'a e kasitomaa>, 'o ta'ofi 'a e kau lau 'o e screen mei hono fakaha 'o e kakano 'o e selo grid ta'e'uhinga, takai'i ia 'i ha 'elemeniti fakatata 'aki ha figcaption fakamatala 'oku ne 'omi 'a e layer 'o e accessibility 'oku tokoni tech}n.

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime