CSS中经典的双飞翼布局(

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

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在三列结构的最前面,因此可以实现主要内容的优先加载

      
时间: 2024-10-09 12:13:08

CSS中经典的双飞翼布局(的相关文章

【逆战】CSS中的响应式布局

一.响应式布局: 在小型网站建设中,有运用一套代码代码来适应不同终端分辨率的需求,优点:节约制作时间.节约制作成本.便于维护等优点. CSS3利用媒体查询(media queries)即可针对不同的媒体类型定义不同的样式,从而实现响应式布局 .也可以针对不同的分辨率设置不同的样式. 1024分辨率以上:PC端  1024 ~ 768 : pad pro 768 ~ 450 : pad mini , mobile 横屏 450分辨率以下: mobile 竖屏 二.media的值以及用法: 1.me

CSS实现经典三栏布局(两侧定宽,中间自适应)

近期开始独立攻克百度前端技术学院的各项任务,之前做了两个比较复杂的页面,深深感觉基础不好,好多css的语句都是为了实现效果而去写的,出现了好多问题,而自己的解决方案也不够优,于是决定从基础开始学起,循序渐进. 第一个任务是实现一个三栏布局,外部的两栏固定宽度,中间自适应,以下是效果图: 我使用了两种方法实现以上效果:float和position 以下是float方法的CSS代码: 1 .team-inf{ 2 float: left; 3 width: 200px; 4 } 5 .logo-gr

CSS中的圣杯布局,以及圣杯布局与双飞翼布局的区别

为了解决中间宽度自适应,左右列固定宽度,最早出现的是圣杯布局,双飞翼布局是对圣杯布局的改良,同样这种 布局的优势在于在中间列中的文档可以优先渲染. 1.什么是圣杯布局 其实对于圣杯布局,前面一部分与双飞翼布局完全相同 <style>   .column{ float:left } .container{ width:100% } .column{ height:300px; }   #center_panel{ width:100%;  background-color:red; } #rig

css中的圣杯布局和双飞翼布局

圣杯布局 布局要求: 三列布局,中间自适应,两边定宽 中间栏要在浏览器优先渲染 允许任意列的高度最高 用最简单的CSS.最少的HACK语句 解释说明: 1.min-width:700px是为了当页面缩小到指定的700px的时候,页面内容宽度不再随着浏览器缩小.是为了电脑的正常浏览效果 2.注意到container设置的值0 220px  0 200px,上 右 下 左,所以left 设置widh:200px,right设置width:220px 3.设置min-height:300px,是让三列

CSS中的圣杯布局与双飞翼布局

一,圣杯布局 1,什么是圣杯布局? 所谓圣杯布局就是用于实现一个两侧宽度固定,中间宽度自适应的三栏布局 2,构建圣杯布局的步骤: 2.1,添加一个容器,在这个容器中添加放三个盒子(左.中.右): 2.2,设置两侧盒子(左.右)的宽度 ,使其宽度固定: 2.3,设置中间盒子的宽度为100%,这是中间盒子宽度自适应的关键: 2.4,设置容器的padding-left和padding-right属性,属性值分别为左盒子的宽度和右盒子的宽度: 2.5,让三个盒子都向左浮动,向右浮动可能会出现问题,所以都

经典三栏布局之圣杯、双飞翼、弹性布局

经典三栏布局之圣杯.双飞翼.弹性布局 圣杯布局和双飞翼布局是前端工程师需要掌握的布局方式,两者功能相同,都是为了实现两侧宽度固定,中间宽度自适应的布局方式,此外,使用新增的flex布局,可以使布局更加简单. 双飞翼布局和圣杯布局虽然实现方式有所差异,但是基本上都遵循了以下几点: 两侧宽度固定,中间宽度自适应 中间结构在DOM上优先,以便于优先渲染 下面依次介绍圣杯布局.双飞翼布局.弹性布局实现三栏布局 圣杯布局 一.搭建主体结构 我们先搭建主体框架,将主体结构写出来 <div class="

css(四)、双飞翼布局

一.双飞翼布局 经典三列布局,也叫做圣杯布局[Holy Grail of Layouts]是Kevin Cornell在2006年提出的一个布局模型概念,在国内最早是由淘宝UED的工程师传播开来,在中国也有叫法是双飞翼布局,它的布局要求有几点: 1.三列布局,中间宽度自适应,两边定宽: 2.中间栏要在浏览器中优先展示渲染: 3.允许任意列的高度最高:4.要求只用一个额外的DIV标签: 5.要求用最简单的CSS.最少的HACK语句: 在不增加额外标签的情况下,圣杯布局已经非常完美,圣杯布局使用了相

CSS 经典三列布局

一 圣杯布局 1 html结构 <!DOCTYPE html> <html> <head> <title></title> <link rel="stylesheet" type="text/css" href="css/css.css"> </head> <body> <div class="header">头部<

CSS之圣杯布局与双飞翼布局

圣杯布局 三行等高 HTML: <!DOCTYPE html><html><head>    <meta charset="utf-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge">    <title></title>    <link rel="stylesheet"