body {
  text-align: center;
}
#em {
  width: 1em;
  height: 0;
  overflow: hidden;
}
#main {
  text-align: left;
  width: expression(  (d = document)
                   && (fs = d.getElementById('em').offsetWidth)
                   && (po = 2 * fs)
                   && (bo = 3)
                   && (min = 50 * fs)
                   && (max = 70 * fs)
                   && (cw = d.body.clientWidth)
                   && (px = 'px')
                   && (cw - po >= max + bo ? max + px : cw - po <= min + bo ? min + px : 'auto')
                   );
}


/*

Min- and max-width implementation for Windows Internet Explorer

About the weird dynamic property expression

fs = font-size (from the #em element)
min = min-width
max = max-width
po = padding offset (from the body)
bo = border offset (from the #main container, IE 6 seems to need one additional px)
cw = client width
px = pixel

(Feel free to suggest more intuitive names.)

Quriks-mode vs. standards-mode

This expression is the result of extensive trial and error.
I quess reading widths is equal in quirks- and standards-mode
(in this demo), but setting them is different. I don't want
to account for those differences, because they are very little.

*/