我有一个居中的包装(固定宽度和动态填充)和一些 p-tags。这些标签的 backgroundColor 必须扩展到左侧的浏览器边框,但内容仍应保持在居中的内容区域内。
我设法用 JavaScript ( Example ) 做到了。
HTML:
<div>
<p>asd</p><br>
<p>asd</p><br>
<p>asd</p>
</div>
JS:
$(document).ready(function() {
$('p').css('padding-left', $('div').css('padding-left')).css('margin-left', "-" + $('div').css('padding-left'));
});
CSS:
div {
width: 300px;
background: green;
padding: 0 calc(50% - 150px)
}
p {
height: 50px;
margin-bottom: 10px;
background: blue;
display: inline-block;
}
但我希望它只使用css。有没有办法在没有 JavaScript 的情况下获得这种行为?
FF、Chrome、iPad iOS5/6 Safari、IE9+ 必须支持。
/编辑:
感谢您到目前为止的回复。我在 p 元素上使用了 inline-block 以使其不会向右延伸,因为它应该像内联元素一样具有所需的最小宽度。但我仍然希望下一个元素位于新行中(如果有更好的解决方案,欢迎使用)
感谢 PaulvdTool,我设法找到了解决方案:http : //jsfiddle.net/EFhkH/2/
不过,如果您有更好的想法在 inline-block 之后强制换行,欢迎您