There is a problem that has plagued the web ever since graphical designs for web pages started to become common – and yet it's a problem that's never been solved. You see, different sized monitors can handle different widths of page, and yet HTML doesn't really let you take width into consideration when you're designing. Why is this such a problem? Well, let me explain.
What is Resolution?
Before we can get to the problem, you need to know what a screen resolution is. To put it simply, your resolution is the number of pixels that can be displayed across your monitor, horizontally and vertically. For example, at 640×480 resolution (the lowest anyone still uses), your screen is 640 pixels wide by 480 pixels high.
Most monitors can handle more than one resolution, and will give you a choice between them. Typically, there will be a lower resolution that fits less pixels on the screen but makes them look bigger, and a higher one that fits more but makes everything look small. The default is usually somewhere in the middle.
To check the resolution you're using now, right click on your desktop and choose Properties. Now go to the Settings tab and look at the screen resolution section. On most computers, there will be up to four settings to choose from: 640×480, 800×600, 1024×768 and 1280×1024. It's worth changing your resolution a few times and going to some web pages, to get an idea of how much width each setting gives you.
Now, you have to realise that the maximum width of your website, in pixels, will be the lowest width you expect your site's visitors to be using. In almost all cases, this is 800×600: the 640×480 users are now a small enough minority to mostly ignore, as they'll be used to sites displaying incorrectly. At 800×600 and up, though, you should test your site to make sure it looks good.
The Price of Failure.
If you don't test your site correctly, then various things will go wrong. At resolutions lower than the one you designed the site for, visitors may see horizontal scrollbars. If you fix the site's width too low, though, visitors using higher resolutions may just see a thin strip of your website in the middle of their screen.
Possible Solutions.
The most popular solution to the resolution problem is to just design as if everyone was using 800×600 – after all, people with big monitors can just make their browser windows smaller. To make a fixed width design, simply set the CSS width of your body tag to the width you want in pixels (so for 800×600, width: 800px). If you take this approach, you will probably want to set the CSS margins to auto, as this will put your fixed-width page in the centre of larger screens – if you leave the margins alone, then your page will appear on the far left of the web browser at high resolutions, which is common to see but still looks bad.
Of course, the more complicated but better way of doing things is to make sure that your design will work just as well no matter how wide the browser is, because it stretches to fit. These kinds of designs are known as ‘elastic'. This can be difficult, but it's doable, especially for relatively simple designs. If your design has three columns, for example, you can make the left and right columns fixed-width but leave the middle column to take up all the remaining width.
The biggest concern with elastic designs tends to be the graphics: if you have a fixed-width header, how can you adjust your site for any possible width? In most cases, the solution is to make your header an image that floats over a background continuing it. For example, you might use an image of navigation text floating over a line – you can then continue that line as the background image, to avoid it suddenly appearing to stop if the viewer's resolution is wider than your navigation images. CSS gives you a lot of power to create illusions like this: make good use of it.