html - 背景图像在移动设备中未缩放

标签 html css twitter-bootstrap-3 jquery-backstretch

您好,我正在尝试缩小设置在特定 div 中的背景图像,以缩小手机屏幕,如 iphone 或 android,但它没有缩小,而是只显示大图像的特定部分,而我想要那个整个图像的尺寸和可读性都减小了

这是在线链接,您可以在其中验证和查看样式

http://houseofskills.pk/house-of-skills/website/index

<section id="intro">
            <div class="black-overlay"></div>
            <div class="container valign">
                <div class="row">
                    <div class="col-md-12">

                    </div>

                    <div class="col-md-12 text-center">

                    </div>

                    <div style="font-weight: bold; color:black;" class="col-md-6 col-md-offset-3 text-center">

                    </div>

                </div>
            </div>
        </section>

<style>
.valign{
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
.container {
    position: relative;
}
</style>

另外我正在使用 backstrech 设置背景图片

    <script>
            $("#intro").backstretch("<?php echo base_url('assets/img/banner.jpg');?>");
        </script>

最佳答案

Backstretch 正在设置内联样式,强制您的图像始终以最大宽度显示。

使用像 Backstretch 这样的 Jquery 插件来设置背景图像是完全没有必要的。像这样在 CSS 中设置背景图片会更加高效和干净:

HTML:

<section id="intro">
    <div class="black-overlay"></div>
    <div class="bg"></div>
    ...
</section>

CSS:

...
#intro > .bg {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-image: url( '/house-of-skills/assets/img/banner.jpg' );
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}
...

话虽如此,如果你真的真的需要使用反向拉伸(stretch)来设置背景图片,你可以在初始化后覆盖内联 CSS:

<script>
    $("#intro").backstretch("<?php echo base_url('assets/img/banner.jpg');?>");
    $("#intro > .backstretch img").css( {
        top: 0,
        bottom: 0,
        left: 0,
        right: 0,
        width: '100%',
        height: 'auto',
        margin: 'auto'
    } )
</script>

这利用了 backstretch 使用绝对定位这一事实。它将所有边缘参数设置为 0,然后给出 auto 的边距,这将水平和垂直居中绝对元素。同样,这是一种非常低效的设置背景图像的方法。

关于html - 背景图像在移动设备中未缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57031806/

相关文章:

css - 为什么使用宽度 :100% to make a table expand relatively to window size creates an undesired space?

php - Bootstrap 3 在 Symfony3 中不起作用

javascript - 删除标签但保留内容 - jQuery/Javascript

css - 绝对定位的链接在点击时移动到意外位置(a :active)

html - 标签前的 Bootstrap 列空间

css - 链接的 CSS 按钮在 IE11 中不起作用

html - 居中元素在 Internet Explorer 中不起作用

twitter-bootstrap - Bootstrap 3 工具提示或弹出框不起作用

jquery - 在我的案例中如何替换背景图片?

javascript - Jquery 滚动必须更频繁地触发