<?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>Forem: Tommy Hodgins</title>
    <description>The latest articles on Forem by Tommy Hodgins (@tomhodgins).</description>
    <link>https://forem.com/tomhodgins</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%2F31870%2F9e24262e-f72e-496c-997a-7742b42f52e8.jpg</url>
      <title>Forem: Tommy Hodgins</title>
      <link>https://forem.com/tomhodgins</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/tomhodgins"/>
    <language>en</language>
    <item>
      <title>Five Things I Wish I Knew Starting Out</title>
      <dc:creator>Tommy Hodgins</dc:creator>
      <pubDate>Wed, 08 Nov 2017 21:11:57 +0000</pubDate>
      <link>https://forem.com/tomhodgins/five-things-i-wish-i-knew-starting-out-7en</link>
      <guid>https://forem.com/tomhodgins/five-things-i-wish-i-knew-starting-out-7en</guid>
      <description>&lt;ol&gt;
&lt;li&gt;&lt;p&gt;today's trendy library often turns into tomorrow's technical debt: try to build projects as lightly as possible&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;do things correctly the first time, because you &lt;em&gt;wont&lt;/em&gt; be coming back to refactor it later like you plan&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;be liberal when forking, backing up, and saving copies of your work — disk space is &lt;em&gt;much&lt;/em&gt; cheaper than labour&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;you learn more by building 100 tiny projects than 10 large projects, repetition reveals patterns and teaches skills faster than the size of the projects&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;there is no end to what you can learn about web development but your lifetime is finite, to stay on top of your skillset you must learn to stay focused&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>career</category>
    </item>
    <item>
      <title>Reflections on the first CSS Stylesheet</title>
      <dc:creator>Tommy Hodgins</dc:creator>
      <pubDate>Wed, 18 Oct 2017 15:26:31 +0000</pubDate>
      <link>https://forem.com/tomhodgins/reflections-on-the-first-css-stylesheet-33c</link>
      <guid>https://forem.com/tomhodgins/reflections-on-the-first-css-stylesheet-33c</guid>
      <description>&lt;p&gt;This is probably the first CSS stylesheet released to the public, it comes from HÃ¥kon W Lie's &lt;a href="https://www.w3.org/People/howcome/p/cascade.html"&gt;initial proposal for CSS&lt;/a&gt; in October 1994!&lt;/p&gt;

