我正在使用box-sizing:border-box模型。当具有最小宽度的 inline- block元素包含在inline-block元素(容器)中时,该容器在 Internet Explorer 9 中太宽。在 FF 10.0、Chrome 17.0、Opera 11.5 和 Safari 5.1.2 中按预期工作.
顺便说一句,width而不是min-width就像一个魅力。
有任何想法吗?
我正在使用box-sizing:border-box模型。当具有最小宽度的 inline- block元素包含在inline-block元素(容器)中时,该容器在 Internet Explorer 9 中太宽。在 FF 10.0、Chrome 17.0、Opera 11.5 和 Safari 5.1.2 中按预期工作.
顺便说一句,width而不是min-width就像一个魅力。
有任何想法吗?
嗨,当谷歌搜索 IE 8 的类似问题时遇到了你的帖子,虽然 IE 8 支持 box-sizing 和 min-height/width,但从我的测试来看,似乎 IE 8 在使用 min-height/width 时忽略了边框框相同的元素
例如
#box {
min-height: 20px;
padding:4px;
box-sizing:border-box;
}
IE 8 高度= 28px,Chrome 20 高度= 20px;
使用 css 浏览器选择器的解决方案http://rafael.adm.br/css_browser_selector/
#box {
min-height: 20px;
padding:4px;
box-sizing:border-box;
}
.ie8 #box, .ie9 #box {
min-height: 12px;
padding:4px;
}
我看到在IE8开发人员工具检查器中应用了边框值。因此,我知道边框框正在工作,尤其是在设置宽度(或高度)时正如预期的那样。但是由于我使用 min-height 作为我的高度(并且 OP 使用的是 min-width),所以我的最小值不起作用。因此问题是:
IE 的最小高度/最小宽度不考虑边框
.box {
padding: 30px;
box-sizing: border-box;
min-height: 200px;
}
<div class="box">Awesome Box</div>
不要将填充放在与放置最小值和边框框相同的元素上 - (如果将它们分开,您可能不再需要边框尺寸大小)。
.box {
box-sizing: border-box;
min-height: 200px;
}
.box-inner {
padding: 30px;
}
<div class="box">
<div class="box-inner">Awesome Box</div>
</div>
我对此没有解决方案,但在自己搜索修复时遇到了这个问题。幸运的是,就我而言,我现在可以通过设置宽度而不是最小宽度来解决问题,尽管这在未来可能会成为一个问题。
无论如何,我只是想补充一点,如果 min-width 元素及其容器都是浮动的而不是 inline-block ,则存在同样的问题。
这是对原始小提琴的更新:http float: left
: //jsfiddle.net/5Ng7k/24/