三列圣杯布局和双飞翼布局

相关参考资料:

http://www.cnblogs.com/2050/archive/2012/08/13/2636467.html

http://www.imooc.com/wenda/detail/254035

http://www.cnblogs.com/langzs/archive/2013/01/27/taobaoshuangfeiyi.html

一、圣杯布局

<!DOCTYPE html>
<html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <title>测试相对模糊的问题</title>
        <meta http-equiv="X-UA-Compatible" content="IE=Edge">
        <meta name="viewport" content="width=device-width">
        <link rel="stylesheet" href="css/test.css">
    </head>
    <body>
    <div class="head">head</div>
    <div class="container clear-fix">
         <div class="main">main</div>
         <div class="left">left</div>
         <div class="right">right</div>
     </div>
     <div class="footer">footer</div>
    </body>
</html>

对应的样式文件:

.head {
    width: 100%;
    background-color: orange;
    min-height: 50px;
}
.container {
    padding-left: 200px;
    padding-right: 150px;
}
.main {
    width: 100%;
    background-color: pink;
    min-height: 300px;
    float: left; 

}
.left {
    width: 200px;
    background-color: red;
    min-height: 300px;
    float: left;
    margin-left: -100%;
    position: relative;
    top: 0;
    left: -200px;
}
.right {
    width: 150px;
    background-color: #999;
    min-height: 300px;
    float: left ;
    margin-left: -150px;
    position: relative;
    top: 0;
    right: -150px
}
.footer {
    width: 100%;
    background-color: yellow;
    min-height: 30px;
}
.clear-fix:before,
.clear-fix:after {
    content: "";
    display: table;
}
.clear-fix:after {
    clear: both;
}
.clear-fix {
    zoom: 1;
}

二、双飞翼布局

html代码

<!DOCTYPE html>
<html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <title>测试相对模糊的问题</title>
        <meta http-equiv="X-UA-Compatible" content="IE=Edge">
        <meta name="viewport" content="width=device-width">
        <link rel="stylesheet" href="css/test.css">
    </head>
    <body>
    <div class="head">head</div>
    <div class="container clear-fix">
         <div class="main">
            <div class="main-wrapper">main</div>
         </div>
         <div class="left">left</div>
         <div class="right">right</div>
     </div>
     <div class="footer">footer</div>
    </body>
</html>

css样式代码

.head {
    width: 100%;
    background-color: orange;
    min-height: 50px;
}

.main {
    width: 100%;
    background-color: pink;
    min-height: 300px;
    float: left; 

}
.main-wrapper {
    margin-left: 200px;
    margin-right: 150px;
}
.left {
    width: 200px;
    background-color: red;
    min-height: 300px;
    float: left;
    margin-left: -100%;

}
.right {
    width: 150px;
    background-color: #999;
    min-height: 300px;
    float: left ;
    margin-left: -150px;  

}
.footer {
    width: 100%;
    background-color: yellow;
    min-height: 30px;
}
.clear-fix:before,
.clear-fix:after {
    content: "";
    display: table;
}
.clear-fix:after {
    clear: both;
}
.clear-fix {
    zoom: 1;
}
时间: 2024-08-02 09:47:40

三列圣杯布局和双飞翼布局的相关文章

圣杯布局和双飞翼布局的实现过程

相信很多人都搜过圣杯布局和双飞翼布局,也知道他们的由来,在这里我就不一一赘述了,今天主要讲的是当我遇到两个布局时,我是怎样一步一步从开始到实现的过程,例如:刚开始我也不懂为什么圣杯布局和双飞翼布局的区别,不懂圣杯布局为什么会有相对定位等一些问题,在这里给大家讲下我的理解,如有错误,欢迎批评指正. 好了,接下来开始今天的写文章之旅! 圣杯布局和双飞翼布局实现的问题都是三列布局,两边定宽,中间自适应布局,要注意的是中间栏(重要的东西)要在放在文档流前面以优先渲染. 圣杯布局 1.首先定义三列,为它们

【经典面试题】圣杯布局以及双飞翼布局原理

什么是圣杯布局以及双飞翼布局 上图就是一个经典的圣杯布局和双飞翼布局的模型,即三列结构,左右两边定宽,中间自适应,能根据屏幕大小做响应. 实现方式 浮动(经典方式) 在介绍这种方式之前要先说一下margin设置负值的作用: margin-top/margin-left设置负值会将元素拉入对应位置 可以看到,当margin-top负值增大时,元素也跟着上移了,margin-left同理,负值增大会左移,两者都会导致元素溢出视口 margin-right/margin-bottom设置负值会让后续元

