幾種常見的布局方式(二)

三列布局

兩側兩列固定寬度,中間列自適應寬度


三列布局.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,790評論 1 92
  • 收聽音頻,戳鏈接,舊號itclan已暫停使用,歡迎關注微信itclanCoder公眾號可收聽更多音頻 前言 關于網...
    itclanCoder閱讀 8,204評論 3 30
  • 本文概要 本文將介紹如下幾種常見的布局: 一、單列布局 常見的單列布局有兩種: header,content 和 ...
    grain先森閱讀 2,745評論 0 81
  • 本文概要 本文將介紹如下幾種常見的布局: 其中實現三欄布局有多種方式,本文著重介紹圣杯布局和雙飛翼布局。另外幾種可...
    浪里行舟閱讀 989評論 4 15
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標準。 注意:講述HT...
    kismetajun閱讀 27,627評論 1 45