圣杯布局

三行等高

HTML:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title></title>
    <link rel="stylesheet" href="docm.css">
</head>
<body>
    <div id="page">
      <div id="hd"></div>
         <div id="bd">
         <div class="main">1231111<p>我我我</p><p>我我我</p><p>我我我</p><p>我我我</p></div>
              <div class="sub">11222</div>
              <div class="extra">456</div>
         </div>
      <div id="ft"></div>
  </div>
</body>
</html>

css:(在.bd中设置内边距,然后在.sub和.extra中设置负边距把中间的内容显示出来)

*{
  margin: 0;
  padding: 0;
 }
 #hd{
  width: 100%;
  height: 100px;
  background-color: #FC3D83;
 }
.main {
           float: left;
           width: 100%;    //中间内容自适应
           background-color: #ccc;
           padding-bottom: 9999px;       //把内容撑出去后又收回来形成等高
           margin-bottom: -9999px;     //把内容撑出去后又收回来形成等高
 }
 .sub {
           float: left;
           width: 190px;
           margin-left: -100%;      //将内容设置到左边
           background-color: #ED1E25;
           padding-bottom: 9999px;
           margin-bottom: -9999px;
           position: relative;     //设置相对位置来配放,而双飞翼不设置
           left: -190px;      //在.bd中设置内边距,然后在.sub和.extra中设置负边距把中间的内容显示出来
            }
 .extra {
             float: left;
             width: 190px;
             margin-left: -190px;    //将内容设置到右边
             background-color: #f0f;
             padding-bottom: 9999px;
             margin-bottom: -9999px;
             position: relative;    //设置相对位置来配放,而双飞翼不设置
             right: -190px;      //在.bd中设置内边距,然后在.sub和.extra中设置负边距把中间的内容显示出来
 }
 #bd {
          padding: 0 190px 0 190px;    //在.bd中设置内边距,然后在.sub和.extra中设置负边距把中间的内容显示出来
          background-color: #ff0;
          overflow: hidden;     //超出内容隐藏,等高的设置
 }
 #ft{
  width: 100%;
  height: 100px;
  background-color: #5880F4;
 }

效果如图:

---------------------------------------------分割线看什么看-------------------------------------------------------------

双飞翼布局

上面的圣杯布局其实已经挺好的,但是因为用了相对定位,所以对于布局就不太稳定,那么如何不用相对定位来实现这个效果呢,于是就有了双飞翼布局,在mian主要内容中加一个盒子包裹,再用margin-left使内容显示出来。

三行等高

HTML:

<div id="page">
      <div id="hd"></div>
         <div id="bd">
              <div class="main"><div class="inside">1231111</div></div>
              <div class="sub">234<p>我我我<p/><p>我我我<p/><p>我我我<p/><p>我我我<p/></div>
              <div class="extra">456</div>
         </div>
      <div id="ft"></div>
  </div>

CSS:

*{
  margin: 0;
  padding: 0;
 }

#hd{
  width: 100%;
  height: 100px;
  background-color: #FC3D83;
 }
.main {
           float: left;
           width: 100%;        //自适应
           background-color: #ccc;
           padding-bottom: 9999px;       //把内容撑出去后又收回来形成等高
           margin-bottom: -9999px;     //把内容撑出去后又收回来形成等高
 }
 .sub {
           float: left;
           width: 190px;
           margin-left: -100%;
           background-color: #ED1E25;
           padding-bottom: 9999px;
           margin-bottom: -9999px;
            }
 .extra {
             float: left;
             width: 190px;
             margin-left: -190px;
             background-color: #f0f;
             padding-bottom: 9999px;
             margin-bottom: -9999px;
 }
 #bd {
          background-color: #ff0;
          overflow: hidden;       //超出的内容隐藏
 }
 .inside{
  margin: 0 190px;      //中间最里的盒子设置外边距把内容显示出来
 }

#ft{
  width: 100%;
  height: 200px;
  background-color: #5880F4;
 }

效果如图:

