<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答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兩列布局實現(xiàn)方式的總結

        來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 18:52:44
        文檔

        分享CSS兩列布局實現(xiàn)方式的總結

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

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

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

        1. absolute + margin 方式

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

        <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 列覆蓋的部分。如此,我們就實現(xiàn)了定寬 + 自適應的兩列布局。

        (1)列順序調(diào)整

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

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

        (2)主內(nèi)容列優(yōu)先顯示

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

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

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

        (3)問題所在

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

        2. float + margin 方式

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

        <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); 
        }

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

        那么,這種方式支不支持調(diào)換列的位置呢?當然可以。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 方式是個好辦法,然而我們前面提到過的主列在前優(yōu)先顯示的優(yōu)化卻不能實現(xiàn)。

        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); 
        }

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

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

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

        文檔

        分享CSS兩列布局實現(xiàn)方式的總結

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

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 性无码免费一区二区三区在线| 亚洲熟妇无码AV不卡在线播放| 一区二区三区免费在线观看| 免费激情视频网站| 亚洲日韩精品无码专区加勒比 | 亚洲gv猛男gv无码男同短文| 一区二区三区精品高清视频免费在线播放 | 午夜免费福利在线| 亚洲国产高清国产拍精品| 毛片a级毛片免费观看免下载| 亚洲制服丝袜第一页| 成人a免费α片在线视频网站| 亚洲狠狠婷婷综合久久| 国产男女猛烈无遮档免费视频网站| 亚洲aⅴ天堂av天堂无码麻豆| 婷婷亚洲天堂影院| 国产性生大片免费观看性| 久久精品国产亚洲av四虎| 亚洲黄色免费网址| 亚洲精品无码久久久久YW| 日批日出水久久亚洲精品tv| 美女被免费网站91色| 中文字幕亚洲色图| 成人国产mv免费视频| 亚洲视频在线免费| 日韩a毛片免费观看| AV在线播放日韩亚洲欧| 污污网站免费观看| 亚洲娇小性xxxx| 亚洲成人影院在线观看| 国产午夜无码精品免费看| 亚洲国产成人手机在线电影bd| 成人免费一区二区无码视频| 日本中文字幕免费看| 老司机亚洲精品影院| 国产免费变态视频网址网站| 久久久久女教师免费一区| 亚洲伊人久久大香线蕉啊| 亚洲第一网站男人都懂| 免费无码中文字幕A级毛片| 亚洲AV无码片一区二区三区|