首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS flex:对响应式媒体查询使用行反转

CSS flex:对响应式媒体查询使用行反转
EN

Stack Overflow用户
提问于 2017-01-18 00:06:35
回答 2查看 3.8K关注 0票数 2

在使用媒体查询时,我在灵活的网格布局中使用row-reverse时遇到了问题。正常情况下会颠倒列顺序,但当媒体查询将列宽更改为100%时,不再颠倒列顺序。

如何更新css以使小屏幕上的列顺序颠倒?

代码语言:javascript
复制
.row {
	display: flex;
	flex: 0 1 auto;
	flex-direction: row;
	flex-wrap: wrap;
}
[class*='col-'] {
	flex: 1;
}
.row-reverse {
	flex-direction: row-reverse;
}
.col, [class*='col-'] {
	-ms-flex-preferred-size: 100%;
	flex-basis: 100%;
	max-width: 100%;	
}

@media (min-width: 600px) { 
	.col-3 {
		-ms-flex-preferred-size: 25%;
		flex-basis: 25%;
		max-width: 25%;	
	}
}
代码语言:javascript
复制
<h3>Resize browser to less than 600px to see the ordering issue</h3>

<div class="row row-reverse">

    <div class="col-3 padding0-5">

        <p>First</p>

    </div> <!-- /.col-3 -->

    <div class="col-3 padding0-5">

        <p>Second</p>

    </div> <!-- /.col-3 -->

    <div class="col-3 padding0-5">

        <p>Third</p>

    </div> <!-- /.col-3 -->

    <div class="col-3 padding0-5">

        <p>Fourth</p>

    </div> <!-- /.col-3 -->

</div> <!-- /.row -->

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-18 00:11:51

您可以在< 600px设备大小上添加flex-direction: column-reverse。此外,您可以用更少的代码编写此代码,您只需更改行/列的反转。

代码语言:javascript
复制
.row {
  display: flex;
}
[class*='col-'] {
  flex: 1;
}
.reverse {
  flex-direction: row-reverse;
}
@media (max-width: 600px) {
  .reverse {
    flex-direction: column-reverse;
  }
}
代码语言:javascript
复制
<div class="row reverse">
  <div class="col-3 padding0-5"><p>First</p></div>
  <div class="col-3 padding0-5"><p>Second</p></div>
  <div class="col-3 padding0-5"><p>Third</p></div>
  <div class="col-3 padding0-5"><p>Fourth</p></div>
</div>

票数 3
EN

Stack Overflow用户

发布于 2017-01-18 00:14:00

只需将您的flex-wrap更改为wrap-reverse;

代码语言:javascript
复制
.row {
	display: flex;
	flex: 0 1 auto;
	flex-direction: row;
	flex-wrap: wrap-reverse;
}
[class*='col-'] {
	flex: 1;
}
.row-reverse {
	flex-direction: row-reverse;
}
.col, [class*='col-'] {
	-ms-flex-preferred-size: 100%;
	flex-basis: 100%;
	max-width: 100%;	
}

@media (min-width: 600px) { 
	.col-3 {
		-ms-flex-preferred-size: 25%;
		flex-basis: 25%;
		max-width: 25%;	
	}
}
代码语言:javascript
复制
<h3>Resize browser to less than 600px to see the ordering issue solved</h3>

<div class="row row-reverse">
  <div class="col-3 padding0-5"><p>First</p></div> <!-- /.col-3 -->
  <div class="col-3 padding0-5"><p>Second</p></div> <!-- /.col-3 -->
  <div class="col-3 padding0-5"><p>Third</p></div> <!-- /.col-3 -->
  <div class="col-3 padding0-5"><p>Fourth</p></div> <!-- /.col-3 -->
</div> <!-- /.row -->

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41701810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档