我有一个有两列的网格,在这些列中有不同高度和宽度的div。需要知道的是,当我们点击一个div时,它的内容会向下切换(用jQuery显示/隐藏),所以div也可以改变它们的高度。为了从屏幕视图从上到下显示我的内容的重要性,顺序是行(行)。我的问题是移动版本,因为当我调整页面大小时,将按列排序,而不是按行排序。
.grid {position:relative;display:flex;flex-flow:row wrap;justify-content:space-between;width:100%;max-width:1200px;margin:0 auto;padding:20px;background:grey}
.column {position:relative;display:flex;flex-flow:row wrap;align-content:start;width:49.5%;background:white}
.column1 {justify-content:right;}
.column2 {justify-content:left;}
.item {width:97.5%;max-width:720px;max-height:720px;padding:10px;color:#fff;font-size:30px}
.item1 {width:80%;height:100px;background:red}
.item2 {width:50%;height:190px;background:blue}
.item3 {width:40%;height:80px;background:green}
.item4 {width:100%;height:50px;background:yellow}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<main class="grid">
<div class="column column1">
<div class="item item1">1</div>
<div class="item item3">3</div>
</div>
<div class="column column2">
<div class="item item2">2</div>
<div class="item item4">4</div>
</div>
</main>
我发现了很多关于网格和div顺序的问题/答案,但它们都在相同的列或行中。我仍然在寻找一个css或js解决方案。
2条答案
按热度按时间guykilcj1#
这是一个不能用现代的CSS处理的奇怪的请求。
我创建了一个函数,通过在Object 1的所需位置插入一个标记来交换元素。
然后,我通过调用
window
对象上的matchMedia
方法创建了一个MediaQueryList
。MediaQueryList
对象存储有关应用于文档的media query的信息,同时支持针对文档状态的即时匹配和事件驱动匹配。-MDN因此,我使用了一个事件驱动的侦听器,只要屏幕低于或等于
1000px
,条件语句就会调用该侦听器。7xzttuei2#
您可以使用
@media only screen
将一列中的div设置为某个宽度,然后使用grid
,但是您将拥有相同高度的行,如果您不想这样做,您可以使用js来替换Childs。像这样。Script.js
Style.css
Index.html