我试图写响应CSS的Flex.我已经使用灵活的方向行和列响应.但它是不工作.所以,如何显示这个div框灵活的移动的和标签设备.
对于移动的:分区框应该像一个下一个(垂直)。
对于Tab:Div框应该像(水平)框一样,它应该像下一行。
演示:https://stackblitz.com/edit/flex-box-example-e2fqif?file=src%2Fapp%2Fapp.component.css
.flex-container {
display: flex;
}
.flex-child {
flex: 1;
border: 2px solid yellow;
background-color: blueviolet;
width: 150px;
height: 150px;
}
/* For Tablet View */
@media screen and (min-device-width: 768px) and (max-device-width: 1024px) {
.flex-container {
flex-direction: row;
}
}
/* For Mobile Portrait View */
@media screen and (max-device-width: 480px) and (orientation: portrait) {
.flex-container {
flex-direction: column;
}
}
/* For Mobile Landscape View */
@media screen and (max-device-width: 640px) and (orientation: landscape) {
.flex-container {
flex-direction: row;
}
}
/* For Mobile Phones Portrait or Landscape View */
@media screen and (max-device-width: 640px) {
.flex-container {
flex-direction: row;
}
}
个字符
1条答案
按热度按时间mv1qrgav1#
在我看来,与其使用媒体查询将
flex-direction
从row
切换到column
,更优雅的方法是在.flex-container
类上应用flex-wrap: wrap
,然后为每个.flex-child
应用flex: 0 0 1
以促进自然 Package 。之后,要控制一行中有多少项,可以使用
.flex-child
类中的width
属性。这种方法允许精确调整布局,以适应不同的屏幕尺寸。最后,你的代码看起来像这样:
个字符