{"slug":"styling","title":"Styling","headings":["css()"],"contentHtml":"<h1 id=\"styling\">Styling</h1><h2 id=\"css\">css()</h2><pre class=\"shiki github-dark\" style=\"background-color:#17171d;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#F97583\">import</span><span style=\"color:#E1E4E8\"> { css } </span><span style=\"color:#F97583\">from</span><span style=\"color:#9ECBFF\"> \"ruri\"</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span style=\"color:#F97583\">const</span><span style=\"color:#79B8FF\"> card</span><span style=\"color:#F97583\"> =</span><span style=\"color:#B392F0\"> css</span><span style=\"color:#E1E4E8\">({</span></span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">  background: </span><span style=\"color:#9ECBFF\">\"#111\"</span><span style=\"color:#E1E4E8\">,</span></span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">  padding: </span><span style=\"color:#9ECBFF\">\"16px\"</span><span style=\"color:#E1E4E8\">,</span></span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">  borderRadius: </span><span style=\"color:#9ECBFF\">\"8px\"</span><span style=\"color:#E1E4E8\">,</span></span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">})</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span style=\"color:#B392F0\">div</span><span style=\"color:#E1E4E8\">({ class: card }, </span><span style=\"color:#9ECBFF\">\"styled\"</span><span style=\"color:#E1E4E8\">)</span></span></code></pre><p>The style object is hashed into a stable class name. In the browser the rule is injected once into a <code>&lt;style data-ruri&gt;</code> element; on the server rules are collected and serialized with <code>collectStyles()</code>:</p><pre class=\"shiki github-dark\" style=\"background-color:#17171d;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#F97583\">import</span><span style=\"color:#E1E4E8\"> { collectStyles } </span><span style=\"color:#F97583\">from</span><span style=\"color:#9ECBFF\"> \"ruri/server\"</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span style=\"color:#F97583\">const</span><span style=\"color:#79B8FF\"> page</span><span style=\"color:#F97583\"> =</span><span style=\"color:#9ECBFF\"> `&#x3C;style>${</span><span style=\"color:#B392F0\">collectStyles</span><span style=\"color:#9ECBFF\">()</span><span style=\"color:#9ECBFF\">}&#x3C;/style>`</span></span></code></pre><p>Media queries:</p><pre class=\"shiki github-dark\" style=\"background-color:#17171d;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#F97583\">const</span><span style=\"color:#79B8FF\"> wide</span><span style=\"color:#F97583\"> =</span><span style=\"color:#B392F0\"> css</span><span style=\"color:#E1E4E8\">({ fontSize: </span><span style=\"color:#9ECBFF\">\"24px\"</span><span style=\"color:#E1E4E8\"> }, { media: </span><span style=\"color:#9ECBFF\">\"(min-width: 600px)\"</span><span style=\"color:#E1E4E8\"> })</span></span></code></pre>"}