So, I've found the problem.
Their spec says it applies to "floating block-level elements", but they don't mention that it also requires an explicit width -- "auto" won't work. While that's fine for "stretchy" layouts, it's useless for what I want: a flexible, tableless form layout (with elements which can expand to their contents' sizes).
IE7 needs both a width
and a min-width
and width:auto
will trigger that problem.
So now, how to solve?
Use conditionnal CSS
<style>
input {width:auto} /*for ie6-7*/
</style>
<!--[if lt IE 7]>
<style>
input {width:100px} /*for ie6-7*/
</style>
<![endif]-->
(Note : those css are not specific enough and are overwritten by your stylesheet. You have to change them)
...Or you can use the script in the link above.
Edit: try this CSS :
(best I could do)
<style>
.button,
input[type="submit"],
input[type="reset"] {
background: #4586b6;
border: 0;
padding: 3px;
font-size: 13px;
height: 22px;
cursor: pointer;
margin: 0 3px 0 0;
}
/*
button.small,
.button.small,
input[type="submit"].small,
input[type="reset"].small {
min-width: 100px; }*/
.Pad5{padding:5px}
table.whiteTable {
background: #F6F6F6;
border: 1px solid #CCC; }
.button,input[type="submit"],input[type="reset"] {width:auto; color:#fff; display: inline-block;min-width: 100px;}
</style>
<!--[if IE 6]>
<style>
.button,input[type="submit"],input[type="reset"] {width:100px; color:#ff00ff;display: block}
</style>
<![endif]-->
<!--[if IE 7]>
<style>
.button,input[type="submit"],input[type="reset"] {width:auto; color:#ffff00;display: block; min-width:auto;}
</style>
<![endif]-->