<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: FSCSS </title>
    <description>The latest articles on DEV Community by FSCSS  (@figsh).</description>
    <link>https://dev.to/figsh</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1898831%2Ff90cc0c8-d0e9-4a04-8a50-145e660e7099.png</url>
      <title>DEV Community: FSCSS </title>
      <link>https://dev.to/figsh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/figsh"/>
    <language>en</language>
    <item>
      <title>Did you know st-core.fscss doesn't need a runtime in production?</title>
      <dc:creator>FSCSS </dc:creator>
      <pubDate>Wed, 08 Apr 2026 22:29:31 +0000</pubDate>
      <link>https://dev.to/fscss/did-you-know-st-corefscss-doesnt-need-a-runtime-in-production-2bfk</link>
      <guid>https://dev.to/fscss/did-you-know-st-corefscss-doesnt-need-a-runtime-in-production-2bfk</guid>
      <description>&lt;p&gt;The &lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt; tag for FSCSS is a browser compiler- great for development, but optional for production.&lt;/p&gt;

&lt;p&gt;You can compile your &lt;code&gt;.fscss&lt;/code&gt; file down to plain &lt;code&gt;.css&lt;/code&gt; ahead of time. The browser gets standard CSS. No runtime. No wait.&lt;/p&gt;




&lt;h2&gt;
  
  
  Compile with the CLI
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; fscss
fscss style.fscss style.css
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. &lt;code&gt;style.css&lt;/code&gt; is now pure &lt;code&gt;clip-path&lt;/code&gt; math and CSS variables — no FSCSS runtime needed.&lt;/p&gt;




&lt;h2&gt;
  
  
  Prefer a GUI? There's a VS Code extension
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://marketplace.visualstudio.com/items?itemName=Figsh.fscss" rel="noopener noreferrer"&gt;FSCSS for VS Code&lt;/a&gt; gives you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Syntax highlighting for &lt;code&gt;.fscss&lt;/code&gt; files&lt;/li&gt;
&lt;li&gt;Autocomplete + snippets&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Auto Compile on Save&lt;/strong&gt; — outputs to &lt;code&gt;filename.fscss.css&lt;/code&gt; automatically&lt;/li&gt;
&lt;li&gt;Command Palette: &lt;code&gt;FSCSS: Compile&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Why bother compiling?
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Dev (runtime)&lt;/th&gt;
&lt;th&gt;Prod (compiled)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Setup&lt;/td&gt;
&lt;td&gt;Drop in a &lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt; tag&lt;/td&gt;
&lt;td&gt;One CLI command&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Performance&lt;/td&gt;
&lt;td&gt;JS parses before render&lt;/td&gt;
&lt;td&gt;Instant CSS render&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;JS disabled&lt;/td&gt;
&lt;td&gt;Chart won't show&lt;/td&gt;
&lt;td&gt;Chart still works&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bundle size&lt;/td&gt;
&lt;td&gt;Runtime included&lt;/td&gt;
&lt;td&gt;Zero runtime cost&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;p&gt;Repo → &lt;a href="https://github.com/fscss-ttr/st-core.fscss" rel="noopener noreferrer"&gt;github.com/fscss-ttr/st-core.fscss&lt;/a&gt; ⭐ MIT&lt;/p&gt;

</description>
      <category>fscss</category>
      <category>css</category>
      <category>productivity</category>
      <category>performance</category>
    </item>
    <item>
      <title>Building a Data-Driven Chart UI with Zero JavaScript (Pure CSS + FSCSS)</title>
      <dc:creator>FSCSS </dc:creator>
      <pubDate>Wed, 01 Apr 2026 23:35:28 +0000</pubDate>
      <link>https://dev.to/fscss/building-a-data-driven-chart-ui-with-zero-javascript-pure-css-fscss-gb9</link>
      <guid>https://dev.to/fscss/building-a-data-driven-chart-ui-with-zero-javascript-pure-css-fscss-gb9</guid>
      <description>&lt;p&gt;Most modern web charts rely on heavy JavaScript libraries. While powerful, they often come with a performance cost and complex integration steps.&lt;br&gt;
What if you could build a fully styled, data-driven chart UI using Pure CSS?&lt;br&gt;
By using FSCSS and its utility system, st-core (statistic core)&lt;a href="https://github.com/fscss-ttr/st-core.fscss" rel="noopener noreferrer"&gt;_&lt;/a&gt;, we can transform raw data into visual interfaces directly within our stylesheets.&lt;/p&gt;
&lt;h3&gt;
  
  
  1. The Setup
&lt;/h3&gt;

&lt;p&gt;First, include the FSCSS runtime and import the st-core helpers.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://cdn.jsdelivr.net/npm/fscss@1.1.24/exec.min.js"&lt;/span&gt; &lt;span class="na"&gt;async&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt; 

&lt;span class="nt"&gt;&amp;lt;style&amp;gt;&lt;/span&gt;
&lt;span class="k"&gt;@import&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="err"&gt;*&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="n"&gt;st-core&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 

