To fix the issue you can do As a starting point for a static non CMS Website I'd recommend to look into one of several CSS Frameworks available. You can find a list here. They usually address cross browser compatibility and multicolumn layouts. Most of them come with useful templates which you can easily customize and you do not have to build up a page from scratch. My favorite is YAML (Yet Another Multicolumn Layout) CSS.
How can I create a basic human readable plain text representation of XHTML using Java?
this one helps. XHTML Basic 1.1 defines a formal syntax. The only way to make an attribute that is not valid by that syntax is to have the syntax changed. This won’t happen, since nobody is working on XHTML Basic, so you can’t even make a suggestion on a change; the XHTML2 working group that produced the spec was closed in 2010.