2016-05-17 13 views
-2

イメージソースをCSS background-imageというプロパティで設定するとうまくいきますが、イメージソースをHTMLで設定すると完全に破損します。どうして?`background-size` CSSプロパティがhtmlのために動作しない<image>タグ

.image1 { 
 
    height: 100px; 
 
    width: 100px; 
 
    background-size: cover; 
 
} 
 

 
.image2 { 
 
    height: 100px; 
 
    width: 100px; 
 
    background-size: cover; 
 
    background-image: url('http://i.istockimg.com/cms/resources/images/HomePage/Tiles/EN_US/EN_US_2016_05/ExtendedHuman82598767.jpg'); 
 
}
<img class="image1" src="http://i.istockimg.com/cms/resources/images/HomePage/Tiles/EN_US/EN_US_2016_05/ExtendedHuman82598767.jpg"></img> 
 

 
<img class="image2"></img>

このイメージが正しく何mattery幅/高さの組み合わせを示さないために聞かせて、私はCSSからそのソースを宣言するように強制していますか?


編集:質問downvoteが、私はちょうどイメージがそう、彼らはあなたが両方変更しても、元のアスペクト比を維持することができ、自動的にクロップさせることが可能だったかどうかを知りたかったため...だったかわかりませんそれらの高さと幅は独立している。これは、背景画像を使用すると完璧に動作しますが、明らかに内容ではありません。いずれにせよ、私は今私の答えを得た。

+0

あなたは、これは私たちが話している 'picture'タグではないことを肯定していますか? –

+1

私が知っている限り、 'background-image'は' src'属性と同じではありません。ゆるやかに話すのは内容に似ていますが、もう一方は背景です。 – Harry

+0

Tomek、修正コードに感謝します。私は意味した

答えて

1

IE以外のブラウザでは、background-sizeの代わりにobject-fit: coverを使用できます。

.image1 { 
 
    height: 100px; 
 
    width: 100px; 
 
    object-fit: cover; 
 
} 
 

 
.image2 { 
 
    height: 100px; 
 
    width: 100px; 
 
    background-size: cover; 
 
    background-image: url('http://i.istockimg.com/cms/resources/images/HomePage/Tiles/EN_US/EN_US_2016_05/ExtendedHuman82598767.jpg'); 
 
}
<img class="image1" src="http://i.istockimg.com/cms/resources/images/HomePage/Tiles/EN_US/EN_US_2016_05/ExtendedHuman82598767.jpg"></img> 
 

 
<img class="image2"></img>

+0

恐ろしい!私は、レスポンシブなイメージでIEをサポートしたいと思うと、イメージをバックグラウンドイメージとして設定していると思いますよね? –

+0

図の背景のプロパティ?それをより明確にするための簡単な例がありますか? –

+1

@sgarcia、あなたをfigureのステートメントと混同して申し訳ありません。無視する必要はありません。 IEサポートが必要な場合は、背景画像を使用するか、以下のようなpolyfillを含める必要があります:https://github.com/bfred-it/object-fit-images/ – Quantastical

関連する問題