&lt;span class="c"&gt;/* Initialize design tokens, layout base, and colors */&lt;/span&gt;
&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;st-root&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; 
&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;st-container&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;body&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
&lt;span class="nt"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Attaching the Components
&lt;/h3&gt;

&lt;p&gt;st-core.fscss uses directive-like helpers to generate the complex logic needed for backgrounds, lines, and markers.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;&lt;span class="k"&gt;@st-chart-fill&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;.chart-fill&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;    &lt;span class="o"&gt;/*&lt;/span&gt; &lt;span class="nt"&gt;Area&lt;/span&gt; &lt;span class="nt"&gt;under&lt;/span&gt; &lt;span class="nt"&gt;the&lt;/span&gt; &lt;span class="nt"&gt;line&lt;/span&gt; &lt;span class="o"&gt;*/&lt;/span&gt;
&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="nt"&gt;st-chart-line&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;.chart-line&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;    &lt;span class="o"&gt;/*&lt;/span&gt; &lt;span class="nt"&gt;The&lt;/span&gt; &lt;span class="nt"&gt;actual&lt;/span&gt; &lt;span class="nt"&gt;trend&lt;/span&gt; &lt;span class="nt"&gt;line&lt;/span&gt; &lt;span class="o"&gt;*/&lt;/span&gt;
&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="nt"&gt;st-chart-dot&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;.chart-dot&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;70&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;60&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;/*&lt;/span&gt; &lt;span class="nt"&gt;Data&lt;/span&gt; &lt;span class="nt"&gt;point&lt;/span&gt; &lt;span class="nt"&gt;marker&lt;/span&gt; &lt;span class="nt"&gt;at&lt;/span&gt; &lt;span class="nt"&gt;x&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nt"&gt;70&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;y&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nt"&gt;60&lt;/span&gt; &lt;span class="o"&gt;*/&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Mapping Data to UI
&lt;/h3&gt;

&lt;p&gt;This is where the magic happens. The &lt;code&gt;@st-chart-points&lt;/code&gt; helper maps your numeric data points into CSS variables. These variables are then used to calculate a clip-path that draws the chart.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;&lt;span class="nc"&gt;.chart&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;300px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;400px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;25px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;2px&lt;/span&gt; &lt;span class="nb"&gt;solid&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;st-accent&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;relative&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;overflow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;hidden&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;st-surface&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="cm"&gt;/* The Data: These points define the shape of the graph */&lt;/span&gt;
  &lt;span class="k"&gt;@st-chart-points&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;20&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;25&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;21&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;37&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;30&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;60&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;27&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;50&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. Customizing the Visuals
&lt;/h3&gt;

&lt;p&gt;Because this is CSS, customization is trivial. You can use filters, transitions, and standard properties to polish the UI.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;&lt;span class="cm"&gt;/* Add a glow to the line */&lt;/span&gt;
&lt;span class="nc"&gt;.chart-line&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;@st-chart-line-width&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;2px&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;drop-shadow&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;8px&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;st-accent&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="cm"&gt;/* Style the tooltip and point */&lt;/span&gt;
&lt;span class="nc"&gt;.chart-dot&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;relative&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="na"&gt;--st-accent&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#c4a8ff&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="cm"&gt;/* Local theme override */&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nc"&gt;.chart-dot&lt;/span&gt;&lt;span class="nd"&gt;:after&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;attr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data-point&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="cm"&gt;/* Pulls data from HTML attribute */&lt;/span&gt;
  &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;st-accent&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;6px&lt;/span&gt; &lt;span class="m"&gt;8px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;st-radius-sm&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="cm"&gt;/* ... positioning ... */&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  5. The Final HTML Structure
&lt;/h3&gt;

&lt;p&gt;The HTML remains incredibly clean. No Canvas elements, no complex SVG strings—just a few semantic divs.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"chart"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"chart-fill"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"chart-line"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"chart-dot"&lt;/span&gt; &lt;span class="na"&gt;data-point=&lt;/span&gt;&lt;span class="s"&gt;"$405.67"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Why This Matters
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Zero JS Overhead: The browser handles the rendering logic via CSS variables and clip-paths.&lt;/li&gt;
&lt;li&gt;Declarative Data: You define data where you define your styles.&lt;/li&gt;
&lt;li&gt;Fully Themeable: Since it uses CSS variables (--st-accent, etc.), switching to dark mode or changing brand colors is instantaneous.
This approach shifts the paradigm: CSS isn't just styling the UI, it’s generating the UI from data.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Check out the project here: &lt;a href="https://github.com/fscss-ttr/st-core.fscss" rel="noopener noreferrer"&gt;st-core on GitHub&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>fscss</category>
      <category>css</category>
      <category>html</category>
    </item>
    <item>
      <title>FSCSS Toast System (Dynamic UI Without Repetition)</title>
      <dc:creator>FSCSS </dc:creator>
      <pubDate>Sun, 22 Mar 2026 17:39:25 +0000</pubDate>
      <link>https://dev.to/fscss/fscss-toast-system-dynamic-ui-without-repetition-omp</link>
      <guid>https://dev.to/fscss/fscss-toast-system-dynamic-ui-without-repetition-omp</guid>
      <description>&lt;p&gt;A clean, scalable toast/notification system built with FSCSS using events + arrays + dynamic selectors.&lt;/p&gt;

