我有以下标记,其中 #content
的宽度为 80%,并且包含 .slide
元素。我希望幻灯片与它们的祖 parent 一样宽(即本例中的正文)。这是我的标记并且无法更改:
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>
我试过:
- 需要固定幻灯片高度的相对绝对定位(幻灯片包含可变长度的文本)
- 在段落而不是内容上设置 80% 宽度,但这并不优雅(内容包含不能有 80% 宽度或 10% 左边距的元素)
最佳答案
如果您周围的内容可能需要不同的定位属性组合,您总是可以使用以下内容。
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>
关于html - 使元素与祖 parent 一样宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29963950/