为了便于解释,我将直接跳到代码中。我有一个简单的手风琴菜单,可以自动从另一个 html 文件加载和插入图片库(带有标题文本),如下所示:
<section>
<a class="box-link" href="#.html">Link 1</a>
<div class="image-gallery">
<img src="1.jpg"> [...]
<p>Example loaded paragraph of text</p>
</div>
<a class="box-link" href="#.html">Link 2</a>
<a class="box-link" href="#.html">Link 3</a>
<a class="box-link" href="#.html">Link 4</a>
</section>
而这个相关的CSS:
section {
width: 100%;
max-width: 60em;
margin: 0 auto;
}
.box-link {
display: block;
box-sizing: border-box;
padding: 1em;
width: 100%;
}
在大型浏览器窗口中,截面宽度最大为 60em,并在屏幕上居中。每一点内容都被冲到列的边缘,并且排列得很好。
当浏览器窗口小于 60em 时,所有内容都变为 100% 宽度,这正是我想要的 - 除了p标签。在这种状态下,我希望p标签在左右两侧有一个额外的 1em 边距或填充,以防止它与页面边缘对接。
添加padding: 0 1em;
到 section 标记正是我想要的p标记,但其他所有东西也得到了填充,这是我不想要的 - 在一个大的浏览器窗口中,宽度仍然限制在 60em。一旦窗口大小减小到 60em 以下,填充是可见的。
所以,问题是:是否有办法以这种“自动”方式仅为 p标签实现额外的填充/边距,还是我必须求助于使用媒体查询来应用类似p { padding: 0 1em; }
较小屏幕的东西?
谢谢你。