最大宽度:-webkit-fit-content 在IE 8中是什么等效物?

9

有没有针对ie 8的max-width:-webkit-fit-content;的任何黑客技巧?

尝试让子div不占用父元素的整个宽度,在ff、chrome和safari中效果很好;希望有一些hack方法可以使它在ie 8中也能正常工作。

演示该行为的Fiddle:http://jsfiddle.net/XtZq9/ 我想在ie8中实现该行为的代码:

#wrap {
    background-color: aqua;
    width:300px;
    height: 50px;
    padding-top: 1px;
}

.textbox {
    background-color: yellow; 
    max-width: intrinsic;
    max-width:-webkit-fit-content;
    max-width:  -moz-max-content;
    margin-top: 2px;
}

<div id="wrap">
     <div class="textbox">
        Here is some text
    </div>  
    <div class="textbox">
        Here is other, longer, text
    </div>  
</div>  

没有太多的代码可以参考...你有什么理由不能应用一个条件注释,在ie8上简单地为那个容器设置一个%宽度? - relic
我希望容器的宽度根据内容自动调整,所以不想设置任何静态宽度值;实际上没有太多要包含的代码,但我将附加问题以包括它。这是一个描述我想要的行为的 fiddle:http://jsfiddle.net/XtZq9/ - HelloWorld
@HelloWorld:“.textbox{float:left;} .textbox + *{clear:left;}”是一个小技巧,本质上会做同样的事情:http://jsfiddle.net/XtZq9/1/ - 但是,由于我目前不在Windows PC上,无法在IE8中测试此代码。 - Zeta
4个回答

27

demosthenes.info了解到,我可以简单地使用

display: table;

而不是

width: fit-content;

查看链接以了解有关空格问题的信息。但这与我的情况无关,仅需将width: fit-content替换为display: table即可轻松解决问题。


这对我解决了一个问题,针对一个具有 display: flex 属性的元素,在使用 getBoundingClientRect().height 查询其高度时,IE11 错误地报告了其高度。该元素还具有 height: fit-content 属性,但 IE11 不识别它,并且没有真正的替代方案。 - dolanator

6
我能想到的最相似的方法是使您的元素浮动。虽然不完全一样,但可能足够相似。您需要设置额外的边距,但这应该不会成为使用条件样式表的问题。
.textbox {
    background-color: yellow;
    float:left;
    clear:left;
}

您修改后的代码演示

(相关技术内容不便翻译)

5

这取决于情况:

我有一个块级元素,其宽度为 fit-content;。由于这在IE上无法工作,该元素采用了完整的可用宽度(预期的结果)。

但是我想让它根据其内容调整大小。

最后,我通过以下方式解决了问题:

display: inline-flex;


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接