首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据不同的屏幕大小更改Flex-Basis

根据不同的屏幕大小更改Flex-Basis
EN

Stack Overflow用户
提问于 2020-04-26 15:56:24
回答 2查看 108关注 0票数 0

我想知道为什么这个不起作用。

代码语言:javascript
复制
#parent {
  display: flex !important;
	flex-flow: row wrap;
  width: 100% !important;
	justify-content: flex-start;
}
.item{
	flex: 1 !important;
	flex-basis: calc(100% / 4);
	box-sizing: border-box ;
	border: solid 1px #000000;
	margin-bottom: 30px !important;
	max-width: 24%;
  height: 50px;
}

@media screen and (max-width: 767px) {
/* start of medium tablet styles */
	.item{
		flex-basis: calc(100% / 3) !important;
	}
}

@media screen and (max-width: 479px) {
/* start of phone styles */
	.item{
		flex-basis: calc(100% / 2) !important;
	}
}
代码语言:javascript
复制
<div id="parent">
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
</div>

我想在手机和平板电脑屏幕上更改flex项目的flex-basis。通常,行项目应该是4,在平板电脑中应该是3,那么在移动设备上应该是2。

EN

回答 2

Stack Overflow用户

发布于 2020-04-26 16:12:45

你只需要移除max-width: 24%

代码语言:javascript
复制
#parent {
  display: flex !important;
	flex-flow: row wrap;
  width: 100% !important;
	justify-content: flex-start;
}
.item{
	flex: 1 !important;
	flex-basis: calc(100% / 4);
	box-sizing: border-box ;
	border: solid 1px #000000;
	margin-bottom: 30px !important;
  height: 50px;
}

@media screen and (max-width: 767px) {
/* start of medium tablet styles */
	.item{
		flex-basis: calc(100% / 3) !important;
	}
}

@media screen and (max-width: 479px) {
	.item{
		flex-basis: calc(100% / 2) !important;
	}
}
代码语言:javascript
复制
<div id="parent">
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
</div>

票数 1
EN

Stack Overflow用户

发布于 2020-04-26 16:36:09

你搞错了,伙计。我假设如果项目只有1,你需要最大宽度来使它不完全宽。

去掉max-widthflex:1,你就可以正常工作了。

flex: 1flex-basis: calc(100% / 4);的冗余。

当你告诉flex: 1使用flex-basis: calc(100% / 4);将项目分成4组/3组/2组时,max-widthflex: 1就不再有意义了。

代码语言:javascript
复制
#parent {
	display: flex !important;
	flex-flow: row wrap;
	width: 100% !important;
	justify-content: flex-start;
}
.item{
	flex-basis: calc(100% / 4);
	box-sizing: border-box ;
	border: solid 1px #000000;
	margin-bottom: 30px !important;
	height: 50px;
}

/* For tablet */
@media screen and (max-width: 767px) {
	.item{
		flex-basis: calc(100% / 3) !important;
	}
}

/* For mobile */
@media screen and (max-width: 479px) {
	.item{
		flex-basis: calc(100% / 2) !important;
	}
}

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

https://stackoverflow.com/questions/61437486

复制
相关文章

相似问题

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