Archives

Archive for January, 2007

Reinventing the 404 Error Page

Thursday, January 18th, 2007

The “404 Page Not Found” error page is something we come across everyday. We all stumbled across those pages. I figured it would be nice to create a cool 404 error page to blend in with every website. I already implemented this in my Ajaxilicious project but I think it’s time to share it. It’s a nice technique and really simple. It’s so simple, I was surprised that nobody was using anything similar on the net. Anyway, let’s head on to the description.

From my point of view, a 404 page would be nice to exist as long as it doesn’t interfere with the website. So I thought a transparent message would be great. A message that floats above the main content and does not affect the layout or anything else. So let’s start with the coding:

The CSS:

#PageNotFound {
	cursor: pointer;
	position:absolute;
	left:0px;
	/* Pixels from the top you want your warning message */
	top:150px;
	text-align: center;
	color: #fff;
	font-size: 30pt;
	font-weight: bold;
	/* PNG Image with alpha transparency */
	background: url('/common/images/overlay.png') repeat;
	width:100%;
	/* z-index: Use a really big value so it will always be on top */
	z-index:100;
	margin: 0 auto;
	padding: 5px 0;
}

You also need to edit your .htaccess file. Just add

ErrorDocument 404 /index.php?show404=true

and then in your index add this HTML/PHP code:

< ? if ($show404) { ? >
< div id="PageNotFound" onclick="document.getElementById('PageNotFound').style.display='none';">404 Page Not Found.< br / >Click here to close this < /div >
< ? } ? >

The image used in this example can be found here

This works on Firefox 1.5+ and with a little bit tweaking it can work with MSIE. Since I don’t like MSIE, its ‘filters’ CSS property and its incapability to work with PNGs, I will simply stick to Firefox.

A working example (static HTML) can be found here.

That’s all! Hope you use it wisely!