2016-06-24 5 views
-1

CSS3ファイルに背景画像が割り当てられたdivがあります。 画像は応答性があり、画面サイズに応じて縮尺が変わりますが、コンテナはすべての画面サイズで高さを維持します。divコンテナはどのように反応しますか?

コンテナを背景画像と同様に反応させる方法があるかどうかを知る必要があります。

HTML:

<div class="responsive> </div> 

CSS3:

.responsive { 
    background: url('https://s20.postimg.org/o09gf7fvx/bag.jpg') no-repeat center top; 
    border: 1px solid red; 
    background-size: contain; 
    width: 100%; 
    height: 270px; 
} 

私は、背景画像選択なしのimgのsrcタグを使用する必要があります。 ここにはfiddle fileがあります。

ありがとうございます。

+3

?それはすでに100%幅ですが、あなたは何を期待していますか? –

+0

@Paulie_Dのように、「レスポンシブデザイン」(https://en.wikipedia.org/wiki/Responsive_web_design)は普通は100%幅の快適なものを指しますが、何かを念頭に置いている場合はCSS3 [メディア-queries](https://en.wikipedia.org/wiki/Media_queries)。 –

+0

divをイメージサイズにサイズ変更しようとしている場合、そのイメージをバックグラウンドイメージで作成することはできません。 –

答えて

4

これは、一定の割合で保持したい要素内に追加のダミー要素を追加することができます。パディングトップまたはパディングボトムをパーセンテージとして指定した場合は、コンテナエレメントの幅になります。これにより、コンテナエレメントの高さが固定されたままになります。

<div id="responsive"> 
    some text 
    <div id="dummy"></div> 
</div> 

CSS:

#responsive { 
    display: inline-block; 
    position: relative; 
    width: 100%; 
    background: url('https://s20.postimg.org/o09gf7fvx/bag.jpg') no-repeat center top; 
    background-size: contain; 
} 

#dummy { 
    padding-top: 29%; 
} 

実施例:

https://jsfiddle.net/098jj61q/

クレジット:

+0

まさに私が望んでいたもの。ありがとうございました。一つの質問;パディングトップ:29%; 29%が来るところから? – JuanPer

1

はい正しいです。 @Paulie_Dによれば、あなたはあなたの要求に応じて、imgタグだけを使って、それを行うことができます背景画像でそれを行うことはできません。

あなたは、同じようにブロック要素としてそれを処理することにより、対応する画像を作るのdivを使用せずに、

.img-responsive { 
    display: block; 
    max-width: 100%; 
    height: auto; 
} 

をしなければならないか、背景画像に分裂を使用するように主張するならば、backgoundの画像をカバーする何

div.mydiv { 
    background:url(background_image.jpg); 
    background-repeat:no-repeat !important; 
    background-size: cover !important; 
    background-position:center center !important; 
    min-height:300px; 
} 
+0

img srcタグは使用できません。画像はHTMLファイルからではなく、CSSファイルから呼び出す必要があります。私のコードにどのように組み込むことができるのか、あなたの例を詳述できますか?あなたはフィドルでそれをテストできますか?ありがとう – JuanPer

+0

これを確認してください:https://jsfiddle.net/j7vr53rx/ –

+0

画像は水平方向に縮尺されていますが、すべての画面サイズで同じ高さを保ちます。 – JuanPer

関連する問題