具有背景图像的响应式网格布局
Responsive Grid Layout with background image
我想用图像制作网格布局,因为 background.I 想要 2 列和 2 行的网格,但具有不同的高度和宽度。它应该是响应式的,当我们调整 window 或屏幕大小时,网格和图像应该按比例调整大小。我怎样才能做到这一点?请帮我。这是我的代码。
#ser_wrap{
margin: auto;
border: 1px solid #fff;
padding: 0;
}
#col1{
background: url(images/col1.jpg) no-repeat 50% 0 #CC8F1D;
background-size: 100%;
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
height: 100%;
min-height: 35vh;
padding: 0;
}
#col2{
background: url(images/col2.jpg) no-repeat 50% 0 #BA7677;
background-size: 100%;
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
height: 100%;
min-height: 45vh;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="ser_wrap" class="col-lg-12">
<div id="col1" class="col-md-5 col-lg-5">
</div>
<div id="col2" class="col-md-7 col-lg-7">
</div>
</div>
我想你期望的结果如下:
#ser_wrap{
margin: auto;
border: 1px solid #fff;
padding: 0;
}
#col1{
background: url(http://www.sonoravirtual.com/images/events/big/304946bde31e3ad3853a70a02b97e1d4.jpg) no-repeat 50% 0 #CC8F1D;
background-size: 100%;
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
height: 100%;
min-height: 35vh;
padding: 0;
}
#col2{
background: url(http://www.sonoravirtual.com/images/events/big/304946bde31e3ad3853a70a02b97e1d4.jpg) no-repeat 50% 0 #BA7677;
background-size: 100%;
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
height: 100%;
min-height: 45vh;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="ser_wrap" class="col-lg-12">
<div id="col1" class="col-md-5 col-lg-5">
<!-- <img src="http://www.sonoravirtual.com/images/events/big/304946bde31e3ad3853a70a02b97e1d4.jpg" class="img-responsive"> -->
</div>
<div id="col2" class="col-md-7 col-lg-7">
<!-- <img src="http://www.sonoravirtual.com/images/events/big/304946bde31e3ad3853a70a02b97e1d4.jpg" class="img-responsive"> -->
</div>
</div>
在 "img" 标签中使用 bootstrap 框架中包含的 "img-resposive" class。
不确定这是否是您要查找的内容,但是使用 table/tr/td 可以解决 2 column/2 行难题。如果您需要图像,可以轻松更改这些背景,方法是将它们放在 CSS 的背景标签中,您已经完成了。这是一个快速的 JSfiddle 来展示我的意思。我意识到这不是最优雅的解决方案,但它很快:)
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="ser_wrap" class="col-lg-12">
<table cellpadding=4>
<tr colspan = 2>
<td id="col1"></td>
<td id = "col3"></td>
</tr>
<tr colspan = 2>
<td id="col2"></td>
<td id = "col4"></td>
</tr>
</table>
</div>
然后是 CSS
#ser_wrap{
margin: auto;
border: 1px solid #fff;
padding: 0;
}
#col1{
background: url(images/col1.jpg) no-repeat 50% 0 #CC8F1D;
background-size: 50%;
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
width: 200px;
height:200px;
min-height: 35vh;
padding: 0;
}
#col2{
background: url(images/col2.jpg) no-repeat 50% 0 #BA7677;
background-size: 50%;
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
width: 200px;
height:200px;
min-height: 45vh;
}
#col3{
background: black;
background-size: 50%;
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
width:200px;
height:200px;
min-height: 45vh;
}
#col4{
background: red;
background-size: 50%;
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
width: 200px;
height:200px;
min-height: 45vh;
}
我想用图像制作网格布局,因为 background.I 想要 2 列和 2 行的网格,但具有不同的高度和宽度。它应该是响应式的,当我们调整 window 或屏幕大小时,网格和图像应该按比例调整大小。我怎样才能做到这一点?请帮我。这是我的代码。
#ser_wrap{
margin: auto;
border: 1px solid #fff;
padding: 0;
}
#col1{
background: url(images/col1.jpg) no-repeat 50% 0 #CC8F1D;
background-size: 100%;
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
height: 100%;
min-height: 35vh;
padding: 0;
}
#col2{
background: url(images/col2.jpg) no-repeat 50% 0 #BA7677;
background-size: 100%;
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
height: 100%;
min-height: 45vh;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="ser_wrap" class="col-lg-12">
<div id="col1" class="col-md-5 col-lg-5">
</div>
<div id="col2" class="col-md-7 col-lg-7">
</div>
</div>
我想你期望的结果如下:
#ser_wrap{
margin: auto;
border: 1px solid #fff;
padding: 0;
}
#col1{
background: url(http://www.sonoravirtual.com/images/events/big/304946bde31e3ad3853a70a02b97e1d4.jpg) no-repeat 50% 0 #CC8F1D;
background-size: 100%;
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
height: 100%;
min-height: 35vh;
padding: 0;
}
#col2{
background: url(http://www.sonoravirtual.com/images/events/big/304946bde31e3ad3853a70a02b97e1d4.jpg) no-repeat 50% 0 #BA7677;
background-size: 100%;
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
height: 100%;
min-height: 45vh;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="ser_wrap" class="col-lg-12">
<div id="col1" class="col-md-5 col-lg-5">
<!-- <img src="http://www.sonoravirtual.com/images/events/big/304946bde31e3ad3853a70a02b97e1d4.jpg" class="img-responsive"> -->
</div>
<div id="col2" class="col-md-7 col-lg-7">
<!-- <img src="http://www.sonoravirtual.com/images/events/big/304946bde31e3ad3853a70a02b97e1d4.jpg" class="img-responsive"> -->
</div>
</div>
在 "img" 标签中使用 bootstrap 框架中包含的 "img-resposive" class。
不确定这是否是您要查找的内容,但是使用 table/tr/td 可以解决 2 column/2 行难题。如果您需要图像,可以轻松更改这些背景,方法是将它们放在 CSS 的背景标签中,您已经完成了。这是一个快速的 JSfiddle 来展示我的意思。我意识到这不是最优雅的解决方案,但它很快:)
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="ser_wrap" class="col-lg-12">
<table cellpadding=4>
<tr colspan = 2>
<td id="col1"></td>
<td id = "col3"></td>
</tr>
<tr colspan = 2>
<td id="col2"></td>
<td id = "col4"></td>
</tr>
</table>
</div>
然后是 CSS
#ser_wrap{
margin: auto;
border: 1px solid #fff;
padding: 0;
}
#col1{
background: url(images/col1.jpg) no-repeat 50% 0 #CC8F1D;
background-size: 50%;
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
width: 200px;
height:200px;
min-height: 35vh;
padding: 0;
}
#col2{
background: url(images/col2.jpg) no-repeat 50% 0 #BA7677;
background-size: 50%;
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
width: 200px;
height:200px;
min-height: 45vh;
}
#col3{
background: black;
background-size: 50%;
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
width:200px;
height:200px;
min-height: 45vh;
}
#col4{
background: red;
background-size: 50%;
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
width: 200px;
height:200px;
min-height: 45vh;
}