I only redesigned the home page so far. I'm not going to change the blog, but the gallery could use a new theme. I'm still working on a design for other pages, but they might end up looking like the old home page, but with content. This page is kind of a welcome page to get to all the other parts of my website that are mostly unrelated.
It is actually 100% valid XHTML 1.0 strict, and the CSS is valid except for the non-standard rounded corners that are browser-specific. I used CSS to make the <div>s act as a table, without actually using a table. If you look at the source code, you will see it basically only <div> tags. There are so many nested levels to make the shadow effect work without images.
As far as I can tell, CSS tables are a "good" way to make web pages, except for pre-IE8 support.
https://www.digital-web.com/articles/everything_you_know_about_CSS_Is_wrong/
Apparently HTML tables are bad because they are only supposed to represent tabular data, but CSS tables are good because they just change the layout. I don't really understand the difference, but it is a whole lot easier than trying to force CSS to do it without tables. It was hard enough just to get what I have centered. What is wrong with the <center> tag? CSS is nice in theory, but in my experience it makes it a whole lot harder to get the layout you want, and cross-browser (particularly IE) support is a lot harder to achieve than "depreciated" html layouts.
Firefox has had table-cell support since version 0.9 or before (probably since the beginning), but IE is only just getting it in IE8 over five years later. Similarly, IE6 didn't support PNG transparency when every other modern browser at the time did, and had for years. In fact, viewing my site in IE6 shows gray boxes in all the transparent parts of the images.
I might do something about IE6-7 compatibility. I don't want a bunch of javascript, so I would probably do it in PHP, having the server send a completely different page if IE6 or IE7 is detected. The alternate page could use al the depreciated tags I want, maybe even the <blink> tag.