&lt;p&gt;No repeated classes. No manual variants.&lt;br&gt;
Just structured, reusable styling.&lt;/p&gt;


&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Dynamic toast types (success, error, warning, info)&lt;/li&gt;
&lt;li&gt;Centralized color logic using &lt;code&gt;@event&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Auto-generated class variants with &lt;code&gt;@arr&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Clean and scalable structure&lt;/li&gt;
&lt;li&gt;Modern UI styling (glass + soft colors)&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  Define Toast Color Logic
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;&lt;span class="k"&gt;@event&lt;/span&gt; &lt;span class="nt"&gt;toast-color&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;

&lt;span class="nt"&gt;if&lt;/span&gt; &lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="nd"&gt;:success&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;return&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#38d9a9&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nt"&gt;el-if&lt;/span&gt; &lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="nd"&gt;:error&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;return&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#ff6b6b&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nt"&gt;el-if&lt;/span&gt; &lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="nd"&gt;:warning&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;return&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#f7b267&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nt"&gt;el&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;return&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#74c0fc&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;This acts like a function:&lt;/p&gt;

&lt;p&gt;type → color&lt;/p&gt;


&lt;h2&gt;
  
  
  Base Toast Component
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.toast&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;12px&lt;/span&gt; &lt;span class="m"&gt;16px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;10px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#fff&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;14px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;rgba&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;255&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;255&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;255&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;0.05&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="py"&gt;backdrop-filter&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;blur&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;8px&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="nl"&gt;border-left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;4px&lt;/span&gt; &lt;span class="nb"&gt;solid&lt;/span&gt; &lt;span class="n"&gt;currentColor&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="py"&gt;gap&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;10px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;align-items&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="nl"&gt;min-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;220px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Generate Toast Variants
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;&lt;span class="k"&gt;@arr&lt;/span&gt; &lt;span class="nt"&gt;toast-types&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;success&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="nt"&gt;error&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="nt"&gt;warning&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="nt"&gt;info&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="nt"&gt;arr&lt;/span&gt; &lt;span class="nt"&gt;i&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;1&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="nt"&gt;2&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="nt"&gt;3&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="nt"&gt;4&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;

&lt;span class="nc"&gt;.toast-&lt;/span&gt;&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="nt"&gt;arr&lt;/span&gt;&lt;span class="nc"&gt;.toast-types&lt;/span&gt;&lt;span class="o"&gt;[@&lt;/span&gt;&lt;span class="nt"&gt;arr&lt;/span&gt;&lt;span class="nc"&gt;.i&lt;/span&gt;&lt;span class="o"&gt;[]]&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;

  &lt;span class="nv"&gt;$type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;toast-types&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;[]];&lt;/span&gt;

  &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="n"&gt;event&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;toast-color&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$type&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;💡 Why the Index Mapping?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FSCSS currently resolves:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Selector → index ("1, 2, 3...")&lt;/li&gt;
&lt;li&gt;Value → actual array value ("success, error...")&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So we map them together:&lt;/p&gt;

&lt;p&gt;index → value → selector&lt;/p&gt;

&lt;p&gt;Result:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.toast-success&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;...&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nc"&gt;.toast-error&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;...&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Usage
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"toast toast-success"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Operation successful&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"toast toast-error"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Something went wrong&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"toast toast-warning"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Check your input&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"toast toast-info"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;New update available&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  ✨ Optional: Add Icons
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"toast toast-success"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;✔ Operation successful&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"toast toast-error"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;✖ Something went wrong&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"toast toast-warning"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;⚠ Check your input&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"toast toast-info"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;ℹ New update available&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  🔥 How It Works
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Flow:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Class → Array Mapping → Event Logic → Final Style&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;toast-success&lt;br&gt;
→ mapped to "success"&lt;br&gt;
→ passed into @event&lt;br&gt;
→ returns color&lt;br&gt;
→ applied to UI&lt;/p&gt;


&lt;h2&gt;
  
  
  Why This Pattern Matters
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Avoids repetitive CSS&lt;/li&gt;
&lt;li&gt;Centralizes UI logic&lt;/li&gt;
&lt;li&gt;Scales easily as types grow&lt;/li&gt;
&lt;li&gt;Keeps styling consistent&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  Takeaway
&lt;/h2&gt;

&lt;p&gt;This approach shows how FSCSS can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Handle UI state&lt;/li&gt;
&lt;li&gt;Generate variants automatically&lt;/li&gt;
&lt;li&gt;Apply logic inside styling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Without relying on JavaScript.&lt;/p&gt;