&lt;p&gt;As I look over it in 2017 I notice some interesting things represented here:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;single line comments (all comments here are single-line comments starting with &lt;code&gt;#&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;custom-set cascade (no calculating based on selector specificity)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;pt&lt;/code&gt;, &lt;code&gt;mm&lt;/code&gt;, and &lt;code&gt;cm&lt;/code&gt; units are as old/foundational to CSS as &lt;code&gt;px&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Setting &lt;code&gt;font.size&lt;/code&gt; or &lt;code&gt;space.left&lt;/code&gt; then using &lt;code&gt;font.size * 2&lt;/code&gt; and &lt;code&gt;space.left + 0.5cm&lt;/code&gt; later as values is like a precursor to CSS variables today&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;.first&lt;/code&gt; seems to be either a pseudo-element like &lt;code&gt;::first-line&lt;/code&gt; or &lt;code&gt;::first-letter&lt;/code&gt;, or a pseudo-class like &lt;code&gt;:first&lt;/code&gt;, &lt;code&gt;:first-child&lt;/code&gt; or &lt;code&gt;:first-of-type&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;x &amp;gt; y ? a : b&lt;/code&gt; similar to at-rule logic like &lt;code&gt;@media&lt;/code&gt; queries&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;REAL_HEIGHT&lt;/code&gt; looks like environment values, something brand new in CSS&lt;/li&gt;
&lt;li&gt;separate screen and print media styles&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So even as CSS grows over the years, it's still striving to match some of the expressive power intended from the beginning.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;#&lt;/span&gt;
&lt;span class="c1"&gt;# This is an initial style sheet. It should provide fallback values&lt;/span&gt;
&lt;span class="c1"&gt;# with low influence. Also, at the end, the user has added some&lt;/span&gt;
&lt;span class="c1"&gt;# favorite settings&lt;/span&gt;
&lt;span class="c1"&gt;#&lt;/span&gt;

&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;          &lt;span class="c1"&gt;# 0% impact, i.e. fallbacks&lt;/span&gt;

&lt;span class="c1"&gt;# first, set some common defaults&lt;/span&gt;

&lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;family&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;times&lt;/span&gt;
&lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;size&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="n"&gt;pt&lt;/span&gt;        &lt;span class="c1"&gt;# alternative units are px, mm, cm&lt;/span&gt;
&lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;slant&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;normal&lt;/span&gt;
&lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;weight&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;normal&lt;/span&gt;

&lt;span class="n"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;font&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;size&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;size&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;
&lt;span class="n"&gt;h2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;font&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;size&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;size&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mf"&gt;2.5&lt;/span&gt;
&lt;span class="n"&gt;h3&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;font&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;size&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;size&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;

&lt;span class="n"&gt;strong&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;font&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;weight&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;bold&lt;/span&gt;
&lt;span class="n"&gt;em&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;font&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;slant&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;italics&lt;/span&gt;
&lt;span class="n"&gt;tt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;font&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;spacing&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;proportional&lt;/span&gt;


&lt;span class="n"&gt;align&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;style&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;left&lt;/span&gt;      &lt;span class="c1"&gt;# paragraph alignment&lt;/span&gt;
&lt;span class="n"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;align&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;style&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;center&lt;/span&gt;


&lt;span class="n"&gt;space&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;left&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="n"&gt;pt&lt;/span&gt;        &lt;span class="c1"&gt;# set the white space surrounding paragraphs&lt;/span&gt;
&lt;span class="n"&gt;space&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;right&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="n"&gt;pt&lt;/span&gt;
&lt;span class="n"&gt;space&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;above&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="n"&gt;pt&lt;/span&gt;
&lt;span class="n"&gt;space&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;below&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="n"&gt;pt&lt;/span&gt;
&lt;span class="n"&gt;space&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;first&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;space&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;left&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mf"&gt;0.5&lt;/span&gt;&lt;span class="n"&gt;cm&lt;/span&gt;    &lt;span class="c1"&gt;# i.e. some extra indentation&lt;/span&gt;

&lt;span class="n"&gt;head&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;space&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;above&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="n"&gt;pt&lt;/span&gt;         &lt;span class="c1"&gt;# straying from the 4pt default above&lt;/span&gt;

&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;space&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;left&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="n"&gt;cm&lt;/span&gt;           &lt;span class="c1"&gt;# extra indentation for all lists&lt;/span&gt;
&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;space&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;first&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="n"&gt;cm&lt;/span&gt;

&lt;span class="c1"&gt;# window-wide settings&lt;/span&gt;

&lt;span class="no"&gt;AGE&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;background&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pale_yellow&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;background&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;white&lt;/span&gt;

&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;foreground&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;black&lt;/span&gt;

&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;width&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;400&lt;/span&gt;&lt;span class="n"&gt;px&lt;/span&gt;
&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;height&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;REAL_HEIGHT&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="n"&gt;px&lt;/span&gt;

&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;left&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="n"&gt;cm&lt;/span&gt;
&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;right&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="n"&gt;cm&lt;/span&gt;
&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;above&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="n"&gt;cm&lt;/span&gt;
&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;below&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="n"&gt;cm&lt;/span&gt;

&lt;span class="c1"&gt;#&lt;/span&gt;
&lt;span class="c1"&gt;# paper works different&lt;/span&gt;
&lt;span class="c1"&gt;#&lt;/span&gt;

&lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;font&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;size&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="n"&gt;pt&lt;/span&gt;

&lt;span class="c1"&gt;#&lt;/span&gt;
&lt;span class="c1"&gt;# The user has redefined some of the default values below&lt;/span&gt;
&lt;span class="c1"&gt;#&lt;/span&gt;

&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;    &lt;span class="c1"&gt;# first, redefine influence to dictatorship&lt;/span&gt;

&lt;span class="n"&gt;font&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;family&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;helvetica&lt;/span&gt;

&lt;span class="c1"&gt;#&lt;/span&gt;
&lt;span class="c1"&gt;# after this, the rest of the influence is handed over to the style&lt;/span&gt;
&lt;span class="c1"&gt;# sheets of the incoming documents&lt;/span&gt;
&lt;span class="c1"&gt;#&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>css</category>
    </item>
    <item>
      <title>Breaking Free from the CSS Specificity Trap!</title>
      <dc:creator>Tommy Hodgins</dc:creator>
      <pubDate>Sat, 14 Oct 2017 21:25:56 +0000</pubDate>
      <link>https://forem.com/tomhodgins/breaking-free-from-the-css-specificity-trap-ehb</link>
      <guid>https://forem.com/tomhodgins/breaking-free-from-the-css-specificity-trap-ehb</guid>
      <description>&lt;p&gt;Have you ever wished the specificity of the CSS rules you were writing could be different from the selector you have used?&lt;/p&gt;

&lt;p&gt;Watch me break free from the specificity trap using EQCSS and ReSpec, and learn how the technique works so you can use it in your own projects!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=z9FtZGJHKYY"&gt;Setting Custom Specificity for CSS Rules on YouTube&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://codepen.io/tomhodgins/pen/QqZwva"&gt;EQCSS demo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/eqcss/eqcss"&gt;EQCSS Homepage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://codepen.io/tomhodgins/pen/mBzywr"&gt;ReSpec demo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tomhodgins/respec"&gt;ReSpec Homepage&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thanks for watching, happy hacking!&lt;/p&gt;

&lt;p&gt;Follow me on twitter ➸ &lt;a href="https://twitter.com/innovati"&gt;https://twitter.com/innovati&lt;/a&gt;&lt;/p&gt;

</description>
      <category>css</category>
      <category>rwd</category>
      <category>eqcss</category>
    </item>
    <item>
      <title>My CSS Wishlist</title>
      <dc:creator>Tommy Hodgins</dc:creator>
      <pubDate>Tue, 12 Sep 2017 01:56:43 +0000</pubDate>
      <link>https://forem.com/tomhodgins/my-css-wishlist</link>
      <guid>https://forem.com/tomhodgins/my-css-wishlist</guid>
      <description>&lt;h2&gt;
  
  
  Selectors
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;:previous&lt;/code&gt; to select the previous element sibling&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;:parent&lt;/code&gt; to select the parent element&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;:closest(selector)&lt;/code&gt; to select the closest ancestor matching a selector&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;:ancestor(selector)&lt;/code&gt; to select all ancestors matching a selector&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;[attribute &amp;lt; number]&lt;/code&gt; select if attribute is less than a number&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;[attribute &amp;gt; number]&lt;/code&gt; select if attribute is greater than a number&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;[attribute &amp;lt;= number]&lt;/code&gt; select if attribute is less or equal to a number&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;[attribute &amp;gt;= number]&lt;/code&gt; select is attribute is greater or equal to a number&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;:attribute(partial-name-*)&lt;/code&gt; select by partial attribute match&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;:tag(partial-name-*)&lt;/code&gt; select by partial tag name match&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  At-Rules
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;@element selector (condition) { stylesheet }&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Units
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;ew&lt;/code&gt; 1% of element's width&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;eh&lt;/code&gt; 1% of element's height&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;emin&lt;/code&gt; equal to &lt;code&gt;min(1ew, 1eh)&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;emax&lt;/code&gt; equal to &lt;code&gt;max(1ew, 1eh)&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Values
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;auto-expand&lt;/code&gt; as a value for &lt;code&gt;width&lt;/code&gt; and &lt;code&gt;height&lt;/code&gt; properties&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;offsetWidth&lt;/code&gt;, &lt;code&gt;offsetHeight&lt;/code&gt;, &lt;code&gt;offsetLeft&lt;/code&gt;, &lt;code&gt;offsetTop&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;scrollWidth&lt;/code&gt;, &lt;code&gt;scrollHeight&lt;/code&gt;, &lt;code&gt;scrollTop&lt;/code&gt;, &lt;code&gt;scrollLeft&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;innerHTML.length&lt;/code&gt;, &lt;code&gt;value.length&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;cursor &lt;code&gt;X&lt;/code&gt; position, cursor &lt;code&gt;Y&lt;/code&gt; position&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Properties
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;aspect-ratio&lt;/code&gt; to set height based on the element's width and a ratio&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Functions
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;clamp(min, mid, max)&lt;/code&gt; to limit scalable values with a minimum and maximum&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;round(number)&lt;/code&gt; gives the nearest integer to a given number&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;floor(number)&lt;/code&gt; gives the largest integer equal or less than a given number&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>css</category>
      <category>rwd</category>
      <category>design</category>
    </item>
  </channel>
</rss>
