About components and patterns

Think of components as lego blocks you can use to build the look and content of your sites. Think of patterns as assembled packages of behaviour.

At the lower level there are components which are a type of "ingredient" used to assemble into the higher level patterns with richer templates with usability guidance.

Type 1: Components

Components are intended for re-use and should be named for what they are; that is:

This ensures that that a box will always be rectangular-ish pattern on pages, whereas an "introduction" may be a box today, but become simply large text after a redesign.

When naming components, use something simple and obvious.

Component types

We use a variation of the atomic design methodology. We use: elements, blocks, and containers.

More about the atomic design concept here.

Components have

Type 2: Patterns

If your pattern is primarily intended to be used for particular websites or a brand, give it a name that is attached to the role it performs; that is:

Naming for the role the pattern does allows us to change the future visual structure, so a "display headline" today may have a black background, but tomorrow might have no background and be large and italic text.

Patterns have

Learn more

For further guidance on the distinctions, see: Patterns ≠ Components and UK.gov's information on patterns vs components.


See also


In this section

Browser support

We focus support on major browsers in use by 95%+ of our audiences, and we ensure the site is navigable and usable by the remaining 5%.

About components and patterns

Think of components as lego blocks you can use to build the look and content of your sites. Think of patterns as assembled packages of behaviour.

Creating new components

This codebase includes a folder and file creation tool.

Sass and CSS guidelines

The Visual Framework delivers much of its value through Sass.

Discussions, exchanges and help

Regardless of where, we welcome contribution, ideas and constructive criticism.

Image handling best practice

It's best to not let CSS do the image cropping.

JavaScript guidelines

We use "just enough" JavaScript in the Visual Framework.

Using British and American english if code and documentation

For the language and spelling of documentation and code.

User base of the Visual Framework code

This project is designed to be used by organisations with experienced developers delivery life science websites.

Component versioning interoperability

Each Visual Framework component carries its own semantic versioning.

Content guidelines

Unique to the web are certain types of content that support user interaction.

Find an issue on this page? Propose a change or discuss it.