2008-11-12

Like an election...

I seem to have fallen back into professional software development. I accepted a programming internship as a favour to a friend (even though I'm a networking major). I was "downsized" from my day job, picked up more hours at the internship site and stuck around beyond the official end of the internship.

My primary project involves porting a web application from an evil blend of ASP, MS Access, SPSS ShowCase Query etc. to php working against IBM DB2 and J.D. Edwards. Apache, php, DB2 and J.D. Edwards are all running on IBM i5/OS. I don't actually hate php, though there have been a couple of disappointments. It's fair to say that I quite like DB2, though it and i5/OS have the disadvantage of being proprietary, closed-source products.

Because I'm reproducing pages from an existing application, I have been asked to retain the screen layout, which includes a narrow column at the left of the screen containing a menu and a wider column to the right of that with each page's contents. I really want to control (or at least influence) the layout using CSS, but Microsoft Internet Explorer lacks decent CSS support so I am looking at potential work–arounds. One person suggested JavaScript (which I have managed to avoid so far for this application) and another said I should resort to forcing the layout using <table> in the XHTML source. As in so many elections I find myself in the position of having to choose the lesser of two evils unless someone reading this knows of a better way to achieve what I'm after: two columns, the left automatically sizing to fit its contents and the right taking up the remainder of the viewport (or more, where its contents are too wide to fit).

2 comments:

Andrew Ball said...

I've achieved something like what I'm after by hard–coding the width of the menu in ems, which at least scale along with the text size. Here's an example. I can't help thinking there must be a better solution though; some way of telling the Web browser "put this in a box and give the box straight sides".

Jim said...

There are some "hacks" than can be applied to CSS that are sort of like variables. I cannot remember the syntax off the top of my head, but it is something like

use this CSS
if browser = Internet Exploder then apply this hack

The syntax is in a book I have at home which had a whole chapter on forcing IE to use CSS.