[quote author=“Mighty Matt”]In my defense this was/is mainly an exercise in learning more about CSS (and javascript as it turns out). A table wouldn’t have been nearly as intellectually stimulating!!
Don’t take offense to this, because your page isn’t bad by a longshot, but I’m not sure whether it’s bad CSS/HTML books or just the complexity of CSS, but people seem to have a lot more trouble with CSS than they did with just HTML 3.2. People jump through hoops trying to get what they want without understanding how the box model works (or doesn’t) or how cascades work. Best book I ever read on CSS was this one . It tells you why CSS works like it does instead of how it works.
[quote author=“Mighty Matt”]I still have the issue on the test pages where if there is no Kanji entry, making the DIV visibility:hidden makes it show the background of the page, not the colour of the parent DIV. ie. a bloody great hole!!
Believe it or not, but it’s doing exectly what it’s supposed to be doing. You have a containing element around the “row” where you have style=“clear:both”. Give that a background color and it should be OK… for IE. Firefox and Opera won’t like your current layout much… The real problem behind both issues is that you’re completely abusing float:left to create your faux table structure. <div>s are by default displayed display:block, which means that they take up a rectangular area and are vertically stacked. I suppose you could put 3 33.3% wide <div>s with display:inline inside another <div> as a “row”, but that’s kind of like using a chainsaw to mow the lawn. Yes, it theory it will work and is a hell of a lot of fun, but…
:D