FAQs Articles

What is ‘semantic mark-up’?

By John Faulds

se·man·tic adj.

  1. Of or relating to meaning, especially meaning in language.
  2. Of, relating to, or according to the science of semantics.

OK, so semantic has to do with 'meaning' but what has that got to do with coding web pages? Well, when referring to semantic mark-up, it means using the correct tag to accurately describe the type of content.

More on What is ‘semantic mark-up’?

Why doesn’t :hover work in IE?

By John Faulds

You may have seen on other sites an effect whereby the background colour of a containing element changes colour when you hover over it. A look at their CSS might reveal something like div:hover or li:hover. This is also how a lot of CSS dropdown menus work too, by applying a :hover to a list item.

More on Why doesn’t :hover work in IE?

How do I make my CSS file smaller?

By John Faulds

The key feature of Cascading Style Sheets and probably the one not realised by most newcomers to CSS is that certain style properties are inherited. This means that style properties (mostly those relating to styling text including color, font-size, text-alignment etc.) set on a parent element are inherited up by every descendant element (any element contained within the parent whether directly or indirectly).

More on How do I make my CSS file smaller?

My links won’t change colour when I hover over them

By John Faulds

Usually when people have trouble with their links not doing what they want, it's because they've arranged them in the wrong order. Pseudo classes (links) need to be in this order:

  • Link
  • Visited
  • Hover/Focus
  • Active

Some people like to use mnemonics to remember this order like: LoVe HAte. Another one I saw once was Lord Vader Has Arrived (or something like that).

How do I centre my layout?

By John Faulds

To centre a CSS layout horizontally, you need to add margin: 0 auto; to either the body or a containing element (it's generally a good idea to wrap your whole layout in a containing element and give it a meaningful ID like #wrapper or #container) and give that element a width. What that does is set the left and right margins to automatically take up the window space not occupied by the specified width.

For IE5 browsers we also have to add text-align: center; to the same element. This also centres anything in descendant elements so if you don't want your text centred, you then have to reset the text-align back to left on a descendant element. So you might set the auto margins and text-align: center; on the body but then set the text-align back again on #container.