CSS之圣杯布局与双飞翼布局的更多相关文章

  1. CSS布局经典—圣杯布局与双飞翼布局

    在我之前的博客网页整体布局完全剖析-剖完你不进来看一下么?中总结单列.两列.三列固宽与变宽布局,我还以为已经囊括了所有经典的网页布局方法了呢,当然除了CSS3的弹性盒模型没有涉及到,现在看来确实是自己 ...

  2. CSS经典布局-圣杯布局、双飞翼布局

    圣杯布局的来历是2006年发在a list part上的这篇文章:In Search of the Holy Grail · An A List Apart Article圣杯是西方表达“渴求之物&q ...

  3. css布局笔记(三)圣杯布局,双飞翼布局

    圣杯布局和双飞翼布局都是三列布局,两边定宽,中间自适应布局,中间栏要在放在文档流前面以优先渲染. 圣杯布局如下 <!-- 圣杯布局 --> <!DOCTYPE html> &l ...

  4. CSS | 圣杯布局、双飞翼布局 | 自适应三栏布局

    圣杯布局和双飞翼布局是前端工程师需要日常掌握的重要布局方式.两者的功能相同,都是为了实现一个两侧宽度固定,中间宽度自适应的三栏布局 虽然两者的实现方法略有差异,不过都遵循了以下要点: 1.两侧宽度固定 ...

  5. css两栏布局、圣杯布局、双飞翼布局

    最近几个月一直用vue在写手机端的项目,主要写业务逻辑,在js方面投入的时间和精力也比较多.这两天写页面明显感觉css布局方面的知识有不足,所以复习一下布局方法. 两栏布局 1.浮动 .box1 .l ...

  6. CSS布局之圣杯布局和双飞翼布局

    其实圣杯布局和双飞翼布局实现的都是三栏布局,两边的盒子宽度固定,中间盒子自适应,也就是我们常说的固比固布局.它们实现的效果都是一样的,差别在于其实现的思想. 一.圣杯布局 html代码中,将重要的内容 ...

  7. CSS圣杯布局、双飞翼布局详解

    三栏布局中,经典中的经典应该就是圣杯布局.双飞翼布局没跑了.双飞翼布局和圣杯布局其实是一样的,只不过在写法上有些不同,其布局都是左右固定宽度,中间宽度自适应. 先熟悉一下圣杯布局.双飞翼布局中的特点: ...

  8. CSS经典布局——圣杯布局与双飞翼布局

    一.圣杯布局和双飞翼布局的目的 实现三栏布局,中间一栏最先加载和渲染 两侧内容固定,中间内容随着宽度自适应 一般用于PC网 二.圣杯布局的实现 技术要点: 设置最小宽度min-width 使用floa ...

  9. 中间自适应,左右定宽的两种经典布局 ---- 圣杯布局 VS 双飞翼布局

    一.引子 最近学了些js框架,小有充实感,又深知如此节奏的前提需得基础扎实,于是回头想将原生CSS和Javascript回顾总结一番,先从CSS起,能集中它的就在基础的布局上,便查阅了相关资料,将布局 ...

  10. CSS_圣杯布局和双飞翼布局

    参考: 圣杯布局的来历是2006年发在a list part上的这篇文章: http://alistapart.com/article/holygrail 双飞翼布局介绍-始于淘宝UED: http: ...

随机推荐

  1. SQL Server如何删除多余tempDB文件

    某时,创建了多个tempDB文件,已经超过了服务器核心数,现象删除tempDB文件,使其保持与CPU核心数相同.但是在删除的时候,发现无法删除,报出错误:无法删除文件“tempdev3”,因为它不能为 ...

  2. bootstrap笔记-布局

    1.通过文本对齐类,可以简单方便的将文字重新对齐. <p class="text-left">Left aligned text.</p> <p cl ...

  3. div水平居中与垂直居中的方法【摘自美浩工作室官方博客 】

    大家往往在写页面中会遇到不固定宽和高的div如果水平和垂直都居中呢?在写css的时候经常遇到的一个问题,当div没有固定的宽度或者高度的时候,如何才能让div水平或者垂直居中显示.如果div有固定宽度 ...

  4. Linux服务器

    /*** cloud_sum_server ***/void cloud_sum(int sockfd) { ssize_t n; char buf[MAXLINE]; , b = ; again: ...

  5. CEF使用的几个注意点

    CEF为chrome浏览器的切入其他浏览器中的轻量级框架. 开发的客户端的时候,这是作为界面显示的首先,可以增强客户的易变性,可塑性. 在开发的过程中(侧重于C,C++解决),遇到的几个问题,以及自己 ...

  6. EasyUI-panel 内嵌页面上的js无法被执行

    声明: http://www.jeasyuicn.com/post-49.html 本文引用自GodSon的杰作 http://www.jeasyuicn.com/post-49.html,除修正了个 ...

  7. WCF初探-13:WCF客户端为双工服务创建回调对象

    前言: 在WCF初探-5:WCF消息交换模式之双工通讯(Duplex)博文中,我讲解了双工通信服务的一个应用场景,即订阅和发布模式,这一篇,我将通过一个消息发送的例子讲解一下WCF客户端如何为双工服务 ...

  8. CSS动画 防止动画结束后,回归原位

    animation-fill-mode防止动画结束后,回归原位 animation: arrowsfirst 1s; animation-timing-function: linear; animat ...

  9. MySQLdb 1031 Error

    Python import MySQLdb 有可能报:site-packages/pkg_resources.py:1031: UserWarning: /home/***/.python-eggs ...

  10. android技巧(一):如何方便知晓当前Activity?如何管理应用中的Activity?如何最佳的启动一个Activity?

    1.如何方便知晓当前Activity? 可以不看代码根据当前界面就知道界面所在Activity的写法: 建立BaseActivity,继承自Activity,在BaseActivity的OnCreat ...