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

圣杯布局:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>圣杯布局</title>
  <!--圣杯布局:-->
  <!--1 搞一个容器,里面放三个盒子-->
  <!--2 设置两侧盒子的宽度 固定-->
  <!--3 设置中间盒子的宽度等于容器的宽度(100%)-->
  <!--4 设置容器的padding等于两侧盒子的宽度-->
  <!--5 让三个盒子在同一方向上浮动-->
  <!--6 设置左边盒子的margin-left = -100%-->
  <!--7 通过定位调整左边的盒子,让左边的盒子不要盖住中间的区域-->
  <!--8 设置右边盒子的margin-left = -自身的宽度-->
  <!--9 通过定位调整右边的盒子,让右边的盒子不要盖住中间的区域-->
  <!--10 给容器设置一个最小的宽度,防治缩小后变形-->

  <style>
    *{
      margin: 0;
      padding: 0;
    }
    .box
    {
      background-color: purple;
      padding-left: 200px;
      padding-right: 200px;
      overflow: hidden;/*清除浮动,方便观察,不是必须的*/
      min-width: 500px;;
    }
    .center{
      width: 100%;
      background-color: green;
      float: left;
      height: 500px;

    }
    .left{
      width: 200px;
      background-color: yellow;
      float: left;
      height: 500px;
      margin-left:-100%;
      position: relative;
      left:-200px;
    }
    .right{
      width: 200px;
      background-color: skyblue;
      float: left;
      height: 500px;
      position: relative;
      margin-left: -200px;
      left: 200px;;
    }

  </style>
</head>
<body>
<div class="box">
  <div class="center">
测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试
  </div>
  <div class="left">

  </div>
  <div class="right">

  </div>
</div>
</body>
</html>

双飞翼布局:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>双飞翼布局</title>
  <!--双飞翼实现步骤-->
  <!--1 搞一个容器,里面放三个盒子-->
  <!--2 设置两侧盒子的宽度(固定)-->
  <!--3 设置中间盒子的宽度等于容器的宽度(100%)-->
  <!--4 让三个盒子都在同一个方向上浮动-->
  <!--5 给中间的盒子添加一个子盒子-->
  <!--6 给子盒子设置margin:0 两侧盒子的宽度-->
  <!--7 设置左边盒子的margin-left:-100%-->
  <!--8 设置右边盒子的margin-left:-自身的宽度-->

  <style>
    *{
      margin: 0;
      padding: 0;
    }
    .box
    {
      background-color: purple;

      overflow: hidden;
      /*min-width: 500px;;*/
    }
    .center{
      width: 100%;
      background-color: green;
      float: left;
      height: 500px;

    }
    .center_in {
      margin: 0 200px;
      height: 500px;
      background-color: pink;
    }
    .left{
      width: 200px;
      background-color: yellow;
      float: left;
      height: 500px;
      margin-left:-100%;

    }
    .right{
      width: 200px;
      background-color: skyblue;
      float: left;
      height: 500px;
      margin-left: -200px;

    }

  </style>
</head>
<body>
<div class="box">
  <div class="center">
   <div class="center_in">
 内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
     内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
     内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
     内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
   </div>
  </div>
  <div class="left">

  </div>
  <div class="right">

  </div>
</div>
</body>
</html>

效果如下:

原文地址:https://www.cnblogs.com/xiaonanxia/p/10761765.html

时间: 2024-10-08 19:34:59

CSS3之圣杯布局和双飞翼布局的相关文章

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

圣杯布局和双飞翼布局基本上是一致的,都是两边固定宽度,中间自适应的三栏布局,其中,中间栏放到文档流前面,保证先行渲染.解决方案大体相同,都是三栏全部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,效果上表现为左右两栏在

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

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

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

圣杯布局和双飞翼布局解决的问题是一样的,都是用来解决左右定宽,中间自适应的三栏布局,中间栏要放在文档流前面以优先渲染. 圣杯布局和双飞翼布局:三栏全部加上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>

圣杯布局and双飞翼布局

*圣杯布局 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>ajax</title> <style> *{ padding:0; margin:0 } .header{ width:100%; background:#e1ef05; height:50px; } /*main写前目的是让它先加载*/ .main{ padding:0

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

各种各样的布局,无非就是用了浮动 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