如何修复IE的后台大小:封面问题?

时间:2012-07-25 19:40:52

标签: html internet-explorer css

我在网上搜索了解决方案,但所有人都在讨论如何设置整个页面的背景......但我需要填写页面的某个部分....我该怎么办?是什么?

这是我们拥有的.....在我们的页面上,我们有几个不同的部分,其中一个我需要将图像的背景大小设置为“覆盖”(这是我唯一一次使用此属性)。这是我用来生成img标签的php函数:

function getRandomFeatureVideo()
{
// Youtube feed
$xml = simplexml_load_file('https://gdata.youtube.com/feeds/api/playlists/A4F160EDF82713A2?v=2');
.
.
.
.
$media = $entry->children('http://search.yahoo.com/mrss/');

  // get video player URL
  $attrs = $media->group->player->attributes();
  $watch = $attrs['url'];

  $attrs = $media->group->thumbnail[1]->attributes();
  $thumbnail = $attrs['url'];
  $counter++;

  if($counter == $rand)
    { break; }

  $result .='<a rel="prettyVideos"  href="'.$watch.'">
                <img alt="" style="background:url('.$thumbnail.')" src="/images/ytIndex_overlay.png" />
       </a> ';      

echo $result;                    
}

和CSS:

.slideshow .video img
{   
cursor:pointer;
width:550px !important;     
height:340px !important;     
background-repeat:no-repeat;    
background-size:cover;
-webkit-background-size: cover; 
-moz-background-size: cover; 
-o-background-size: cover;
-ms-interpolation-mode: bicubic;
}

到目前为止,它正是我在Chrome,Safari,Firefox和Opera中所希望的。 enter image description here

但是,通常,它在IE中搞砸了(7/8) enter image description here

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

IE7不以任何方式支持background-size。它只能以自然尺寸显示图像。

解决此问题的唯一方法是切换到使用<img>标记,并将其分层放在元素后面,以使其看起来像是背景。

你可以在你的代码中做到这一点;这并不困难。但是在所有其他浏览器中浪费background-size功能的存在将是一种耻辱。

因此,我首选的解决方案是使用polyfill Javascript,它可以回填旧版IE中的功能,以便您可以继续使用标准CSS。

你可以尝试这个:https://github.com/louisremi/jquery.backgroundSize.js

希望有所帮助。

答案 1 :(得分:0)

我发现有人有类似的问题。也许您可以查看:css background-size cover in internet explorer 7

答案 2 :(得分:0)

我不得不放弃这个问题来解决其他问题,但是想想应该给你们这个问题的最新消息。这个问题是(有点)修复的......不是一个可靠的解决方案,但它正在使用这个简单的解决方案。

所以这是修改后的CSS ......

.slideshow .video img { cursor:pointer; width:550px !important;
height:340px !important; -moz-background-size:cover; -webkit-background-size: cover; -o-background-size: cover; background-size: cover; background-position:center;}

和IMG标签......

<img alt="" style="background:url('.$thumbnail.')" src="/images/ytIndex_overlay.png" style="background-repeat: no-repeat" style="background-size:cover"/>

(我知道这很麻烦!)谢谢Spudley,Shadowizoo,BoltClock和Ben的时间和建议。