当源顺序从列跳到列时,如何在 CSS 中编写三列布局?
该页面有七个部分——这个小提琴显示了所需的源顺序与布局的比较。数字是它在源顺序中的位置,文本是它应该出现在页面上的位置。
如您所见,基本上有三列和三行,但第二行中的元素不应顶部对齐,第二行不应清除第一行。每个部分应与位于其上方的部分的底部齐平。
笔记:
源顺序与元素需要出现在移动设备上的顺序相匹配,遗憾的是无法更改
我也没有在标记中复制部分然后根据视口宽度显示/隐藏它们的选项
不幸的是,绝对定位不是一个选项,因为布局必须适应任何视口宽度 320px 及以上
我尝试了许多著名的 CSS 布局技术,上面的小提琴显示了最成功的尝试——这是用于“顶行”的代码:
.top-center {
float: left;
width: 55%;
margin-left: 25%;
}
.top-left {
float: left;
width: 25%;
margin-left: -80%;
}
.top-right {
float: right;
width: 20%;
}
以下是我遇到的问题:
IE 9/10 是一团糟(见下文)
在 Chrome 中,“右中” div 总是清除“左上” div,防止它位于“右上”下方。此外,如果“右上角”div 变得太高,它会与“右中”重叠。
在 Firefox 中,第二“行”顶部对齐,与第一行的左右部分重叠。
这是它在 IE10 中的样子:
它在 Firefox 中: