• <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:52:44
    文檔

    分享CSS兩列布局實現方式的總結

    分享CSS兩列布局實現方式的總結:這篇文章主要介紹了CSS兩列布局實現方式的總結,討論了包括absolute + margin和float + margin方式的一些實踐和問題,需要的朋友可以參考下兩列布局大概是最經典的一種網頁布局方式了,本博客就是采用的這種布局。兩列布局中,以主列(main)是自適應寬度,
    推薦度:
    導讀分享CSS兩列布局實現方式的總結:這篇文章主要介紹了CSS兩列布局實現方式的總結,討論了包括absolute + margin和float + margin方式的一些實踐和問題,需要的朋友可以參考下兩列布局大概是最經典的一種網頁布局方式了,本博客就是采用的這種布局。兩列布局中,以主列(main)是自適應寬度,

    這篇文章主要介紹了CSS兩列布局實現方式的總結,討論了包括absolute + margin和float + margin方式的一些實踐和問題,需要的朋友可以參考下

    兩列布局大概是最經典的一種網頁布局方式了,本博客就是采用的這種布局。兩列布局中,以主列(main)是自適應寬度,子列(sidebar)是固定寬度的情形最為常見。
    今天就來好好探討一下如何實現這種定寬+自適應的兩列布局。

    1. absolute + margin 方式

    首先想到的是利用 absolute + margin 的方式實現。先看看代碼:

    <p class="container">
     <p class="sidebar">子列</p>
     <p class="main">主列</p>
    </p>
    .container { 
     position: relative; 
    } 
    .sidebar { 
     position: absolute; 
     top: 0; 
     left: 0; 
     width: 200px; 
     height: 300px; 
     background-color: rgba(255, 0, 0, .5); 
    } 
    .main { 
     height: 300px; 
     margin-left: 210px; 
     background-color: rgba(0, 255, 0, .5); 
    }

    該方式利用 position 讓 sidebar 列脫離文檔流,然后通過 main 列的 margin-left 移除被 sidebar 列覆蓋的部分。如此,我們就實現了定寬 + 自適應的兩列布局。

    (1)列順序調整

    在不修改 HTML 的情況下,只需簡單修改 CSS,我們可以讓左右兩列順序互換,來看代碼:

    .sidebar { 
     position: absolute; 
     top: 0; 
     rightright: 0; 
    } 
    .main { 
     margin-right: 210px; 
    }

    (2)主內容列優先顯示

    讓我們考慮的更完美一點,可不可以把 main 列放 sidebar 列 的前面,使主要內容優先加載渲染? Let us try!

    <p class="container">
     <p class="main">主列</p>
     <p class="sidebar">子列</p>
    </p>

    做上面的簡單調整即可,CSS不需要任何修改!

    (3)問題所在

    雖然這種方式的優點很多,但是卻存在一個致命缺點。因為 sidebar 列脫離了文檔流,當 sidebar 列比 main 列高時會覆蓋后面的布局:問題demo。
    如果在 container 容器上 添加 overflow:hidden 就會使 sidebar 溢出部分被裁減。在這種布局方式下,這個問題確實沒有有效的解決辦法。

    2. float + margin 方式

    然后想到的就是 float + margin 來實現兩列布局,首先實現左欄定寬,主內容自適應的兩欄布局。代碼如下:

    <p class="sidebar">子列</p>
    <p class="main">主列</p>
    .sidebar { 
     float: left; 
     width: 200px; 
     height: 300px; 
     background-color: rgba(255, 0, 0, .5); 
    } 
    .main { 
     height: 300px; 
     margin-left: 210px; 
     background-color: rgba(0, 255, 0, .5); 
    }

    這種實現方式比較簡單,首先把子列浮動到左邊,然后在主列上設置 margin-left 為子列留出顯示空間即可。

    那么,這種方式支不支持調換列的位置呢?當然可以。CSS代碼如下:

    .sidebar { 
     float: rightright; 
     width: 200px; 
     height: 300px; 
     background-color: rgba(255, 0, 0, .5); 
    } 
    .main { 
     height: 300px; 
     margin-right: 210px; 
     background-color: rgba(0, 255, 0, .5); 
    }

    問題所在:

    看起來 float + margin 方式是個好辦法,然而我們前面提到過的主列在前優先顯示的優化卻不能實現。

    3. float + 負margin 方式

    廢話不多說,直接上代碼:

    <p class="main-wrapper">
     <p class="main">主列</p>
    </p>
    <p class="sidebar">子列</p>
    .main-wrapper { 
     float: left; 
     width: 100%; 
    } 
    .main { 
     height: 100px; 
     margin-left: 210px; 
     background-color: rgba(255, 0, 0, .5); 
    } 
    .sidebar { 
     float: left; 
     width: 200px; 
     height: 100px; 
     margin-left: -100%; 
     background-color: rgba(0, 255, 0, .5); 
    }

    大家應該都看出來了,這就是雙飛翼布局,主列優先顯示。實現的過程如下:

    首先浮動 main 列和 sidebar 列,然后通過 負margin 正確定位 sidebar 列。
    把 main 列嵌套在一個 p 里,該 p 的寬度值設為100%。
    最后通過設置 main 列的 margin-left 消除被 sidebar 覆蓋的部分即可。

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

    文檔

    分享CSS兩列布局實現方式的總結

    分享CSS兩列布局實現方式的總結:這篇文章主要介紹了CSS兩列布局實現方式的總結,討論了包括absolute + margin和float + margin方式的一些實踐和問題,需要的朋友可以參考下兩列布局大概是最經典的一種網頁布局方式了,本博客就是采用的這種布局。兩列布局中,以主列(main)是自適應寬度,
    推薦度:
    標簽: 實現 實現的 總結
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 久久人人超碰精品CAOPOREN| 日韩AV无码精品人妻系列| 久久精品视频91| 国产一精品一AV一免费| 久久久精品人妻无码专区不卡 | 国产午夜精品一区理论片| 中文精品久久久久人妻| 国产精品哟女在线观看| 97精品国产91久久久久久| 亚洲中文字幕久久精品无码喷水| 国产亚洲精品看片在线观看| 精品四虎免费观看国产高清午夜| 亚洲国产精品成人精品无码区 | 亚洲精品中文字幕无码蜜桃| 黑人巨大精品欧美一区二区| 国产日韩欧美精品| 久久久久久亚洲精品成人| 亚洲国产婷婷综合在线精品| 久久久99精品成人片中文字幕| 国产成人精品福利网站在线观看| 国产精品www| 国产午夜福利精品久久2021 | 国产欧美日韩精品专区| 亚洲精品你懂的| 欧美精品1区2区| 精品一区二区久久久久久久网站| 国产精品无码无在线观看| 久久久久成人精品无码中文字幕| 一本大道无码日韩精品影视 | 国产精品成人无码久久久久久 | 国产亚洲精品xxx| 国产精品福利在线观看| 国产福利在线观看精品| 99久久免费国产精精品| 国产精品污视频| 四虎成人精品免费影院| 2024最新国产精品一区| 国产精品99爱免费视频| 国产一区二区三精品久久久无广告| 国产精品亚洲mnbav网站| 精品99久久aaa一级毛片|