Three design principles for your CSS layout

Industry experts agree that typography, spacing and colour form the key basic principles for designing things like layouts for the web. They are the three ingredients or building blocks to work with to create a cohesive composition.

In this article, we explore how to create a simple single column layout with these design principles in detail. HTML and CSS will be the technologies that we will use as tools to create this layout. Doing this practice will help you learn key concepts and build your web development skills.

1. Typography

To set the type, CSS provides the following properties, font-family, font-size, line-height and font-weight.

In this example, we are setting the font-family to Helvetica. It is web-safe, well-supported by browsers and very popular. We will set the font weight explicitly. The Helvetica font provides two standard font weights. We will set those explicitly to what the standard typically is 400 for <p> and 700 for <h1>.

Typography systems also set a ratio to the font-size and line-height. This is helpful as it helps you build visual hierarchy in your design. A good rule of thumb is to set the line-height to approximately 150% of the font size.

body {font-family: Helvetica;}h1 {font-weight: 700;font-size: 2em;line-height: 3em;}p {font-weight: 400;font-size: 1em;line-height: 1.5em;}

2. Spacing

A lot of CSS frameworks and libraries use rows and columns to build layouts. In this example, we will are creating a simple layout so we will only work with rows. To implement design specifications like fixed or fluid width and manage the inner and outer spacing around your html elements, it is helpful to understand how the CSS box model works. You can find more information about it here on w3schools.

For this example, we are only specifying the padding property for spacing around the row element. I have added a simple border property to use as a guideline when working with the spacing.

.row {
padding: 0 1em;
border: solid 1px black;

3. Colour

We will use a simple monochromatic greyscale colour palette with two combinations: black and white. They also have a sharp contrast and are polar opposites in colour theory. These CSS properties will help us create and apply a dark theme to the html element: colour and background.

.dark {
background: #000;
colour: #fff;

Here is the complete code on Code Pen with the resulting layout





Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Why Does Your Team Need Jira and Confluence?

What is the use of Progressive Web Apps

Java 8 | String Method 3

How to Connect windows to aws with aws sdk php

If you hate coding, what can help you?

What Is Private Cloud?

Flexible Search and Restrictions in SAP Hybris(Commerce)

How to Configure a Web Server on Docker and Why.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store


More from Medium

Don’t want to mess around with custom CSS? Bootstrap has you covered.

Week1: 3 Weeks in 1: The Basics of HTML & CSS Completed

Bad habit to design an HTML template.

Avoid mistakes in HTML template Designing

CSS Specificity