This entire project was originally created by Diego Toda de Oliveira. I loved the template so much, I decided to clone it, remove the more complex/particular sections, and add a few of my own to make it a more complete template. The following text is all by Diego.
This is a simple style guide to get a project started. It contains some basic styles for Typography in general, buttons, and a few components. I usually don't overdo more than that since every project is unique. But a good approach in general is:
All sizes (font size, spacing, etc) on this template are based on a 8px grid system. You can find some references about this system here and here. I prefer to use px to set up the base unit and EMs to define the sizes and scale.
Basically it works like this:
REM is awesome and is your friend. But I prefer to use EMs as a size unit because it allows you to set the scale of your components individually, since it's relative to the parent element, not the root element.
Consider this scenario: you have a box component, which all elements are sized using EMs. On mobile, the component feels too small. How do you fix that?
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.