以下 html 页面似乎在除 IE 8 和 9 之外的任何浏览器中都能正常呈现:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
</head>
<body>
<div style="width: 300px">
<span style="white-space: nowrap;">
<input type="radio" value="1" name="test" />Choice 1
</span>
<span style="white-space: nowrap;">
<input type="radio" value="2" name="test" />Choice 2
</span>
<span style="white-space: nowrap;">
<input type="radio" value="3" name="test" />Choice 3
</span>
<span style="white-space: nowrap;">
<input type="radio" value="4" name="test" />Choice 4
</span>
<span style="white-space: nowrap;">
<input type="radio" value="5" name="test" />Choice 5
</span>
<span style="white-space: nowrap;">
<input type="radio" value="6" name="test" />Choice 6
</span>
<span style="white-space: nowrap;">
<input type="radio" value="7" name="test" />Choice 7
</span>
</div>
</body>
</html>
html 看起来相当简单,但 IE 8 和 9 忽略了 div 上的宽度,并强制在同一行上进行所有选择(IE 7 和所有其他非 IE 浏览器应该以 300px 换行)。不知何故,我需要这个单选按钮列表以指定的宽度换行,同时不将单选按钮与相应的选项分开。
如果我更改文档类型,我可以让 IE 8 和 9 正常运行,但是如果可能的话,我想避免更改它。
如果我使用老式的“nobr”标签代替 span 标签,我会得到相同的行为。