【问题标题】:Three columns div layout design with adjustable三列div布局设计,可调
【发布时间】:2016-07-19 21:50:20
【问题描述】:

我想知道如何设计三列 div 布局,其尺寸可调节,如在图像中显示。

  • 当桌面大小 (770px) 第一列有两个 div 而其他列有一个 div。

  • 当平板电脑大小 (600px) 第一列有三个 div 而其他有一个 div。它有两列。

  • 当移动尺寸(小于 600 像素)时,所有 div 都有一列。

请在图片中找到带有颜色的订单。这是没有任何适当样式的示例代码。

HTML:

<div class="body">
  <div class="c1">blue</div>
  <div class="c2">pink</div>
  <div class="c3">green</div>
  <div class="c4">yellow</div>
</div>

CSS:

@media only screen and (min-width: 0px) {
  .c1 { width:100%; }
  .c2 { width:100%; }
  .c3 { width:100%; }
  .c4 { width:100%; }
}
@media only screen and (min-width: 600px) {
  .c1 { width:25%; }
  .c2 { width:25%; }
  .c3 { width:75%; }
  .c4 { width:25%; }
}
@media only screen and (min-width: 768px) {
  .c1 { width:25%; }
  .c2 { width:25%; }
  .c3 { width:50%; }
  .c4 { width:25%; }
}

我用 CSS 中的 order 属性尝试了这个,但它不能正常工作。

【问题讨论】:

  • 感谢您提供代码。是否需要旧版浏览器支持?你需要几岁?
  • 没问题。非常感谢您的回复。

标签: html css layout


【解决方案1】:

您缺少一些样式来使布局正常工作。我假设由于您的源顺序和布局的变化,您在使中间图与其他两个图相匹配时遇到了一些麻烦。这是我为您的媒体查询选择的 CSS:

@media only screen and (min-width: 0px) {
.c1{ width:100%; min-height:5vh; }
.c2{ width:100%; min-height:5vh; }
.c3{ width:100%; min-height:80vh;}
.c4{ width:100%; min-height:10vh;}
}
@media only screen and (min-width: 600px) {
.c1{ width:50%; min-height:10vh; float:left; }
.c2{ width:50%; min-height:10vh; float:left; clear:left;}
.c3{ width:50%; min-height:80vh; position:absolute;right:0;}
.c4{ width:50%; min-height:10vh; float:left; clear:left;}
}
@media only screen and (min-width: 768px) {
.c1{ width:25%;}
.c2{ width:25%; float:right;clear:right;}
.c3{ width:50%; left:25%;}
.c4{ width:25%;}
}

演示代码:
http://codepen.io/anon/pen/KrQxLq

【讨论】:

  • 非常感谢您对我的帮助。它正在工作。如果可以的话,请为我的问题投票明确 -1。
  • 我对这段代码有疑问。当我使用页脚 div 时,由于 C3 是绝对位置
猜你喜欢
  • 2021-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-05
  • 2010-11-11
  • 1970-01-01
相关资源
最近更新 更多