• 双飞翼布局和圣杯布局


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

    双飞翼布局的实现原理是通过使用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; 将其扩展到剩余空间,再通过负外边距和相对定位的方式,定位左右侧栏。不同之处在于,双飞翼布局使用了两个相对定位的元素作为左右侧栏,其中一个元素需要设置负右外边距,另一个元素需要设置负左外边距和右内边距;而圣杯布局则使用了浮动和相对定位的方式,左右侧栏都需要设置浮动和相对定位,并设置负左外边距或负右外边距。

  • 相关阅读:
    Spring Boot 实现 JWT
    LeetCode二叉树系列——94.二叉树的中序遍历
    [二进制学习笔记]Ubuntu20.04安装pip2&pip3
    华硕天选1天选2天选3天选4天选air原厂预装出厂系统恢复安装教程方法
    算法通关村第九关-白银挑战二分查找与高频搜索树
    云南美食介绍 简单静态HTML网页作品 美食餐饮网站设计与实现 学生美食网站模板
    【027】mongoose V6.4之创建监听套接字fd
    C++11 Thead线程库的基本使用
    顺序表和链表
    【开源】基于Vue和SpringBoot的智能停车场管理系统
  • 原文地址:https://blog.csdn.net/song19990524/article/details/133921027