&lt;h2&gt;
  
  
  Next Ideas
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Add animations (slide-in, fade)&lt;/li&gt;
&lt;li&gt;Create stacked notifications (top-right)&lt;/li&gt;
&lt;li&gt;Build theme variations (dark/light)&lt;/li&gt;
&lt;li&gt;Auto-inject icons via "@event"&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;Clean. Scalable. Powerful.&lt;/p&gt;

&lt;p&gt;Welcome to structured CSS ❤️&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__user ltag__user__id__10079"&gt;
  &lt;a href="/fscss" class="ltag__user__link profile-image-link"&gt;
    &lt;div class="ltag__user__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F10079%2F03f5d662-652b-4b9a-be33-c148848119c2.jpg" alt="fscss image"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
      &lt;a href="/fscss" class="ltag__user__link"&gt;FSCSS tutorial&lt;/a&gt;
      Follow
    &lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a href="/fscss" class="ltag__user__link"&gt;
        Figured Shorthand Cascading Style Sheet
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;



</description>
      <category>webdev</category>
      <category>programming</category>
      <category>css</category>
      <category>fscss</category>
    </item>
    <item>
      <title>⚡ Creating Custom Functions in FSCSS (Yes, CSS Can Do This)</title>
      <dc:creator>FSCSS </dc:creator>
      <pubDate>Fri, 20 Mar 2026 16:24:13 +0000</pubDate>
      <link>https://dev.to/figsh/creating-custom-functions-in-fscss-yes-css-can-do-this-4f6g</link>
      <guid>https://dev.to/figsh/creating-custom-functions-in-fscss-yes-css-can-do-this-4f6g</guid>
      <description>&lt;p&gt;One thing about FSCSS is that you can define your own functions… inside your styles. Here’s a simple example of how that works. 👇&lt;/p&gt;

&lt;h2&gt;
  
  
  Custom randint Function
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;&lt;span class="k"&gt;@define&lt;/span&gt; &lt;span class="nt"&gt;randint&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;array&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="k"&gt;@random&lt;/span&gt;&lt;span class="o"&gt;(@&lt;/span&gt;&lt;span class="nt"&gt;use&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;array&lt;/span&gt;&lt;span class="o"&gt;))&lt;/span&gt; 
&lt;span class="p"&gt;}&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;What this function does:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Takes an array as an argument.&lt;/li&gt;
&lt;li&gt;Returns a random value directly from that array.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Defining Arrays&lt;br&gt;
First, we set up our possible values:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;&lt;span class="k"&gt;@arr&lt;/span&gt; &lt;span class="nt"&gt;sizes&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt; &lt;span class="nt"&gt;100px&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;150px&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;200px&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Using the Function&lt;br&gt;
We call our custom function and assign it to a variable:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;&lt;span class="nv"&gt;$height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="nf"&gt;randint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sizes&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now &lt;code&gt;$height&lt;/code&gt; dynamically becomes either &lt;code&gt;100px&lt;/code&gt;, &lt;code&gt;150px&lt;/code&gt;, or &lt;code&gt;200px&lt;/code&gt; (randomly selected at compile).&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Is Interesting
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Reusable Logic: You can create complex logic once and use it across your entire design system.&lt;/li&gt;
&lt;li&gt;Dynamic Design Systems: Build layouts that feel organic and varied rather than static and repetitive.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Example Usage
&lt;/h2&gt;

&lt;p&gt;Applying that logic to a class is straightforward:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scss"&gt;&lt;code&gt;&lt;span class="nc"&gt;.box&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; 
  &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;$height&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
  &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;$height&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
  &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#2c5364&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="p"&gt;}&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every compile can produce a slightly different UI!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.npmjs.com/package/fscss" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/fscss&lt;/a&gt; &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ui</category>
      <category>fscss</category>
      <category>programming</category>
    </item>
    <item>
      <title>FSCSS Import System You Actually Wanted</title>
      <dc:creator>FSCSS </dc:creator>
      <pubDate>Tue, 10 Mar 2026 15:09:22 +0000</pubDate>
      <link>https://dev.to/fscss/fscss-import-system-you-actually-wanted-212i</link>
      <guid>https://dev.to/fscss/fscss-import-system-you-actually-wanted-212i</guid>
      <description>&lt;p&gt;FSCSS &lt;code&gt;v1.1.16+&lt;/code&gt;: Import System &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;JavaScript-Style Imports&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="k"&gt;@import&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;
