几种常见的布局方式(二)

三列布局

两侧两列固定宽度,中间列自适应宽度


三列布局.png

如何实现 实例代码如下

<style>
    .content:after{
      content:'';
      display:block;
      clear:both;
    }
    .menu{
      width:100px;
      height:300px;
      float:left;
      background:pink;
    }
    .aside{
      width:200px;
      height:300px;
      float:right;
      background:blue;
    }
    .main{
      height:400px;
      margin-left:120px;
      margin-right:210px;
      background:red;
    }
    .footer{
      background:#ccc;
    }
  </style>
<diV class="content">
  <div class="menu">aside</div>
  <div class="aside">aside</div>
  <div class="main">main</div>
</diV>
  <div class="footer">尾部</div>

效果图如下

三列布局左右固定中间自适应.png

水平等距排列

思路:li的大小 和margin的间距加起来刚好等距于ct的大小 然后利用负margin进行排列,刚好完完整整排下。
范例如下

 <style>

    ul ,li{
      margin:0;
      padding:0;
      list-style:none;
    }
    .ct{
      width:640px;
      overflow:hidden;
      border:dashed 1px orange;
      margin:0 auto;
    }
    .item{
      float:left;
      width:200px;
      height:200px;
      background:pink;
      margin-right:20px;
      margin-top:10px;
    } 
    .ct>ul{
      margin-right:-20px;
    }
</style>
<div class="ct">
  <ul>
    <li class="item">1</li>
    <li class="item">2</li>
    <li class="item">3</li>
    <li class="item">4</li>
    <li class="item">5</li>
    <li class="item">6</li>
    <li class="item">7</li>
    <li class="item">8</li>
  </ul>
</div>

效果图如下:


水平等距排列布局.png

圣杯布局

  • 是三列布局,两边固定宽度,中间自适应
  • 中间内容元素在 dom 元素次序中优先位置
    范例如下
<style>
    .content:after{
      content:'';
      display:block;
      clear:both;
    }
    .content{
      padding-left:100px;
      padding-right:150px;
    }
    .aside,.main,.extra{
      float:left;
    }
    .aside{
      width:100px;
      height:200px;
      background:pink;
      margin-left:-100%;
      position:relative;
      left:-100px;
    }
    .extra{
      width:100px;
      height:200px;
      background:red;
      margin-left: -150px;
      position:relative;
      left:150px;
    }
    .main{
      height:300px;
      background:blue;
      width:100%;
    }
  </style>
<div class="content">
  <div class="main">main</div>
  <div class="aside">aside</div>
  <div class="extra">extra</div>
</div>

效果图如下


圣杯布局.png
  • 缺点:.mian的最小宽度不能小于.aside的宽度

双飞翼布局

和圣杯布局有异曲同工之妙 解决了圣杯布局的缺点
范例如下

<style>
    .content:after{
      content:'';
      display:block;
      clear:both;
    }
    .aside,.main,.extra{
      float:left;/*2*/
    }
    .aside{
      width:100px;/*1*/
      height:200px;/*1*/
      background:pink;/*1*/
      margin-left:-100%;/*4*/
    }
    .extra{
      width:150px;/*1*/
      height:300px;/*1*/
      background:blue;/*1*/
      margin-left:-150px;/*5*/
    }
    .main{
      /* height:300px; *//*第1步添加,第7步注释掉*/
      /* background:red; *//*第1步添加,第7步注释掉*/
      width:100%/*3*/
    }
    .wrap{
      margin-left:100px;/*6*/
      margin-right:150px;/*6*/
      background:red;/*7*/
      height:350px;/*7*/
    }
  </style>
<div class="content">
  <div class="main">
    <div class="wrap">main</div>
  </div>
  <div class="aside">aside</div>
  <div class="extra">extra</div>
</div>

效果图如下 :

双飞翼布局.png

流式布局

bootstrap讲解 我们实现一个简单的栅格系统

弹性布局flex

flex讲解 范例

grid

grid相关文章

移动端布局

  1. 设置 meta ,如
<meta name="viewport" content="width=device-width, inital-scale=1.0, maximum-scale=1.0, user-scalable=no;"/>

  1. 适配

媒体查询 or 动态 rem

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,809评论 1 92
  • 收听音频,戳链接,旧号itclan已暂停使用,欢迎关注微信itclanCoder公众号可收听更多音频 前言 关于网...
    itclanCoder阅读 8,214评论 3 30
  • 本文概要 本文将介绍如下几种常见的布局: 一、单列布局 常见的单列布局有两种: header,content 和 ...
    grain先森阅读 2,754评论 0 81
  • 本文概要 本文将介绍如下几种常见的布局: 其中实现三栏布局有多种方式,本文着重介绍圣杯布局和双飞翼布局。另外几种可...
    浪里行舟阅读 991评论 4 15
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,748评论 1 45