简体   繁体   English

带引导容器的半宽背景图像

[英]Half width background image with bootstrap container

I'm trying to create an grid with two columns (col-6 | col-6).我正在尝试创建一个包含两列(col-6 | col-6)的网格。 But the right column needs to be fluid with an image in it.但是右列需要流畅,其中包含图像。 I tried the following:我尝试了以下方法:

预习

 <div class="container-fluid" style="background-image: url('public/img/example.jpg'); background-size: 50% auto; background-position: center right; background-repeat: no-repeat;">
        <div class="container">
            <div class="row">
                <div class="col-6">
                    <h1>Hello</h1>
                    <p>Lorem Impsum Lorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem Impsum</p>
                    <p>Lorem Impsum Lorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem Impsum</p>
                    <p>Lorem Impsum Lorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem Impsum</p>
                    <p>Lorem Impsum Lorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem ImpsumLorem Impsum</p>
                </div>
            </div>
        </div>
    </div>

The problem with my solution is that when the content on the left side get's bigger: The image creates some space to stay in ratio.我的解决方案的问题是,当左侧的内容变大时:图像会创建一些空间以保持比例。 (Space marked with red background: (标有红色背景的空间:乙

I'm not able to make this cover because I'm already using the background-size to set the image to half of screen.我无法制作此封面,因为我已经使用背景大小将图像设置为屏幕的一半。 So what I'm trying to do is that the image fills/covers the red background as well.所以我想做的是图像也填充/覆盖红色背景。 How can I achieve this?我怎样才能做到这一点?

First of all - I assume you use bootstrap 4.首先-我假设您使用引导程序 4。

You can combine native bootsrap grid and bootstrap's .img-fliud to make your image "responsive" (see here for details).您可以将本机引导网格和引导的.img-fliud fliud 结合起来,使您的图像“响应”(有关详细信息,请参见此处)。

 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous"> <div class="container mt-3"> <div class="row"> <div class="col-6"> <h1>Header 1</h1> <p>Small text</p> </div> <div class="col-6"> <img class="img-fluid" src="https://picsum.photos/seed/picsum/640/480" alt="Responsive image"> </div> </div> <div class="row mt-3"> <div class="col-6"> <h1>Header 2</h1> <p>Large text</p> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean in vestibulum lorem. Aliquam elementum suscipit mi, gravida iaculis sapien malesuada maximus. Cras vehicula lectus at urna pharetra, non dictum felis mollis. Mauris vitae justo pretium justo lacinia rutrum efficitur rutrum leo. Sed tincidunt nec dui non posuere. In hac habitasse platea dictumst. Curabitur mauris turpis, gravida vitae mollis id, facilisis non urna.</p> <p>Donec rhoncus gravida tincidunt. Pellentesque interdum tortor sit amet euismod gravida. Phasellus blandit metus et diam euismod vulputate. Morbi accumsan, nunc vitae congue fermentum, lectus velit iaculis arcu, sed consequat orci nibh quis nisl. Sed nec diam vestibulum, ultrices augue porttitor, congue orci. Praesent ac justo massa. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Suspendisse a odio molestie urna finibus commodo et hendrerit ligula. Etiam eleifend dui sit amet tortor suscipit sagittis. Etiam ex risus, pellentesque vel elementum vitae, elementum sed nibh. Aliquam libero lectus, blandit nec aliquam id, dictum vestibulum lorem. Fusce facilisis augue non justo ultrices eleifend. Ut ornare ut erat nec pellentesque. Donec posuere, urna vel lobortis mattis, nulla mi rhoncus lacus, nec porttitor eros nisi id quam. Nullam quam metus, dictum in mattis sed, suscipit id ex.</p> </div> <div class="col-6"> <img class="img-fluid my-image" src="https://picsum.photos/seed/picsum/640/480" alt="Responsive image"> </div> </div> </div>

If you want your image to be the same height as your left column (or bigger, depending on image) - you cat try min-height: 100%;如果您希望图像与左列的高度相同(或更大,取决于图像) - 您可以尝试min-height: 100%; with object-fit: cover;object-fit: cover; to preserve the aspect ratio.以保持纵横比。

 .my-image { min-height: 100%; max-width: 100%; object-fit: cover; }
 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous"> <div class="container mt-3 mb-3"> <div class="row"> <div class="col-6"> <h1>Header 1</h1> <p>Small text</p> </div> <div class="col-6"> <img class="my-image" src="https://picsum.photos/seed/picsum/1000/1000" alt="Responsive image"> </div> </div> <div class="row mt-3"> <div class="col-6"> <h1>Header 2</h1> <p>Large text</p> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean in vestibulum lorem. Aliquam elementum suscipit mi, gravida iaculis sapien malesuada maximus. Cras vehicula lectus at urna pharetra, non dictum felis mollis. Mauris vitae justo pretium justo lacinia rutrum efficitur rutrum leo. Sed tincidunt nec dui non posuere. In hac habitasse platea dictumst. Curabitur mauris turpis, gravida vitae mollis id, facilisis non urna. </p> <p>Donec rhoncus gravida tincidunt. Pellentesque interdum tortor sit amet euismod gravida. Phasellus blandit metus et diam euismod vulputate. Morbi accumsan, nunc vitae congue fermentum, lectus velit iaculis arcu, sed consequat orci nibh quis nisl. Sed nec diam vestibulum, ultrices augue porttitor, congue orci. Praesent ac justo massa. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Suspendisse a odio molestie urna finibus commodo et hendrerit ligula. Etiam eleifend dui sit amet tortor suscipit sagittis. Etiam ex risus, pellentesque vel elementum vitae, elementum sed nibh. Aliquam libero lectus, blandit nec aliquam id, dictum vestibulum lorem. Fusce facilisis augue non justo ultrices eleifend. Ut ornare ut erat nec pellentesque. Donec posuere, urna vel lobortis mattis, nulla mi rhoncus lacus, nec porttitor eros nisi id quam. Nullam quam metus, dictum in mattis sed, suscipit id ex.</p> </div> <div class="col-6"> <img class="my-image" src="https://picsum.photos/seed/picsum/1000/1000" alt="Responsive image"> </div> </div> </div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM