2015-11-02 27 views
5

インターネットエクスプローラのオブジェクトフィッティングの代わりの方法があります。サポートしていないためです。基本的に私はobject-fit:coverを使ってdiv内の画像を伸ばさないようにしています。私はインターネット上でいくつかのソリューションを見ているが、私が見つけたのは、私がそれをやっているようにimgタグからではなく、cssからイメージを読み込むソリューションだった。誰もがインターネットエクスプローラのdiv内の画像を伸ばすのではなく、代替方法があります誰も私を助ける?ここobject-fitの代替オプション:Internet Explorer用のカバー

は、単純なコードが

HTML

<div class="grid-image"> 
    <img itemprop="image" alt="TEST" src="images/15.jpg"> 
</div> 

CSS

.grid-image { 
    width: 100%; 
    background-color: grey; 
    position: relative; 
    overflow: hidden; 
    height: 100%; 
} 

grid-image img { 
    object-fit: cover; 
    width: 100%; 
    height: 100%; 
    overflow: hidden; 
} 

答えて

7

OKです私はこの

HTML

<div class="grid-image" style="background-image: url(images/15.jpg);"></div> 
でそれを解決しました

CSS

-webkit-background-size: cover; 
    -moz-background-size: cover; 
    -o-background-size: cover; 
    background-size: cover; 
    background-repeat: no-repeat; 
    background-position: 50% 50%; 
+0

IE 7についてはどうですか?それはオブジェクトカバーをサポートしていないし、HTMLのインライン画像であり、背景画像ではない。 –

+0

これはIE7用ではない解決策です。私はそれが0.35%のためにIE7に焦点を当てていません –

+1

IE8についてはどうですか?私はいくつかの研究を行い、人々はIE8とIE9-10を最も使います。 –

3

あなたは本当にModernizrを使用して+ IE9のための代替案を作成することができます。したがって、サポートされている場所にオブジェクトフィットを使用することができます。この例では、jQueryも使用しています。

if (! Modernizr.objectfit) { 
    $('.grid-image').each(function() { 
     var $wrapper = $(this), 
     imgUrl = $wrapper.find('img').prop('src'); 
     if (imgUrl) { 
     $wrapper 
     .css('backgroundImage', 'url(' + imgUrl + ')') 
     .addClass('compat-object-fit') 
     .children('img').hide(); 
     } 
    }); 
} 

20世紀のソフトウェアを使用してウェブをブラウズしたい場合は、明らかに20世紀のウェブを取得します。これはInterstellar(または現代の16:9フィルム)からの70mmシーンを4:3のチューブテレビで見ようとするようなものですが、ドッキングシーンのすべての機能を見ることはできません。

+0

残念ながら、Edgeはオブジェクトフィットもサポートしていません。 ..だから私は古いブラウザの問題だけではない:/なぜマイクロソフト、なぜですか? ここに示した内容は、imgタグを使用する必要があり、背景画像を使用することができない/望ましくない場合の良い解決策です。ありがとうございました:) –

+0

@ miss.emenemsオブジェクト位置はSafariではサポートされていません..それはMicrosoftだけではありません;-) – elyrico