In particular the left navigation bar. I can see the left navigation bar is done with JavaScript. However I would like to do something like this using only CSS, PHP, MySQL. I know how to get a list of words, using <li> tags and how to get the background and text to change colour when clicked/hovered over. I do not know how to get the border around parts of the navigation bar (in the apple site there are 2 separate left navigation bars) and how to give the border curved corners.
I am aware of different methods to add backgrounds and borders when inputting text within an area - indeed i have discussed it here at SitePoint » Web Design, Web Development, Freelancing, Tech News and more. But it looks to me as though the navigation bar will need to be more than just a background with a border to get the effect!?
Yes make your own image to suit but have a look here for a guide on how to make sprites. There’s nothing special except that you have to place images on the sprite with care so that they don’t overlap and can be placed on the element correctly using background position. Repeating sections are awkward to do in a sprite so practice makes perfect
And how do you code it to say
If you have ie9, mozilla, safari use the code
If you have ie8 below please show the images instead
???
You don’t.
If you want all browsers to have images then go with the image approach.
If you want to use css3 features then just let others degrade as in my example (to square corners).
Don’t try to for fork code as it soon gets unmanageable. You can use conditional comments for IE to offer different code but once you start doing that it becomes awkward to maintain and isn’t really worth the effort unless you have no choice.