&lt;span class="n"&gt;flex-center&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="n"&gt;flex-wrap&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
&lt;span class="n"&gt;flex-x&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="n"&gt;flex-control&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;import&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;
&lt;span class="n"&gt;circle-progress&lt;/span&gt; &lt;span class="n"&gt;as&lt;/span&gt; &lt;span class="n"&gt;clp&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="n"&gt;progress-range&lt;/span&gt; &lt;span class="n"&gt;as&lt;/span&gt; &lt;span class="n"&gt;pr&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="n"&gt;progress-root&lt;/span&gt; &lt;span class="n"&gt;as&lt;/span&gt; &lt;span class="n"&gt;p-root&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="n"&gt;circle-progress&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;import&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="err"&gt;*&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="n"&gt;st-core&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;p-root&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; 
&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;clp&lt;/span&gt;&lt;span class="p"&gt;(.&lt;/span&gt;&lt;span class="n"&gt;progress&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;p-72&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;@pr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;72&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
&lt;span class="err"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;container&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;@flex-center&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="err"&gt;}&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Named imports. Aliases.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  5 Ways to Import
&lt;/h2&gt;

&lt;p&gt;Named imports&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="k"&gt;@import&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;flex-x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;flex-center&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="n"&gt;flex-control&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Aliases (when names clash)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="k"&gt;@import&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;circle-progress&lt;/span&gt; &lt;span class="n"&gt;as&lt;/span&gt; &lt;span class="n"&gt;cp&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="n"&gt;circle-progress&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Everything (when you're lazy)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="k"&gt;@import&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="err"&gt;*&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="n"&gt;themes&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Remote (CDN friendly)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="k"&gt;@import&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;btn&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="s1"&gt;"https://cdn.example/buttons.fscss"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Built-in libs (no quotes needed)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="k"&gt;@import&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="err"&gt;*&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="n"&gt;icon-mask&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Also: It's Faster Now&lt;/p&gt;

&lt;p&gt;v1.1.16+ CDN loads quicker than older versions.&lt;/p&gt;

&lt;p&gt;The Error Messages Actually Make Sense&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="k"&gt;@import&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="err"&gt;*&lt;/span&gt; &lt;span class="n"&gt;as&lt;/span&gt; &lt;span class="n"&gt;all&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="s1"&gt;"style.fscss"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;//&lt;/span&gt; &lt;span class="n"&gt;Warning&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;syntax&lt;/span&gt; &lt;span class="n"&gt;error&lt;/span&gt; &lt;span class="n"&gt;at&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;import&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="err"&gt;*&lt;/span&gt; &lt;span class="n"&gt;as&lt;/span&gt; &lt;span class="n"&gt;all&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="s1"&gt;"style.fscss"&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="n"&gt;unexpected&lt;/span&gt; &lt;span class="err"&gt;*&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  No more cryptic parser errors at 2am.
&lt;/h2&gt;

&lt;p&gt;Same modular architecture. Way less noise.&lt;/p&gt;

&lt;h3&gt;
  
  
  👉 &lt;a href="https://github.com/fscss-ttr/fscss-modules/" rel="noopener noreferrer"&gt;https://github.com/fscss-ttr/fscss-modules/&lt;/a&gt;
&lt;/h3&gt;

</description>
      <category>fscss</category>
      <category>css</category>
      <category>webdev</category>
      <category>frontend</category>
    </item>
    <item>
      <title>how it feels when simple code yields impressive results?</title>
      <dc:creator>FSCSS </dc:creator>
      <pubDate>Thu, 26 Feb 2026 23:04:46 +0000</pubDate>
      <link>https://dev.to/figsh/how-it-feels-when-simple-code-yields-impressive-results-4cde</link>
      <guid>https://dev.to/figsh/how-it-feels-when-simple-code-yields-impressive-results-4cde</guid>
      <description>&lt;p&gt;You ever write something small…&lt;/p&gt;

&lt;p&gt;Almost too simple…&lt;br&gt;
Then you refresh the browser and just stare at it like &lt;br&gt;
“Wait… I built this?” 😅&lt;/p&gt;

&lt;p&gt;That’s the feeling.&lt;/p&gt;

&lt;p&gt;Today I was playing with FSCSS and its simple plugin system, nothing complex, nothing heavy, just clean structure and small utilities working together.&lt;/p&gt;

&lt;p&gt;And somehow…&lt;br&gt;
It turns into a clean, responsive landing page.&lt;br&gt;
No bloated configs.&lt;br&gt;
Just focused structure.&lt;/p&gt;

&lt;p&gt;FSCSS plugs → simple syntax → real UI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here’s a small example landing page built using FSCSS:&lt;/strong&gt;&lt;br&gt;


&lt;iframe height="600" src="https://codepen.io/David-Hux/embed/qEaEyqg?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;


&lt;/p&gt;

&lt;p&gt;Version: &lt;strong&gt;1.1.13&lt;/strong&gt;&lt;br&gt;
It’s simple.&lt;/p&gt;

&lt;p&gt;But sometimes simple becomes powerful when it’s reusable.&lt;/p&gt;

&lt;p&gt;That’s what I love about building tools.&lt;br&gt;
You don’t always need 10,000 lines of code to create impact.&lt;/p&gt;

&lt;p&gt;Sometimes you just need the right abstraction.&lt;br&gt;
FSCSS keeps evolving, small, practical, useful.&lt;/p&gt;

&lt;p&gt;And honestly?&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>opensource</category>
      <category>webdev</category>
      <category>fscss</category>
    </item>
    <item>
      <title>Create Dynamic Shapes with FSCSS: A Quick Guide for Devs</title>
      <dc:creator>FSCSS </dc:creator>
      <pubDate>Sat, 06 Sep 2025 10:37:38 +0000</pubDate>
      <link>https://dev.to/figsh/create-dynamic-shapes-with-fscss-a-quick-guide-for-devs-2afi</link>
      <guid>https://dev.to/figsh/create-dynamic-shapes-with-fscss-a-quick-guide-for-devs-2afi</guid>
      <description>&lt;h3&gt;
  
  
  Create Dynamic Shapes with FSCSS
&lt;/h3&gt;

&lt;p&gt;If you’re looking to add some flair to your web projects, this FSCSS-powered shape generator is a lightweight way to create dynamic, colorful shapes with minimal code. Let’s dive into how it works and why it’s a neat tool for developers.&lt;/p&gt;




&lt;h3&gt;
  
  
  🔹 The Code
&lt;/h3&gt;

&lt;p&gt;Here’s the complete snippet to generate 10 unique shapes with FSCSS:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="c"&gt;&amp;lt;!-- Container for shapes --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;section&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"shapes"&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"shapes"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/section&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;style&amp;gt;&lt;/span&gt;
  &lt;span class="c"&gt;/* Import FSCSS initialization and themes */&lt;/span&gt;
  &lt;span class="k"&gt;@import&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;exec&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;_init&lt;/span&gt; &lt;span class="n"&gt;themes&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

  &lt;span class="c"&gt;/* Define arrays for shapes and colors */&lt;/span&gt;
  &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;arr&lt;/span&gt; &lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;cross&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;star&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;diamond&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;cloud&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;teardrop&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;triangle&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;hexagon&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;trapeziod&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;crescent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;arrow&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;square&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
  &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;arr&lt;/span&gt; &lt;span class="n"&gt;colors&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;blue&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;green&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;orange&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;purple&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;pink&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;brown&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;teal&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;gold&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;violet&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;gray&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

  &lt;span class="c"&gt;/* Style shapes using arrays */&lt;/span&gt;
  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;shape&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;nth-child&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="p"&gt;[]){&lt;/span&gt;
    &lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="err"&gt;2&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;width&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;height&lt;/span&gt; &lt;span class="o"&gt;[:&lt;/span&gt; &lt;span class="err"&gt;100&lt;/span&gt;&lt;span class="nt"&gt;px&lt;/span&gt;&lt;span class="o"&gt;;])&lt;/span&gt;
    &lt;span class="nt"&gt;clip-path&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="k"&gt;@event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;shape&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="p"&gt;[]);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="nc"&gt;.shape&lt;/span&gt;&lt;span class="nd"&gt;:nth-child&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="k"&gt;@arr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;colors&lt;/span&gt;&lt;span class="p"&gt;[]){&lt;/span&gt;
    &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;colors&lt;/span&gt;&lt;span class="p"&gt;[];&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;inline-block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;script&amp;gt;&lt;/span&gt;
  &lt;span class="c1"&gt;// Dynamically generate 10 shape divs&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;shapeContainer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;shapes&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;shape&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;createElement&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;div&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nx"&gt;shape&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;className&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;shape&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nx"&gt;shapeContainer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;appendChild&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;shape&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;

&lt;span class="c"&gt;&amp;lt;!-- FSCSS CDN --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://cdn.jsdelivr.net/npm/fscss@1.1.6"&lt;/span&gt; &lt;span class="na"&gt;async&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  🚀 Why It’s Cool
&lt;/h3&gt;

&lt;h4&gt;
  
  
  FSCSS Magic
&lt;/h4&gt;

&lt;p&gt;→ The &lt;code&gt;@arr&lt;/code&gt; and &lt;code&gt;@event&lt;/code&gt; directives let you loop through shapes and colors effortlessly, reducing repetitive CSS.&lt;/p&gt;

&lt;h4&gt;
  
  
  Dynamic &amp;amp; Scalable
&lt;/h4&gt;

&lt;p&gt;→ The JavaScript loop creates &lt;/p&gt;s on the fly, and &lt;a href="https://fscss.onrender.com/" rel="noopener noreferrer"&gt;FSCSS&lt;/a&gt; applies unique shapes and colors based on array indices.
&lt;h4&gt;
  
  
  Lightweight
&lt;/h4&gt;

&lt;p&gt;→ Minimal code for a visually engaging result, perfect for prototypes or creative UI elements.&lt;/p&gt;

&lt;h3&gt;
  
  
  ⚙️ How It Works
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;HTML&lt;/strong&gt; → A simple  acts as the container for dynamically generated shapes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;FSCSS&lt;/strong&gt; → Uses arrays (list for shapes, colors for backgrounds) and the &lt;code&gt;@event.shape&lt;/code&gt; function imported to apply &lt;code&gt;clip-path&lt;/code&gt; styles dynamically.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;JavaScript&lt;/strong&gt; → Creates 10 &lt;/p&gt; elements with the shape class, appended to the container.
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Styling&lt;/strong&gt; → Each shape gets a unique &lt;code&gt;clip-path&lt;/code&gt; and color, displayed inline for a grid-like effect.&lt;/p&gt;&lt;/li&gt;



&lt;h3&gt;
  
  
  🎨 Try It Out
&lt;/h3&gt;

&lt;p&gt;Drop this code into your HTML, ensure the FSCSS library is loaded, and watch colorful shapes come to life!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It’s great for:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;UI experiments&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Loading animations&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Interactive backgrounds&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  📚 Learn More
&lt;/h3&gt;

&lt;p&gt;Check out the &lt;a href="https://fscss.onrender.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;FSCSS&lt;/strong&gt;&lt;/a&gt; for more on &lt;code&gt;@arr&lt;/code&gt;, &lt;code&gt;@event&lt;/code&gt; and much more.&lt;br&gt;
Share your tweaks or use cases in the comments! 🚀&lt;/p&gt;


&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Ditch the Repetition! Introducing @arr for Smart CSS with FSCSS</title>
      <dc:creator>FSCSS </dc:creator>
      <pubDate>Thu, 31 Jul 2025 19:51:02 +0000</pubDate>
      <link>https://dev.to/figsh/ditch-the-repetition-introducing-arr-for-smart-css-with-fscss-1oia</link>
      <guid>https://dev.to/figsh/ditch-the-repetition-introducing-arr-for-smart-css-with-fscss-1oia</guid>
      <description>&lt;p&gt;Hey everyone! 👋 Ever find yourself writing the same CSS properties over and over for different elements? Or manually creating nth-child rules for a series of items? There's a smarter way!&lt;/p&gt;

&lt;p&gt;I wanted to share a super-handy feature from FSCSS that's a game-changer for writing clean, efficient styles: the &lt;code&gt;@arr&lt;/code&gt; array declaration.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is &lt;code&gt;@arr&lt;/code&gt;?
&lt;/h2&gt;

&lt;p&gt;It's a simple, powerful way to declare and reuse lists of values directly in your CSS. Think of it as a variable for a series of values—perfect for colors, spacings, font stacks, or any repeatable pattern.&lt;/p&gt;

&lt;p&gt;🔧 &lt;strong&gt;The Basic Syntax&lt;/strong&gt;&lt;br&gt;
Declaring an array is as simple as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="k"&gt;@arr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;arrayName&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;value1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value3&lt;/span&gt;&lt;span class="p"&gt;,...])&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can then use it in some ways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;@arr.arrayName[]&lt;/code&gt;: Iterates through the values, perfect for applying a different value to each element in a sequence.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;@arr.arrayName(separator)&lt;/code&gt;: Expands all values at once, great for creating a single string like a font stack or a list of properties.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;@rr.arrayName[index]&lt;/code&gt;, 1-Indexed: Access begins from index &lt;code&gt;[1]&lt;/code&gt;, not &lt;code&gt;[0]&lt;/code&gt;.FSCSS arrays are 1-indexed
Accessing out-of-bound indexes returns undefined&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let's dive into some examples to see how this works in practice.&lt;/p&gt;

