我有一个默认为“宽度:100%”的 INPUT 元素。这会导致它将旁边的其他元素向下推到下一行。为了临时解决这个问题,我在元素上添加了一个内联样式属性,如下所示:
<input style="width: auto" ...>
效果很好。现在我要回去清理临时修复,并将所有样式从样式属性移到外部样式表中。当我将这个特殊的“width: auto”样式移动到样式表中时,它在 Firefox 中看起来仍然很好,但在 IE 中它会忽略它并再次默认为“width: 100%”,这会再次吹出它旁边的元素。
IE web 开发工具栏没有告诉我样式来自哪里,因此很难诊断出发生了什么。我最好的猜测是 IE 中还有其他优先事项,但我不知道它可能是什么。
编辑:我发誓我尝试在 IE 开发人员栏中右键单击,但我想没有 - 当我在 IE 中的“宽度:100%”上执行“跟踪样式”时,我得到一个弹出窗口,上面写着“1。不匹配”,然而,在 Firefox 中,它显示 100% 是从上面元素上的选择器中流出的,类似于“#outer foo bar INPUT”,它也覆盖了这个 INPUT。我错误地认为直接在 INPUT 元素上的“#id”会比“#id foo bar INPUT”具有更高的特异性,但我猜浏览器不同意这一点。无论哪种方式,这都是我问题的根源,所以感谢您的评论。我希望有一种方法可以促进对答案的评论......