2017-12-28 10 views
0

私のページのメインセクションのバックラウンドを作成しようとしています。画像のサイズは640 x 480で、1204 x 184のコンテナの背景にしたいと思っています。私はこの質問が以前に尋ねられたことは知っていますが、答えはどれも私のために働いていません。divのサイズをカバーするようにイメージを作成するにはどうすればいいですか?また、イメージ全体を見ることができるように縦横比を維持しますか?

質問:画像全体を見ることができるように、アスペクト比を維持しながら、divのサイズをカバーするにはどうすればよいですか。

p.s私のコードを追加しましたが、投稿に写真を追加するにはまだポイントがありません。代わりに使用background-size: 100%

*{ 
 
    box-sizing: border-box; 
 
    margin: 0; 
 
    padding: 0; 
 
} 
 
.main-container{ 
 
    width: 98%; 
 
    margin: auto; 
 
    background: lightgray; 
 
} 
 

 
header{ 
 
    width:80%; 
 
    height: 10%; 
 
    background: grey; 
 
    margin: auto 
 
} 
 
main{ 
 
    margin-top: 0px; 
 
    width: 80%; 
 
    height:600px; 
 
    margin: auto; 
 
    margin-top: 10px; 
 
    background: url(https://placeimg.com/640/480/tech); 
 
    background-size: 100%; 
 
    background-position: center; 
 
    background-repeat: no-repeat; 
 
    
 
}
<html lang="en"> 
 
<head> 
 
    <meta charset="UTF-8"> 
 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
 
    <meta http-equiv="X-UA-Compatible" content="ie=edge"> 
 
    <link rel="stylesheet" href="main.css"> 
 
    <title>Layout practice</title> 
 
</head> 
 
<body> 
 
    <div class="main-container"> 
 
     <header> 
 
      <div class="main-header"> 
 
       <h1>Header</h1> 
 
      </div> 
 

 
     </header> 
 

 
     <main> 
 
      <!-- <div class="main-content"> 
 
       --> 
 

 
     </main> 
 

 
    <section class="lower-sec"> 
 
     <div class="left-box"> 
 

 
     </div> 
 

 
     <div class="right-box"> 
 

 
     </div> 
 

 
    </section> 
 

 
    
 
    </div> 
 
    
 
</body> 
 
</html>

+0

?なぜ他のソリューションはあなたのユースケースに合っていませんでしたか? – UncaughtTypeError

+0

@ UncaughtTypeError私はさまざまな構成を試してみました。私は divの側で画像タグを使用しようとしましたが、私はまた、コンテナの両側に白いスペースを残して背景のサイズを設定しようとしましたが、サイズと画像の幅と高さを設定しようとしました私のコンテナのどちらの方法でも、背景全体をカバーするイメージが得られましたが、イメージの一部はまだ切り取られています。 – Chasencode

答えて

0

background-size: contain; 

参考:あなたはすでに試してみました何https://developer.mozilla.org/en-US/docs/Web/CSS/background-size

+0

私はあなたが私に与えたリンク上でそれらのプロパティを操作する方法をすでに知っています。コンテナの100%をカバーするようにイメージを拡大するとき、これらのプロパティー値のペアのいずれもアスペクト比を維持しません。 – Chasencode

+0

次に、「640 x 480画像」に「1204 x 184のコンテナ」をどのようにしたいかを説明します。そして、それは "全体像を見る"という意味です。 'cover'と' contain'の2つのオプションがあります。 –

+0

800pxの幅と800pxの高さを持つdivがあり、背景を画像に設定したいとし、画像の元のサイズが500px、500pxの高さであるとしましょう。 HTMLは次のようになります。

CSSは次のようになります。 .center-IMG { 幅:800ピクセル; 長さ:800px; 背景画像:url(http://someimg.com/500/500/something); background-size:cover; background-repeat:no-repeat; } – Chasencode

関連する問題