Skip to content

Design Rules You Can Always Follow

Original article

Use near-black and near-white instead of pure black and white

Saturate your neutrals

If nothing else, add just a hint of color to your near-black and near-white.

Use high contrast for important elements

Everything in your design should be deliberate

Why is the font size as it is? How about letter spacing? Margins around different elements?

Optical alignment is often better than mathematical alignment

Moreso for irregular shapes and elements.

Probably not always, but it many cases it can make the design feel more coherent. Is kind of at odds with the earlier optical vs mathematical alignment.

Lower letter spacing and line height with larger text. Raise them with smaller text

The bigger the text, the less space you need between each letter and each line.

Container borders should contrast with both the container and the background

Border should be darker or brigther than both not something in the middle of the other elements.

Everything should be aligned with something else

If we want to feel like the elements are related to each other. Things that are aligned feel like they belong together and vice-versa.

Colours in a palette should have distinct brightness values

It will feel like the colours don’t compete with each other as much.

If you saturate your neutrals you should use warm or cool colours, not both

Elements should go in order of visual weight

Left to right for westeners for example.

If you use a horizontal grid, use 12 columns

12 column grid can be broken up into 1 column, 2 columns, 3 columns, and 4 columns, so it gives you a lot of flexibility.

Spacing should go between points of high contrast

Closer elements should be lighter

Feels more natural because it simulates how light often bounces in real life.

Make drop shadow blur values double their distance values

Put simple on complex or complex on simple

A complex background (e.g. a colourful gradient fill) works best if the foreground (e.g. text) is simple. (Remember the black car with color fade text vinyl in Need For Speed)

Keep container colours within brightness limits

The brightness difference between background and container should be within 12% for dark interfaces, and 7% for light interfaces.

Make outer padding the same or more than inner padding

Keep body text at 16px or above

16px is the default text size in most browsers.

Use a line length around 70 characters

Make horizontal padding twice the vertical padding in buttons

Use two typefaces at most

Nest corners properly

Don’t put two hard divides next to each other