html - CSS 背景自然缩放内容

标签 html css background-image

我从 100% 的桌面背景移动到平板电脑/手机尺寸后更改为移动背景。我的问题是当我缩小尺寸时,内容开始超过背景长度。

#bg {
background-image: url('images/bg.gif');
background-size: 100%  ;               
background-repeat: no-repeat;    
position: relative;
height: 100%;
}

然后转到 992px。此图片宽度为 992px,高度为 1425px

#bg {
background-image: url('images/mobile/mobile-bg.jpg');
background-size: 100% auto; 
}

HTML结构

<div class="row main-content" > 
    <div class="col-xs-12" id="bg">
        <div class="row">   
            <div class="col-xs-12 ">
                <div class="row">
                    <!-- content here -->
                </div> 

            </div> 
        </div>   
    </div>  
 </div> <!-- row main-content end -->

我不明白为什么它能够缩放并保留内容直到它变小(例如移动尺寸)

我错过了什么?我不想拉伸(stretch)图像。我想保持正确的比例。我只需要一张更高的背景图片吗?

最佳答案

我相信您正在寻找 covercontain 的背景大小。 MDN 在这里有更多相关信息:https://developer.mozilla.org/en-US/docs/Web/CSS/background-size

Cover 将在保持纵横比的同时使背景图像尽可能小,contain 将确保背景图像在保持纵横比的同时尽可能大。

如果您需要支持版本 9 以下的 IE,您将需要某种 polyfill。

#bg {
    background-image: url('images/bg.gif');
    background-size: contain;
    background-repeat: no-repeat;
    position: relative;
    height: 100%;
}

关于html - CSS 背景自然缩放内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25633688/

相关文章:

android 从 html 表单值(选择标签)填充微调器

javascript - 使用 javascript 更改 id 宽度百分比

html - 内联文本 - 带填充的背景颜色

css - 移动响应有溢出-y

html - 如何像 facebook 那样用 css 对齐图片、名称和帖子?

php - 表格颜色文本不会改变

jquery - 基本 CSS 特性在 IE8 中不起作用

CSS:重复背景图像整数次

css - 有没有办法在悬停时仅使用 css 制作 base64 编码的背景图像 png 黑白?

ios - 背景图片在 Safari 和 iOS 中不显示全宽