I’ve always been taken with the way that the BBC styles their A-Z index using a simple list and CSS. However, because they use pixels to set the dimensions of each list item, the design breaks when you increase the text size.
Consequently, I thought I’d have a go at creating an A to Z index along the same lines that doesn’t break when you resize your text.
The code is pretty straight forward. Here’s the CSS:
#azindex {
background: #75B9D0;
float: left;
margin: 5px 0 20px 10px;
padding: 0px 5px 15px 5px;
width: 520px;
}
* html #azindex {
padding: 5px 5px 10px 5px;
width: 490px;
}
#index {
font: bold 100% Verdana, Helvetica, sans-serif;
margin: 0;
padding: 0;
}
#index li {
float: left;
height: 2em;
list-style-type: none;
margin: 0.65em 0.3em;
padding: 0;
width: 3em;
}
* html #index li {
margin: 0.2em 0.2em;
}
#index a:link, #index a:visited {
background: #fff;
color: navy;
display: block;
height: 2em;
padding: 0.75em 0 0 0;
text-align: center;
text-decoration: none;
width: 3em;
}
#index a:hover {
background: #93D1E4;
color: #fff;
text-decoration: underline;
}
And here’s the HTML:
<div id="azindex"> <ul id="index"> <ul> <li><a href="#a">A</a></li> <li><a href="#b">B</a></li> <li><a href="#c">C</a></li> <li><a href="#">Etc</a></li> <li><a href="#z">Z</a></li> </ul> </ul> </div>
Pretty simple, but hopefully it’ll be useful to someone.
That’s a really useful guide. Good stuff. I’m surprised the BBC aren’t approaching accessibility more on their website, actually.
I was able to help a friend today by linking him to this, too, so thanks.
Richard – glad it was helpful! Actually, I think the BBC are leaders as far as accessibility on large sites is concerned; they just didn’t go as far as they could have in this instance.
Hi Christian,
Really nice treatment for an A to Z but it’s not working for me in Firefox, any suggestions?
*simon* – hmmm, it’s working fine for me in Firefox 1.5.0.7 on WinXP. What version of FF and OS are you running?
Hi Christian,
sorry for wasting your time,
working now, must have made a mistake when I was copyting and pasting 🙂