I have the following markup where #content
is 80% wide and contains .slide
elements. I want the slides to be as wide as their grandparent (i.e. body in this example). This is the markup I have and it cannot be changed:
body {
margin: 0;
font: medium monospace;
background: lightgray;
}
#content {
margin: auto;
width: 80%;
background: white;
}
#content:before,
#content:after {
content: "";
display: table;
}
.slide {
height: 6em;
background: indianred;
}
<div id="content">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<blockquote>
<p>Phasellus euismod dolor imperdiet!</p>
</blockquote>
<div class="slide">Donec mauris tellus</div>
<p>Pellentesque sit amet venenatis diam, at interdum tortor.</p>
<ul>
<li>Quisque ornare mi in pharetra porttitor.</li>
<li>Nulla ultrices quam nec vehicula porta.</li>
</ul>
</div>
I have tried:
If your surrounding content can demand a different combination of positioning properties on their own, you could always go with the following.
body {
margin: 0;
font: medium monospace;
background: lightgray;
}
#content {
margin: auto;
width: 80%;
background: white;
}
#content:before,
#content:after {
content: "";
display: table;
}
.slide {
height: 6em;
background: indianred;
width: 125%; /*100*(100/80)*/
margin-left: 50%;
transform: translateX(-50%);
}
<div id="content">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<div class="slide">Donec mauris tellus</div>
<p>Pellentesque sit amet venenatis diam, at interdum tortor.</p>
</div>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With