2017-06-21 5 views
1

私はイメージで自分のサイトのヘッダーを作成しています。この画像の高さと幅はそれぞれ100vwと100vhです。問題は、ビューポートが一例として480ピクセルで、画像が変形した場合です。ビューポートが480より小さい場合、画像のソースが変更されます

私は問題私が欲しいの割合で新しいイメージを作成し、ブートストラップでこれをやって解決しようとした:

@media screen and (max-width: 480px) { 
    #imgTOPO::after { 
     content:url("/assets/head_480-01.png"); 
    } 
} 

をしかし、画像が変更されていないと私は問題を理解することはできません。私はこれを解決するために何ができますか?

+0

に見てみることができますその後、セレクタのみを使用する '#imgTOPO { 内容:url("/assets/head_480-01.png "); } ' – Omi

+0

@Omi' content'プロパティ*のみ*は擬似セレクタで動作するので、コードは機能しません。 – cjl750

+0

回答があなたの質問を解決した場合は、それを受け入れたものとしてマークしてください。自分で解決策を見つけた場合は、自分で回答を書いてください。ありがとう! – Alfabravo

答えて

0

problremはheight値、幅と高さの両方ですimgのビューポートを埋めるように設定され、アスペクト比をマントインするには、を削除しますまたはheight = autoに設定します。

img { 
 
    width: 100vw; 
 
    height: auto; 
 
}
<img src="https://placeimg.com/640/480/any">

::それは変形の問題を解決していますが、まだ応答性のために、各解像度ごとに異なるイメージをロードしたい場合は、削除してみてくださいsrcsethttps://css-tricks.com/responsive-images-youre-just-changing-resolutions-use-srcset/

1

これは1つの解決策です。

HTML:

<img src="someImg.png" class="largeImg" /> 
<img src="someImg.png" class="smallImg" /> 

はCSS:!

.largeImg { 
    display:block; 
    } 

    .smallImg { 
    display: none; 
    } 

    @media screen and (max-width: 480px) { 
    .largeImg { 
     display: none; 
    } 

    .smallImg { 
    display: block; 
    } 
    } 

私はそれが役に立てば幸い:) @Mariana

関連する問題