对于这个任务,我不能使用Bootstrap。我使用Reactjs和Radium(像React-Native一样的样式),我尝试使用flexbox,但我能够使用CSS和媒体查询。
我有一个3列布局。在桌面上访问时,它显示如下:
--------------------------
| column 1 | |
------------| column 2 |
| column 3 | |
--------------------------
第一列和第三列的高度将与第二列相同。
当在移动设备/平板电脑上查看或调整浏览器大小时,我希望它看起来像这样:
-------------
| column 1 |
-------------
| column 2 |
-------------
| column 3 |
-------------
第二列需要在第一列和第三列之间移动,每列的高度在此配置中不重要。
以下是我的示例,我使用了radium,但我也可以使用CSS和Media Queries。
columnsContainer: {
display: "flex",
flexDirection: "row",
@media (min-width:"xxx"px): {
flexDirection: "column"
}
},
rightColumn: {
width: "392px",
@media (min-width:"xxx"px): {
marginTop: "32px",
width: "100%"
}
},
leftColumn: {
flex: "1",
@media (min-width:"xxx"px): {
marginRight: "0px",
marginLeft: "0px"
}
},
bottomColumn: {
flex: "1",
@media (min-width:"xxx"px): {
marginRight: "0px",
marginLeft: "0px"
},
}
以下是我的html代码:
在下面:
<div style={styles.columnsContainer}>
<div style={styles.leftColumn}>
Column 1
</div>
<div style={styles.rightColumn}>
Column 2
</div>
<div style={styles.bottomColumn}>
Column 3
</div>
</div>