IE11不支持背景大小的比例

时间:2014-09-25 07:02:13

标签: html css internet-explorer-11 background-size

我试图获得背景.jpeg数字自动缩放到DIV(lineholder)的高度,无论子DIV的数量(链接持有者) - 同时有一些文本在父DIV内对齐垂直。

代码在Chrome和Firefox中100%有效 - 但IE11完全忽略了背景大小。

我的HTML标记如下所示:

<div id="active-container" class="ac1">
<div id="lineholder" style= "background-image: url(....); background-repeat: no-repeat; background-size: 44px 100%;">

<div id="text">
TEST
</div>

<div id="linkholder">
</div>

<div id="linkholder">
</div>

</div>
</div>

CSS:

#active-container {
min-width : 240px;
min-height : 26px;
height : auto;
float : left;
}

#lineholder {
position : relative;
min-width : 240px;
height : auto;
overflow : hidden;
}

#text {
position : absolute;
top : 50%;
margin : -13px 0 0 0;
width : 45px;
height : 26px;
left : 0px;
font-size : 8px;
font-weight : bold;
line-height : 26px;
}

#linkholder {
margin-left : 45px;
min-height : 26px;
width : 190px;
position : relative;
}

IE11只显示我的lineholder左上角的原始背景图片 - 而所有其他浏览器都会扩展高度以适合DIV。

在此处查看图片http://6710.sunnysite.dk/background-size_debug.jpg

背景图像css在html中,因为需要使用现在已知HTML CSS的人来插入具有不同背景图像的更多个别持有者;)因此,不同的类等不是选项。

3 个答案:

答案 0 :(得分:1)

问题不在于CSS或IE呈现它的方式(不是直接)。

代码位于网络共享上。巧合的是,我把它复制到了我的桌面上,并且它起作用了。

在此主题中描述并回答了问题 - IE not rendering CSS properly when the site is located at networkdrive

答案 1 :(得分:0)

我感觉这是因为将Pixels与Percents混合在一起。

background-size: 44px 100%;

我知道Safari对此非常困难(尽管他们最近解决了很多这些问题)。人们只能假设IE在这方面有相同或类似的问题。

如果你需要确保44px高和100%宽的背景图像,你需要在它周围做一个包装并将包装高度设置为44px。然后使用标准背景大小。 (包含,覆盖,100%等。)

答案 2 :(得分:0)

  • 我使用svg图标作为背景图片,通过伪元素。
    • 我在IE-11中遇到了background-size: contain;的问题。
    • 背景图片的宽度和高度在CSS中设置。

我用background-size: 97% 97%;替换了它 现在一切正常。

示例:

&#13;
&#13;
&:before {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 97% 97%;
  background-image: url(../img/icons/add-to-package.svg);
  content: "";
  height: 2.143rem;
  left: 1.429rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2.143rem;
}
&#13;
&#13;
&#13;

再见。