• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    CSS實現三欄布局的四種方法示例

    來源:懂視網 責編:小采 時間:2020-11-27 18:53:22
    文檔

    CSS實現三欄布局的四種方法示例

    CSS實現三欄布局的四種方法示例:前言其實不管是三欄布局還是兩欄布局都是我們在平時項目里經常使用的,也許你不知道什么事三欄布局什么是兩欄布局但實際已經在用,或許你知道三欄布局的一種或兩種方法,但實際操作中也只會依賴那某一種方法,本文具體的介紹了三欄布局的四種方法,并介紹了它
    推薦度:
    導讀CSS實現三欄布局的四種方法示例:前言其實不管是三欄布局還是兩欄布局都是我們在平時項目里經常使用的,也許你不知道什么事三欄布局什么是兩欄布局但實際已經在用,或許你知道三欄布局的一種或兩種方法,但實際操作中也只會依賴那某一種方法,本文具體的介紹了三欄布局的四種方法,并介紹了它

    前言

    其實不管是三欄布局還是兩欄布局都是我們在平時項目里經常使用的,也許你不知道什么事三欄布局什么是兩欄布局但實際已經在用,或許你知道三欄布局的一種或兩種方法,但實際操作中也只會依賴那某一種方法,本文具體的介紹了三欄布局的四種方法,并介紹了它的使用場景。

    所謂三欄布局就是指頁面分為左中右三部分然后對中間一部分做自適應的一種布局方式。

    1.絕對定位法

    HTML代碼如下:

    <p class="left">Left</p>
    <p class="main">Main</p>
    <p class="right">Right</p>

    CSS代碼如下:

    //簡單的進行CSS reset
    body,html{
     height:100%;
     padding: 0px;
     margin:0px;
    }
    //左右絕對定位
    .left,.right{
     position: absolute;
     top:0px;
     background: red;
     height:100%;
    }
    .left{
     left:0;
     width:100px;
    }
    .right{
     right:0px;
     width:200px;
    }
    //中間使用margin空出左右元素所占據的空間
    .main{
     margin:0px 200px 0px 100px;
     height:100%;
     background: blue;
    }

    該方法有個明顯的缺點,就是如果中間欄含有最小寬度限制,或是含有寬度的內部元素,當瀏覽器寬度小到一定程度,會發生層重疊的情況。

    2. 圣杯布局

    HTML代碼如下:

    //注意元素次序
    <p class="main">Main</p>
    <p class="left">Left</p>
    <p class="right">Right</p>

    CSS代碼如下:

    //習慣性的CSS reset
    body,html{
     height:100%;
     padding: 0;
     margin: 0
    }
    //父元素body空出左右欄位
    body {
     padding-left: 100px;
     padding-right: 200px;
    }
    //左邊元素更改
    .left {
     background: red;
     width: 100px;
     float: left;
     margin-left: -100%;
     position: relative;
     left: -100px;
     height: 100%;
    }
    //中間部分
    .main {
     background: blue;
     width: 100%;
     height: 100%;
     float: left;
    }
    //右邊元素定義
    .right {
     background: red;
     width: 200px;
     height: 100%;
     float: left;
     margin-left: -200px;
     position: relative;
     right: -200px;
    }

    相關解釋如下:

    (1)中間部分需要根據瀏覽器寬度的變化而變化,所以要用100%,這里設左中右向左浮動,因為中間100%,左層和右層根本沒有位置上去

    (2)把左層margin負100后,發現left上去了,因為負到出窗口沒位置了,只能往上挪

    (3)按第二步這個方法,可以得出它只要挪動窗口寬度那么寬就能到最左邊了,利用負邊距,把左右欄定位

    (4)但由于左右欄遮擋住了中間部分,于是采用相對定位方法,各自相對于自己把自己挪出去,得到最終結果

    3. 雙飛翼布局

    HTML代碼如下:

    <p class="main">
     <p class="inner">
     Main
     </p>
    </p>
    <p class="left">Left</p>
    <p class="right">Right</p>

    CSS代碼如下:

    //CSS reset
    body,html {
     height:100%;
     padding: 0;
     margin: 0
    }
    body {
     /*padding-left:100px;*/
     /*padding-right:200px;*/
    }
    .left {
     background: red;
     width: 100px;
     float: left;
     margin-left: -100%;
     height: 100%;
     /*position: relative;*/
     /*left:-100px;*/
    }
    .main {
     background: blue;
     width: 100%;
     float: left;
     height: 100%;
    }
    .right {
     background: red;
     width: 200px;
     float: left;
     margin-left: -200px;
     height: 100%;
     /*position:relative;*/
     /*right:-200px;*/
    }
    //新增inner元素
    .inner {
     margin-left: 100px;
     margin-right: 200px;
    }

    圣杯布局實際看起來是復雜的后期維護性也不是很高,在淘寶UED的探討下,出來了一種新的布局方式就是雙飛翼布局,代碼如上。增加多一個p就可以不用相對布局了,只用到了浮動和負邊距。和圣杯布局差異的地方已經被注釋。

    4. 浮動

    HTML代碼如下:

    //注意元素次序
    <p class="left">Left</p>
    <p class="right">Right</p>
    <p class="main">Main</p>

    CSS代碼如下:

    //CSS reset
    body,html {
     height:100%;
     padding: 0;
     margin: 0
    }
    //左欄左浮動
    .left {
     background: red;
     width: 100px;
     float: left;
     height: 100%;
    }
    //中間自適應
    .main {
     background: blue;
     height: 100%;
     margin:0px 200px 0px 100px;
    }
    //右欄右浮動
    .right {
     background: red;
     width: 200px;
     float: right;
     height: 100%;
    }

    這種方式代碼足夠簡潔與高效,也容易理解

    更多CSS實現三欄布局的四種方法示例相關文章請關注PHP中文網!

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    CSS實現三欄布局的四種方法示例

    CSS實現三欄布局的四種方法示例:前言其實不管是三欄布局還是兩欄布局都是我們在平時項目里經常使用的,也許你不知道什么事三欄布局什么是兩欄布局但實際已經在用,或許你知道三欄布局的一種或兩種方法,但實際操作中也只會依賴那某一種方法,本文具體的介紹了三欄布局的四種方法,并介紹了它
    推薦度:
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 一本一道久久a久久精品综合| 亚洲av无码成人精品区| 国产2021久久精品| 国产午夜精品一区二区三区| 欧美精品免费专区在线观看| 久久99久久99小草精品免视看| 亚洲精品国产品国语在线| 国产亚洲精品AA片在线观看不加载| 99精品视频在线| 精品偷自拍另类在线观看| 亚洲欧美日韩国产一区二区三区精品| 国产精品爱搞视频网站 | 国产精品多p对白交换绿帽| 亚洲国产精品综合久久一线| 国产亚洲精品国看不卡| 午夜精品视频在线观看| 国产精品999| 国内精品久久久久影院优| 日韩精品一区二区三区色欲AV| 亚洲av无码国产精品色在线看不卡| 精品国产综合区久久久久久 | 亚洲AV永久无码精品一区二区| 国产精品婷婷午夜在线观看| 国产精品乱码高清在线观看| 久久91这里精品国产2020| 国产成人久久精品二区三区| 嫩草影院久久国产精品| 国产精品久久久久久| 1024国产欧美日韩精品| 国产午夜精品无码| xxx国产精品视频| 91精品国产福利尤物| 国产国产精品人在线观看| 国产成人精品无码免费看 | 亚洲精品综合久久| 四虎成人精品| 午夜三级国产精品理论三级 | 亚洲国产91精品无码专区| 日韩精品一二三区| 亚洲精品中文字幕无码蜜桃| 无码日韩精品一区二区免费|