关于双飞翼布局的新的布法

之前看了双飞翼布局,没有理解他的意思,只知道要实现的效果是两边固定,中间可以缩放!但中间的内容不能被两边遮挡!!!

然后百度来的代码是这样的:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        *{
            margin: 0;
            padding:0;
        }
        body{
            color: green;
            font-size: 40px;
        }
        #bd {
          padding: 0 230px 0 190px;
      }
        .main {
           float: left;
           width: 100%;
           background:#39c;
           height:300px;
       }
     .sub {
           float: left;
           width: 190px;
           margin-left: -100%;
           background:#f60;
           height:300px;
           position:relative;
           left:-190px;
      }
      .extra {
             float: left;
             width: 230px;
             margin-left: -230px;
             background:#666;
             height:300px;
             position:relative;
             right:-230px;
      } 

    </style>
</head>
<body>
    <section id="bd">
        <div class="main">我是主体内容</div>
        <aside class="sub">我是左边</aside>
        <aside class="extra">我是右边</aside>
    </section>
</body>
</html>

效果图如下:

看了几遍样式,没理解透,原谅我这么低的智商!!!!

然后自己折腾了一个方法:

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        *{
            margin: 0;
            padding:0;
        }
        body{
            font-size: 50px;
            padding-left: 160px;
            padding-right: 160px;
        }
        header{
            height: 80px;
            width: 100%;
            background-color:pink;
            position: fixed;
            top:0px;
            left:0px;
        }
        .leftPart{
            width: 160px;
            height: 100%;
            position: fixed;
            top:80px;
            left:0px;
            background-color: red;
        }
        .rightPart{
            width: 160px;
            position: fixed;
            right:0px;
            top:80px;
            height: 100%;
            background-color: red;
        }
        .content{
            margin-top: 80px;
        }
    </style>
</head>
<body>
   <header>我是头部</header>
   <section>
        <div class="content">
            <h1>啦啦啦拉拉阿拉拉阿拉啦我是右边阿拉拉阿拉啦我是右边阿拉拉阿拉啦我是右边阿拉拉阿拉啦我是右边阿拉拉阿拉啦我是右边阿拉拉阿拉啦我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>
            <h1>我是中间</h1>

        </div>
        <div class="leftPart">
            我是左边
        </div>
        <div class="rightPart">
            我是左边
        </div>

   </section>

</body>
</html>

效果如下图:

具体的思想是左右两边固定定位,中间的部分不用管它,因为他们的父亲body设置了左右padding!

以上仅仅是个人理解,有什么错误的地方请大家多多指教!!不胜感激!!!!

时间: 2024-11-09 03:17:54

关于双飞翼布局的新的布法的相关文章

对于圣杯布局和双飞翼布局的新认识

今天刷题的时候碰见了一道要求使用双飞翼布局的题.于是便对比了一下圣杯布局得到了点新认识. 我们都知道圣杯布局和双飞翼布局都实现了中间宽度自适应,两边定宽的效果.这样做的优势是重要的东西放在文档流前面可以优先渲染.两者又有什么差别呢? 对比圣杯布局和双飞翼布局 1.二者都主要使用了浮动和负边距来达到中间宽度自适应,两边定宽的目的. 具体来说就是设置左右两边div的margin-left为一负值并设置浮动.于是便会移动到上方的div内(也就是中间的div)与之重叠. 2.相比于圣杯布局双飞翼布局没有

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

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

圣杯布局/双飞翼布局异同和比较

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>圣杯/双飞翼布局</title> <style> /* 圣杯布局 */ /* .container{ padding:0 200px; } .center{ float:left; width:100%; background: red; heigh

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

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

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

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

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

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

css的双飞翼布局

双飞翼布局的大概意思就是左右两边的内容是固定的,大小是固定的, 而中间的布局的随着页面的大小变化而自动变化的. 通过代码来解析: 1.四个div,也可以使用section,其中main,left.right为同一级的元素,inner为main的子元素. 2.main,left,right均左浮动. 3.main的宽度为100%,即占满这个页面. 4.设置left的margin-left:-100%;既让left与main在同水平线上,处在最左边. 5.设置right的margin-left:-2

HTML特殊布局--------双飞翼布局

今天看到以前写的一篇布局的例子分享给大家,双飞翼布局. 什么是双飞翼布局?? 1.三列布局,中间宽度自适应,两边固定宽度; 2.中间栏在浏览器中优先展示渲染: 双飞翼布局的原理: 中间的盒子定100%的宽 float:left: 两边的盒子都float:left,定固定的宽:左边的个盒子margin-left:-100%; 右边的盒子margin-left:-自身的宽: 以下是例子:  <div class="box"/> <div class="main&

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

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