javascript - CSS:根据屏幕大小重新定位列
问题描述
对于我的 Web 项目,我使用 Bulma CSS 来创建响应式 Web 应用程序。我不是 CSS 方面的专家,因为我的背景是 iOS 和 Android。所以我试图实现这种布局:
1.桌面
所有列都应根据其内容具有动态高度,但第 3 列的宽度应保持在视口的 30%。
2. 手机
所有列都应具有动态高度,但唯一的区别是在第 1 列和第 2 列之间插入第 3 列。所有列宽应占视口的 100%
到目前为止我尝试过的
<link href="https://cdn.jsdelivr.net/npm/bulma@0.9.1/css/bulma.min.css" rel="stylesheet" />
<style>
.column {
height: 500px;
background-color:purple;
margin:2em;
color: white;
font-size:2em;
display:flex;
justify-content:center;
align-items:center;
}
</style>
<div class="columns">
<div class="column"> 1 </div>
<div class="column"> 2 </div>
<div class="column"> 3 </div>
</div>
这就是我坚持的地方。我在这里完成了这个输入链接描述,但它似乎不支持基于它的内容的动态高度
解决方案
也许您应该使用 Grid & Media 查询:
样式.css:
.columns {
display: grid;
grid-template-columns: 1fr 30%;
grid-template-rows: 1fr 1fr;
grid-template-areas:
"col1 col3"
"col2 col3";
}
.column {
width: 100%;
}
.column1 {
grid-area: col1;
}
.column2 {
grid-area: col2;
}
.column3 {
grid-area: col3;
}
@media only screen and (max-width: 640px) {
.columns {
grid-template-columns: 1fr;
grid-template-rows: 1fr;
grid-template-areas: none;
}
}
索引.html:
<div class="columns">
<div class="column1 column">1</div>
<div class="column2 column">2</div>
<div class="column3 column">3</div>
</div>
您可以在此处轻松了解网格 ->网格花园
这里是关于媒体查询 -> MDN Docs Media Queries
推荐阅读
- c# - 如何为不同的用户创建多个路径
- c - 在结构中初始化内联数组 - 如何确保我不会搞砸?
- python - 如何使用 Pandas 删除特定时间范围的数据
- sql - 显示 OrderID 和哪个客户下的每个订单在此查询中使用 JOIN ON 语句
- c# - “CanvasGroup”类型的对象已被销毁,但您仍在尝试访问它
- python - 用 replace() 替换的字符变成 0
- javascript - 在角度插值中使用 Array.map
- reactjs - 如何在反应js中正确重置计时器
- azure - GetBlockBlobReference 的速度
- javascript - 在表格 fadeIn 之前添加动画颜色文本更改?