&lt;p&gt;🎨 &lt;strong&gt;Example 1: Sequential Styling&lt;/strong&gt;&lt;br&gt;
Imagine you have a list and want to give each item a different color without writing a separate rule for each one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Before &lt;code&gt;@arr&lt;/code&gt;:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="nd"&gt;:nth-child&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="err"&gt;1&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="nd"&gt;:nth-child&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="err"&gt;2&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;green&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="nd"&gt;:nth-child&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="err"&gt;3&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;blue&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;With &lt;code&gt;@arr&lt;/code&gt;:&lt;/strong&gt;&lt;br&gt;
First, declare your color array:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="k"&gt;@arr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;colors&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;green&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="no"&gt;blue&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, use the &lt;code&gt;[]&lt;/code&gt; syntax to iterate through it with your selector:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="nd"&gt;:nth-child&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="k"&gt;@arr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;colors&lt;/span&gt;&lt;span class="p"&gt;[])&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;colors&lt;/span&gt;&lt;span class="p"&gt;[];&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The first &lt;code&gt;li&lt;/code&gt; gets &lt;code&gt;background-color: red;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;The second gets &lt;code&gt;background-color: green;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;The third gets &lt;code&gt;background-color: blue;&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So clean! ✨&lt;/p&gt;

&lt;p&gt;🖋️ &lt;strong&gt;Example 2: Creating a Font Stack&lt;/strong&gt;&lt;br&gt;
This is perfect for consolidating fallback fonts into a single, reusable variable.&lt;/p&gt;

