• 双飞翼布局和圣杯布局


    双飞翼布局和圣杯布局都是一种三栏布局,其中主要内容区域位于中间,左侧栏和右侧栏位于两侧。它们的实现方式类似,但有一些细微的差别。

    双飞翼布局的实现原理是通过使用flex布局,给主要内容区域设置flex:1; 将其扩展到剩余空间,再通过负外边距和相对定位的方式,定位左右侧栏。双飞翼布局使用了两个相对定位的元素作为左右侧栏,其中一个元素需要设置负右外边距,另一个元素需要设置负左外边距和右内边距。

    圣杯布局的实现原理也是通过使用flex布局,给主要内容区域设置flex:1; 将其扩展到剩余空间,再通过浮动和相对定位的方式,定位左右侧栏。圣杯布局使用了浮动和相对定位的方式,左右侧栏都需要设置浮动和相对定位,并设置负左外边距或负右外边距。

    总体来说,双飞翼布局和圣杯布局都是一种优雅的三栏布局,在实现方式上有一些小差别,但都可以很好地解决网页布局的问题。

    好的,下面是两种布局的示例代码:

    1. 双飞翼布局

    HTML代码:

    1. <div class="container">
    2. <div class="main">主要内容区域div>
    3. <div class="left">左侧栏div>
    4. <div class="right">右侧栏div>
    5. div>

    CSS代码:

    1. .container {
    2. width: 100%;
    3. max-width: 1200px;
    4. margin: 0 auto;
    5. display: flex;
    6. }
    7. .main {
    8. flex: 1;
    9. margin: 0 200px;
    10. }
    11. .left,
    12. .right {
    13. width: 200px;
    14. position: relative;
    15. }
    16. .left {
    17. margin-left: -100%;
    18. right: 200px;
    19. }
    20. .right {
    21. margin-right: -200px;
    22. }

    1. 圣杯布局

    HTML代码:

    1. <div class="container">
    2. <div class="main">主要内容区域div>
    3. <div class="left">左侧栏div>
    4. <div class="right">右侧栏div>
    5. div>

    CSS代码:

    1. .container {
    2. width: 100%;
    3. max-width: 1200px;
    4. margin: 0 auto;
    5. display: flex;
    6. }
    7. .main {
    8. flex: 1;
    9. margin: 0 200px;
    10. }
    11. .left,
    12. .right {
    13. width: 200px;
    14. position: relative;
    15. }
    16. .left {
    17. margin-left: -100%;
    18. right: 200px;
    19. }
    20. .right {
    21. margin-right: -200px;
    22. }

    两种布局的实现原理基本一致,都是利用了flex布局,通过给主要内容区域设置flex:1; 将其扩展到剩余空间,再通过负外边距和相对定位的方式,定位左右侧栏。不同之处在于,双飞翼布局使用了两个相对定位的元素作为左右侧栏,其中一个元素需要设置负右外边距,另一个元素需要设置负左外边距和右内边距;而圣杯布局则使用了浮动和相对定位的方式,左右侧栏都需要设置浮动和相对定位,并设置负左外边距或负右外边距。

  • 相关阅读:
    LeetCode28:实现 strStr()之KMP算法
    每日一题:无感刷新页面(附可运行的前后端源码,前端vue,后端node)
    【密码加密原则二】
    安卓手机APP开发__媒体开发部分__网络栈
    list.stream().forEach()和list.forEach()的区别
    [附源码]计算机毕业设计预约挂号appSpringboot程序
    【AutoSAR】 CP 和 AP
    ChatGPT高级数据分析功能
    云原生丨MLOps与DevOps的区别
    迅为龙芯2K1000开发板通过汇编控制GPIO
  • 原文地址:https://blog.csdn.net/song19990524/article/details/133921027