【质问阿里】既然「圣杯布局」有缺陷为什么要设计「双飞翼布局」而不是使用绝对定位

发布于 2022-09-06 04:16:51 字数 1867 浏览 21 评论 0

大家都知道,「圣杯布局」和「双飞翼布局」都是为了解决经典三栏问题的优化方案,

因为「圣杯布局」存在宽度过小导致布局混乱的缺陷(如下图),阿里淘宝提出了「双飞翼布局」

clipboard.png

以下是两个demo
「圣杯布局」:https://jsfiddle.net/zwwill/p...
「双飞翼布局」:https://jsfiddle.net/zwwill/5...

但是「双飞翼布局」增加了 DOM 树的层级,因此也会增加 浏览器渲染引擎构建布局树时的计算消耗,来看一下「双飞翼布局」的dom部分

<div class="container">
    <div class="header">header</div>
    <div class="wrapper clearfix">
        <div class="main col">
            <div class="main-wrap">main</div>
        </div>
        <div class="left col">left</div>
        <div class="right col">right</div>
    </div>
    <div class="footer">footer</div>
</div>

个人任务,绝对定位即可解决此问题 https://jsfiddle.net/zwwill/a...
如下:

    <div class="header">header</div>
    <div class="wrapper">
        <div class="main col">
            main
        </div>
        <div class="left col">
            left
        </div>
        <div class="right col">
            right
        </div>
    </div>
    <div class="footer">footer</div>
.wrapper {
  position: relative; 
}
.main {
  margin:0 100px;
}
.left {
 position: absolute;
 left: 0;
 top: 0;
}
.right {
 position: absolute;
 right: 0;
 top: 0;
}

所以,请问

既然「圣杯布局」有缺陷为什么要设计「双飞翼布局」而不是使用绝对定位

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

习惯成性 2022-09-13 04:16:52

应该有中间部分高度不确定,两边超过中间高度这种情况

冷…雨湿花 2022-09-13 04:16:52

666,一种界面,三种布局,感觉楼主的布局不错,最窄的情况也不会乱,fork了 顺便问下楼主,这个新的叫什么布局

旧人九事 2022-09-13 04:16:51

https://jsfiddle.net/zwwill/a... 我觉得这样就能解决问题了。方法简单,兼容也还可以


此处做了总结
https://segmentfault.com/a/11...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文