主题
满幅的背景,定宽的内容
效果
背景沾满父容器,内容是定宽的,即使在不同的分辨率下的宽度不一样,也只是通过媒体查询改变而已
最经典的如 页脚
通常是这样设计的
html
<footer>
<div class="wrapper">
<!-- 内容 -->
</div>
</footer>
css
footer {
background: #F7FBFD;
}
.wrapper {
max-width: 900px;
margin: 10px auto;
}
但实现需要多添加一个 div,有没有只用 css 解决的方案呢?
解决方案
margin: auto
的作用:左右外边距实际上都等于视口宽度的 一般减去内容宽度的一半,即
margin-right = margin-left = 50% - 450px
所以我们完全可以去掉那一层 div
css
footer {
max-width: 900px;
padding: 10px calc(50% - 450px); /* 用 padding,因为背景是填满父容器的 */
background: #F7FBFD;
}
可以简写成如下,引入
padding = 50% - 450px
实际上是刚好给内容留了900px
的宽度cssfooter { padding: 10px calc(50% - 450px); background: #F7FBFD; }