圣杯布局和双飞翼布局的理解和区别

圣杯布局和双飞翼布局基本上是一致的,都是两边固定宽度,中间自适应的三栏布局,其中,中间栏放到文档流前面,保证先行渲染.解决方案大体相同,都是三栏全部float:left浮动,区别在于解决中间栏div的内容不被遮挡上,圣杯布局是中间栏在添加相对定位,并配合left和right属性,效果上表现为三栏是单独分开的(如果可以看到空隙的话),而双飞翼布局是在中间栏的div中嵌套一个div,内容写在嵌套的div里,然后对嵌套的div设置margin-left和margin-right,效果上表现为左右两栏在

css布局之圣杯布局和双飞翼布局

圣杯布局和双飞翼布局 今天看了很多圣杯布局和双飞翼布局的技术博客,通过自己的理解总结一下吧. 1.二者相同点: 实现的都是三栏布局,两边的盒子宽度固定,中间盒子自适应,也就是我们常说的固比固布局.它们实现的效果是一样的. 2.不同点: 圣杯布局知识点:浮动,负边距,相对定位,不需要添加额外标签. 双飞翼:只用到浮动,负边距,不需要使用相对定位,需要添加一个额外的标签. 注意:html结构中中间部分要写在左右布局之前,为了优先渲染. 下面就先来看一下圣杯布局的实现过程吧: 先写出基本DOM结构:

圣杯布局和双飞翼布局

圣杯布局和双飞翼布局基本上是一致的,都是两边固定宽度,中间自适应的三栏布局,其中,中间栏放到文档流前面,保证先行渲染.解决方案大体相同,都是三栏全部float:left浮动,区别在于解决中间栏div的内容不被遮挡上,圣杯布局是中间栏在添加相对定位,并配合left和right属性,效果上表现为三栏是单独分开的(如果可以看到空隙的话),而双飞翼布局是在中间栏的div中嵌套一个div,内容写在嵌套的div里,然后对嵌套的div设置margin-left和margin-right,效果上表现为左右两栏在

圣杯布局,双飞翼布局详解

圣杯布局和双飞翼布局解决的问题是一样的,都是用来解决左右定宽,中间自适应的三栏布局,中间栏要放在文档流前面以优先渲染. 圣杯布局和双飞翼布局:三栏全部加上float:left,左右两栏加上负margin,以形成三栏布局. 圣杯布局:大的div设置padding-left和padding-right,左右两个div用相对布局position: relative,加上right和left属性.双飞翼布局:中间div内加一层标签,在设置内层标签的margin html圣杯布局: <div class=

圣杯布局和双飞翼布局的作用和区别

圣杯布局和双飞翼布局解决的问题是一样的,就是两边顶宽,中间自适应的三栏布局,中间栏要在放在文档流前面以优先渲染. 圣杯布局和双飞翼布局解决问题的方案在前一半是相同的,也就是三栏全部float浮动,但左右两栏加上负margin让其跟中间栏div并排,以形成三栏布局. 不同在于解决”中间栏div内容不被遮挡“问题的思路不一样:圣杯布局,为了中间div内容不被遮挡,将中间div设置了左右padding-left和padding-right后,将左右两个div用相对布局position: relativ

圣杯布局与双飞翼布局

圣杯布局和双飞翼布局的目的都是:左右两栏固定宽度,中间部分自适应: 圣杯布局 圣杯布局HTML: <div class="wrap"> <div class="main"> 我是主要 </div> <div class="left"> 我是左边 </div> <div class="right"> 我是右边 </div> </div>

认识圣杯布局和双飞翼布局

各种各样的布局,无非就是用了浮动 float,负边距,相对定位,通过这三者的巧妙组合跟拼凑来实现的.用好这些,布局就会很简单. 还没学会布局时,就听到有圣杯布局和双飞翼布局,这布局都有这么风骚的名字,就觉得很酷,事实也如此,了解了圣杯布局和双飞翼布局,才发现挺深奥的. 传统的布局中,当我们需要改变两栏的互换,就会很麻烦.因为还要涉及到 HTML 代码的修改,不能完全从 CSS 上更改,这叫 HTML 和 CSS 的耦合.而圣杯布局跟双飞翼布局就是能够不考虑主体的位置,能够只通过 CSS 代码就改

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

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