Minimum Page comes from a frustration with CSS resets and bases. Ripping down the styling only to rebuild many of the same styles is unnecessary, especially for defaults common to all browsers, such as:

In other cases, such as list-style, it can be problematic to reset a style and subsequently try to redefine it. From the YUI base, consider the code:

/* reset.css */
li {

/* base.css */
ol li {
  /*giving OL's LIs generated numbers*/
  list-style: decimal outside;	
ul li {
  /*giving UL's LIs 
    generated disc markers*/
  list-style: disc outside;

A problem occurs in nested lists. In the following example, the nested ordered list should be bulleted with numbers.

  • Unordered list (should be bulleted)
    1. Nested ordered list (should be numbered)

The selectors ol > li and ul > li solve this problem, but frequently people unthinkingly insert minimised code.


Outside of forms, styling is minimal. Margins, padding and a few backgrounds are defined. Links are set to light blue and the background and font colour reverse when they have keyboard focus .

For the most part, forms have been ripped out of the Skeleton Framework with a a few minor changes and some compacting of code.

The demo page contains the most common elements. Forms have a demo of their own.


The main aim of Minimum Page is to produce a compact base that doesn't double up common browser defaults. The feel of the page should be the same for visitors in all browsers, without worrying about the odd one or two pixel difference.

To encourage people to consider the code they insert in their site, the styles aren't provided in a minimised form. Developers should edit the original base to make generic, site wide changes.

Isn't this just normalise.css?

No. Sort off. Maybe. I don't know!

Normalise.css and Minimum Page both come from a similar place. Both aim to do away with the traditional CSS reset and only style browser differences. Normalise.css takes a stricter approach and avoids much in the way of styling.

Minimum page, on the other hand, includes a little more styling (much more for forms) and leaves out many of the minor differences.

Neither project is the right approach, which is why neither project provides a minimised version for you to blindly add to your CSS assets.

How you can help

Minimum Page is on github. If you have a suggestion for some specific code, fork it, make the changes and submit a pull request. If you'd like to make some general comments, feel free to add it to the issues section of the repository.

When adding code, remember to keep it as compact as possible. In terms of CSS bases, the spirit of the project is in the name: to keep things at a minimum.