【发布时间】:2014-02-19 23:18:53
【问题描述】:
我有不同高度的图像,我想将它们放入一个平铺的画廊中,如下图所示:
但是,我也希望它具有压制性,所以我的方法如下:
1) 我使用 HTML 创建了三个 div,#grid1、#grid2 和 #grid3。并且图像被放置在这 3 个网格中的花药 div 中,该 div 具有包含图像的类 .gridElement。
<!--Grid System-->
<div id="grid1">
<!--Grid 1-->
<div class="gridElement">
<img alt="image" src="assets/images/image.jpg">
</div>
</div>
<div id="grid2">
<!--Grid 2-->
<div class="gridElement">
<img alt="image" src="assets/images/image.jpg">
</div>
</div>
<div id="grid3">
<!--Grid 3-->
<div class="gridElement">
<img alt="image" src="assets/images/image.jpg">
</div>
</div>
<!--/Grid System-->
2) 这是使用媒体查询的 CSS:
/*Grid System*/
#grid1,#grid2,#grid3 {
width: 33.333%;
float: left;
}
#grid1 {
padding-right: 20px;
}
#grid2 {
padding: 0 10px;
}
#grid3 {
padding-left: 20px;
}
/*Gird Elements*/
.gridElement {
margin-bottom: 30px;
overflow: hidden;
}
#grid1 .gridElement:last-of-type,
#grid2 .gridElement:last-of-type,
#grid3 .gridElement:last-of-type {
margin-bottom: 0;
}
#grid1 img,#grid2 img,#grid3 img {
width: 100%;
}
和
@media screen and (max-width: 1024px) {
/*Grid System*/
#grid1,#grid2,#grid3 {
width: 50%;
}
#grid3 {
display: none;
}
}
和
@media screen and (max-width: 770px) {
/*Grid System*/
#grid1,#grid2,#grid3 {
width: 100%;
}
#grid1,#grid2,#grid3 {
padding: 0;
display: block;
}
#grid1 .gridElement:last-of-type,
#grid2 .gridElement:last-of-type {
margin-bottom: 30px;
}
和
@media screen and (max-width: 500px) {
/*Grid System*/
.gridElement {
margin-bottom: 20px;
}
#grid1 .gridElement:last-of-type,
#grid2 .gridElement:last-of-type {
margin-bottom: 20px;
}
他们的理论: 当屏幕尺寸在 1024px 以上时,默认显示三个网格。但是,当屏幕尺寸低于 1024 像素和高于 770 像素时,使用 CSS #grid3 被隐藏并使用 JavaScript 我试图将 #grid3 内的所有 .girdElements 发送到 #grid1 和 #grid2。当屏幕尺寸低于 770px 时,一切都会恢复正常并显示所有网格。
问题?我已经设法让 JavaScript 之外的所有东西都正常工作 - 请任何人都可以帮助我创建一个函数,当屏幕尺寸低于 1024 像素并高于 770 像素时,该函数将 #grid3 内的所有 .girdElements 平等地发送到 #grid1 和 #grid2 吗? “加载和调整大小”。
【问题讨论】:
-
为什么要重新发明轮子?使用像 modernizr 这样的库。
-
我不想使用插件,我想要一些非常简单的东西 + 我快到了!我花了很多时间在它上面,但真的需要一些帮助才能让它工作!请
标签: javascript jquery html css