2017-10-05 4 views
0

サイトのtypcialバナー画像のスタイルを設定しようとしています。狭いビューポートでは縦の高さが維持され、画像は実質的に同じサイズを維持します親要素は水平方向に移動します。 (これはかなり典型的なバナー画像の動作だと思いますが、私が間違っている場合は私を修正してください)。 (ブラウザのターゲットはie10以上です)。下の例では、画像の比率と100%の幅が誤って保持されているため、親の高さと一致しない場合があります。CSSのバナー画像は親要素を超えて拡大縮小しません

現在のHTMLは、divタグの内部だけIMG

<div class="banner"> 
<img class="img-fluid" src="somepic.jpg" /> 
</div> 
使用CSSクラスである

ある:

.banner { 
    content: ""; 
    position: absolute; 
    width: 100%; 
    top: 0; 
    left: 0; 
    height: 780px; 
} 

とIMG-流体

とブートストラップ(4)クラス
img-fluid { 
    max-width: 100%; 
    height: auto; 
} 
+0

「より小さいビューポート」は、小さな画面用のメディアクエリCSSがあることを意味します。そのCSSはどこですか?さらに、左右の端を超えて拡大するには、あなたが持っているものとはまったく異なるCSSが必要です。 –

+0

'.banner'の幅は100%です。つまり、コンテナの幅が100%になることを意味します。画像の最大幅は100%、高さはauto(デフォルト)です。これは画像が親の100%幅に広がることを意味します。したがって、コード化されたものとして動作しています。これは100%の幅と高さのautoになります。そのコンテナから出ることは決してありません。 – Huangism

答えて

0

代わりに背景画像を使用して、異なる結果を達成するために使用できる興味深い行動がいくつかあります。ここで

が私の感想です:

.banner { 
    content: ""; 
    position: absolute; 
    width: 100%; 
    top: 0; 
    left: 0; 
    height: 780px; 
    background-image:url('somepic.jpg'); 
    background-size:cover; 
} 

ここで重要なのは、それは画像がその比率を維持しながら、完全な幅と高さをカバーするために広がっていることを確認し、background-size:cover;です。それは、非常に広いスクリーンでは、それが大きくなり、ある程度の高さを削ることを意味します。しかし、より薄い解像度では、望ましい出力が得られます。

+0

「バックグラウンドポジション:センター」を追加してくれてありがとうございました。あなたの現在の方法は、私が喜んだものだった中心ではなく、画像の左の部分だけを示しました。 – Yunti

関連する問題