回答に基づいて、関心のある人は誰でも、テキストの折り返しに比例して CSS 背景画像を拡大縮小するために、次の方法でほとんどの状況で機能するはずです。
フィドルを見る
まず、背景画像がモバイルの解像度よりも大きくレンダリングされないようにするために、ビューポートを追加しました
@media screen and (max-width: 800px){
.viewport {
position:absolute;
right:0;
left:0;
top:0;
bottom:0;
overflow-x:hidden;
overflow-y:scroll;
}
}
<html>
<body>
<div class="viewport">
<!-- background image -->
</div>
</body>
<html>
次に、背景要素background-size:cover;
の高さが のプロパティを使用して、モバイル デバイスでテキストを折り返してフローできるようにしました。auto
背景要素の高さをテキストの折り返しに合わせてサイズ変更できるようにするには、その親 (この場合はbody
) の高さを にする必要があり100%
ます。
html,body{
height:100%;
}
.banner{
background: url('path/to/banner.jpg') center center no-repeat;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
@media screen and (max-width: 800px){
.viewport {
position:absolute;
right:0;
left:0;
top:0;
bottom:0;
overflow-x:hidden;
overflow-y:scroll;
}
.banner{
height:auto;
}
.banner .banner-container {
position:relative;
overflow:hidden;
}
}
<html>
<body>
<div class="viewport">
<div class="banner">
<div class="banner-container">
<h1>Lorem ipsum dolor sit amet, est intellegebat definitionem at</h1>
<h1>Lorem ipsum dolor sit amet, est intellegebat definitionem at</h1>
<h1>Lorem ipsum dolor sit amet, est intellegebat definitionem at</h1>
</div>
</div>
</div>
</body>
<html>