&lt;p&gt;Declare your font array:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="k"&gt;@arr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;fonts&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Arial&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;'Helvetica Neue'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;sans-serif&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, use the &lt;code&gt;()&lt;/code&gt; syntax to expand all values into a single property:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;body&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;font-family&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="err"&gt;@&lt;/span&gt;&lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;fonts&lt;/span&gt;&lt;span class="p"&gt;(,);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;font-family&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;Arial&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;'Helvetica Neue'&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;sans-serif&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No more re-typing that long list of fonts!&lt;/p&gt;

&lt;p&gt;📏 &lt;strong&gt;Example 3: Dynamic CSS with Prefixes&lt;/strong&gt;&lt;br&gt;
You can even add custom prefixes and suffixes when you expand an array, which is great for generating dynamic properties.&lt;/p&gt;

&lt;p&gt;Declare a margins array:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="k"&gt;@arr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;margins&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="m"&gt;10px&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;20px&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;30px&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Use the &lt;code&gt;()&lt;/code&gt; syntax with a custom prefix &lt;code&gt;margin:&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;"margin: @arr.margins(;margin: );"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;content&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;"margin: 10px; margin: 20px; margin: 30px;"&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is a powerful pattern for generating responsive units or dynamic classes.&lt;/p&gt;

&lt;p&gt;✨ &lt;strong&gt;Why This Matters&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;DRY (Don't Repeat Yourself)&lt;/strong&gt;: Define your values once and reuse them everywhere.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Maintainability&lt;/strong&gt;: Need to change a color or a font? Update the array declaration, and it's changed everywhere.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Readability&lt;/strong&gt;: Your CSS becomes much cleaner and easier to understand.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automation&lt;/strong&gt;: &lt;code&gt;@arr&lt;/code&gt; handles the repetition for you, saving you time and effort.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you're using FSCSS, give &lt;code&gt;@arr&lt;/code&gt; a try—it'll simplify your workflow and make your stylesheets much smarter.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://fscss.devtem.org/" rel="noopener noreferrer"&gt;learn more about FSCSS&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;What are your favorite ways to use arrays in your CSS&lt;/p&gt;




</description>
    </item>
    <item>
      <title>ANIMATION SHORTHAND FSCSS</title>
      <dc:creator>FSCSS </dc:creator>
      <pubDate>Sat, 25 Jan 2025 22:33:39 +0000</pubDate>
      <link>https://dev.to/figsh/animation-shorthand-using-fscss-b7m</link>
      <guid>https://dev.to/figsh/animation-shorthand-using-fscss-b7m</guid>
      <description>&lt;p&gt;FSCSS &lt;code&gt;$(@keyframes ...)&lt;/code&gt; method&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/David-Hux/embed/vEBQbeK?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;a href="https://fscss.onrender.com" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv9gskslfxro8jo3ayaul.jpg" alt=" " width="720" height="597"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>codepen</category>
      <category>fscss</category>
      <category>animation</category>
      <category>css</category>
    </item>
    <item>
      <title>FSCSS $(@keyframes...) method</title>
      <dc:creator>FSCSS </dc:creator>
      <pubDate>Sat, 25 Jan 2025 07:32:51 +0000</pubDate>
      <link>https://dev.to/figsh/example-fscss-animation-3n5b</link>
      <guid>https://dev.to/figsh/example-fscss-animation-3n5b</guid>
      <description>&lt;p&gt;FSCSS &lt;code&gt;$()&lt;/code&gt; method,&lt;br&gt;
Syntax: &lt;code&gt;$(@keyframes...)&lt;/code&gt;&lt;br&gt;
Parameters: &lt;code&gt;$(@keyframes animation-name, selectors &amp;amp;[animation settings])&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/David-Hux/embed/MYgzQPx?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>css</category>
      <category>fscss</category>
      <category>html</category>
      <category>webdev</category>
    </item>
    <item>
      <title>CSS moon night</title>
      <dc:creator>FSCSS </dc:creator>
      <pubDate>Thu, 23 Jan 2025 08:08:13 +0000</pubDate>
      <link>https://dev.to/figsh/css-moon-night-128o</link>
      <guid>https://dev.to/figsh/css-moon-night-128o</guid>
      <description>&lt;p&gt;HTML AND CSS MOON NIGHT EFFECT&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/David-Hux/embed/RNbeZda?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>codepen</category>
      <category>fscss</category>
      <category>css</category>
      <category>html</category>
    </item>
    <item>
      <title>CSS Background Shake Animation</title>
      <dc:creator>FSCSS </dc:creator>
      <pubDate>Tue, 31 Dec 2024 07:27:54 +0000</pubDate>
      <link>https://dev.to/figsh/css-background-shake-animation-5b2a</link>
      <guid>https://dev.to/figsh/css-background-shake-animation-5b2a</guid>
      <description>&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/David-Hux/embed/emOGERM?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://ln.run/UM_vZ" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;ln.run&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>codepen</category>
      <category>fscss</category>
    </item>
  </channel>
</rss>
