笔者在一些博客和论坛中经常看到经典的双飞翼布局,淘宝的首页也运用了这种兼容性很好的双飞翼布局

1.何谓双飞翼布局?

简单来说,双飞翼布局是将一个网页分为左列,中列和右列三部分,并且我们要得到的效果是:

左列和右列宽度恒定,中间列的宽度根据浏览器窗口的大小自适应。

2.如何实现双飞翼布局?

(1)首先我们要得到如下的布局样式:

       <div class="container"><div class="column" id="center_panel"></div><div class="column" id="right_panel"></div><div class="column" id="left_panel"></div></div>

      可以看到我们在外层用一个类名为:container的大的div包裹。而内层分为了我们所说的三列
    
    但是注意,在整个dom结构中,主列位于最前面

   (2)让列开始浮动
    
    我们让列全部浮动起来
    .column{
     float:left
    }
    并设置
    .container{
    width:100%; 
    }
    .center_panel{
    width:100%;
    }
    于是在这种情况下,center_panel已经占据了整个container父元素的全部宽度,并且这个宽度是自适应的
   
   (3)如何实现左右列固定宽度
    
    在实现左右列固定宽度时,我们这里采用了margin负值

    首先,得到左列固定宽度,我们会有:
    
      #right_panel{
             width:300px;
             margin-left:-100%;}
       这里我们假设,固定宽度的左列宽度为300px,当margin-left:-100%之时,这个左边列会脱离自己所在行,向上一行浮动,
    
       效果为:

       此时我们实现了左列固定宽度,中间列自适应

       再次,我们根据同样原理,定义右列的浮动偏移(margin负值)
      
         #left_panel{
             
             width:300px;
             margin-left:-300px;
            }
        这样,我们就实现了我们所需要的双飞翼布局,也就是中间列宽度自适应,左列和右列的宽度固定
        
        我们所得到的效果为:
     
        

     3.双飞翼布局的优点

      (1)兼容性好,兼容若有主流浏览器,包括万恶的IE6
  
      (2)因为在DOM中center_panel在三列结构的最前面,因此可以实现主要内容的优先加载

      

CSS中经典的双飞翼布局(相关推荐

  1. css中盒子模型的布局

    目录 一 水平布局 二 垂直布局 css中的盒子模型布局分为两种:水平布局和垂直布局 一 水平布局 盒子模型中水平方向影响因素有7个,分别是:margin-left border-left  padd ...

  2. css什么是自适应布局,CSS中常见的自适应布局是什么

    CSS中常见的自适应布局是什么 发布时间:2020-12-05 13:24:07 来源:亿速云 阅读:102 作者:小新 这篇文章主要介绍CSS中常见的自适应布局是什么,文中介绍的非常详细,具有一定的 ...

  3. 【CSS】圣杯、双飞翼布局

    [CSS]圣杯.双飞翼布局 文章目录 [CSS]圣杯.双飞翼布局 圣杯布局 基本布局样式 接下来要把主区域移动到中间 把右区域放在主区域的右边 移动左右区域,防止两边挡住中间 完整代码 双飞翼布局 基 ...

  4. css的经典三栏布局如何实现,css 实现三栏布局的四种方式

    三栏布局就是左中右,左右两边固定,中间自适应. 1. 绝对定位 左边 中间 右边 body { padding: ; margin: ; } /* 绝对定位 */ .left, .right { po ...

  5. css中如何实现帧布局_浅谈web前端中的表格布局与CSS盒子布局

    在web前端设计排版时我们可能会用到表格布局和div+CSS布局,但现在主要使用后者,为何?今天我们来谈一谈两者之间的发展和原理. 话不多说下面来干货 发展过程 上个世纪Web开发人员流行使用表格进行 ...

  6. css基础知识十:介绍一下CSS中的Grid网格布局?

    一.是什么 Grid 布局即网格布局,是一个二维的布局方式,由纵横相交的两组网格线形成的框架性布局结构,能够同时处理行与列 擅长将一个页面划分为几个主要区域,以及定义这些区域的大小.位置.层次等关系 ...

  7. css中如何实现帧布局_如何在游戏中实时显示硬件占用率和帧数

    很多的的硬件评测视频中,游戏画面的左上角会显示硬件的使用情况参数,像CPU和GPU的占用率,内存和显存使用,温度等.有不少的朋友有疑问,这是怎么做到的? 其实这个事情不难,只需要一款软件就可以做到,名 ...

  8. CSS中使用flex弹性布局实现上下左右垂直居中排列并设置子元素之间的间距

    场景 Flex是Flexible Box的缩写,意为"弹性布局". 怎样使用弹性布局实现页面上下两个元素上下左右垂直居中排列. 实现如下类似布局 最外层是是一个div,div里面是 ...

  9. css中如何实现帧布局_?如何在Python中加入多个数据帧?

    全文共2235字,预计学习时长7分钟 来源:Pexels 初学Python编程的人,面临的是各种未知的挑战. 下面是一个几乎让所有更有抱负的数据科学家都感到意外的场景:你正在处理一个从多个源收集数据的 ...

最新文章

  1. 设计模式心得笔记--简单工厂
  2. 华为云计算之ebackup了解
  3. boost::smart_ptr模块智能指针测试程序
  4. Spring学习(八)AOP详解
  5. java 管理多个进程_管理多个Java安装
  6. pytorch1.7教程实验——DCGAN生成对抗网络
  7. MySQL-数据类型 整理总结
  8. 微信小程序template模板 ,提高效率第二篇
  9. back函数php,PHP callback函数使用方法和注意事项
  10. android 混淆字符串,android 代码混淆
  11. python图像锐化滤波_Laplacian滤波器实现并用于图像锐化
  12. 一篇不错的网文 闻鸡起舞早耕耘,天道酬勤有志人
  13. 5G NGC — NRF 网络注册功能
  14. 虹科Panorama软件平台—功能强大、潜力无限的SCADA解决方案
  15. 二、基础SpringBoot2.0.0M4项目目录讲解
  16. 全球与中国带灯轻触开关市场现状及未来发展趋势
  17. 刷屏的Google Pay:羊毛是你的,你是我的
  18. theme vscode 护眼_vscode设置护眼主题
  19. 如何区分计算机硬件故障和软件故障,如何分辨电脑硬件故障还是软件故障?
  20. 认真学习jdk1.8下ConcurrentHashMap的扩容机制

热门文章

  1. PHP之各种SQL注入源码
  2. U盘变32G的解决办法
  3. 程序员笔试之猿辅导招聘2021 编程题收集整理(八)
  4. 安徽专升本计算机专业基础柳青版课后习题答案
  5. 2021年最新Android面试点梳理,成功入职腾讯
  6. 二层板的射频RF信号如何控阻抗 四层板的射频RF信号如何控阻抗  射频信号是否可以不控阻抗,射频差分需要控阻抗吗?为什么射频信号需要挖空隔层参考?射频信号为什么要加粗?
  7. 网贷风控体系之-系统架构
  8. 如何使用Python实现回文的判断?
  9. unity小球酷跑项目
  10. PLC:学习笔记(西门子)3