I have a WordPress block I’ve made and I’m trying to get the image (background image) to break the container and extend beyond to the end of the screen. How can I achieve this?
.container {
max-width: 80%;
margin: auto auto;
}
.row {
display: flex;
flex-direction: row-reverse;
}
.col {
flex-basis: 50%;
}
.border {
border-bottom-left-radius: 50%;
}
.btn {
padding: 5px 10px;
background: blue;
color: white;
}
.body {
margin-bottom: 15px;
}
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" integrity="sha384-xOolHFLEh07PJGoPkLv1IbcEPTNtaed2xpHsD9ESMhqIYd0nLMwNLD69Npy4HI+N" crossorigin="anonymous">
<div class="container">
<div class="row">
<div class="col border" style="background: url('https://plus.unsplash.com/premium_photo-1694825173871-7b5df4d57ba5?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2310&q=80') no-repeat center/ cover; min-height: 460px;">
</div>
<div class='col'>
<h2 class='copyimage__title'>My Title</h2>
<div class=" body">This is the copy</div>
<div class="align-items-center">
<a href=" #" class="btn btn-primary">
Button
</a>
<?php endif; ?>
</div>
</div>
</div>
</div>
2
Answers
This code will put the background image outside the container.
You can set a negative
margin
to.border
. But for this you need to know the width of the.container
.I see you set
.container { max-width: 80%; }
. It doesn’t work now because bootstrap styles are added later. But for an example solution to your problem, we’ll add!important
and assume the width of the container is80vw
.Then we set
.border { margin-right: calc((100vw - 80vw) / -2) }
P.S. You will have to now also install
body{ overflow-x:hidden; }
becausevw
don’t take scrollbar into account. In bootstrap, by the way, the width of the container is fixed. You can put it in a css variable and use it in a similar way. It’s a wonder they haven’t done it yet…