我正在使用Bootstrap创建一个响应式网页。我需要添加一个左padding-left和右padding-right到body,总是有一个50px宽的空白安全区域<两边都是。问题:当我调整视口的大小,容器的内容溢出在右边。>
有没有简单的方法来达到这个效果?我只试了下面这个,但是它看起来不太好(容器太窄了)
// container responsivity fix
.container {
.container-fixed();
@media (min-width: @screen-sm-min) {
width: calc(~'@{container-sm} - 100px');
}
@media (min-width: @screen-md-min) {
width: calc(~'@{container-md} - 80px');
}
@media (min-width: @screen-lg-min) {
width: calc(~'@{container-lg} - 100px');
}
}
HTML结构:<header>
<div class="container">
<div class="row">
<div class="col-xs-12 col-sm-4">
<a href="#">
LOGO
</a>
</div>
<div class="col-xs-12 col-sm-5">
<h2>Lorem ipsum dolor sit amet, <strong> consectetur adipiscing elit.</strong> </h2>
</div>
<div class="col-xs-12 col-sm-3 text-right">
<i class="flag cz active">A</i>
<i class="flag uk">B</i>
<i class="flag ge">C</i>
</div>
</div>
</div>
</header>
小提琴:http://jsfiddle.net/o5bkpv7c/
文本是不可伸缩的,所以它将不适合在头部超过一定的断点。我通常使用break word或缩小文本大小或使用fitText.js。有更简洁的方法。
演示:http://jsfiddle.net/o5bkpv7c/4/
body {
padding: 0 20px;
}
header {
background: lightblue;
padding: 1em 0;
}
header h2 {font-size:1.2rem;margin:10px 0;}
.flag {
width: 29px;
height: 20px;
display: inline-block;
background: red;
}
@media (min-width:768px) {
header h2 {font-size:1.3rem;margin:0;}
}
还有,看看你想要的布局,我不会用网格系统。这里有一个更简洁的方法。