常見的兩列、三列布局,寬高自適應(yīng)

今天是猴年的第一天班,也是新的起點(diǎn)。
分享一個(gè)如何用css實(shí)現(xiàn)我們?cè)诠ぷ髦谐R姷膬闪胁季郑?.左側(cè)固定寬度,高度自適應(yīng)右側(cè);2.左側(cè)寬度高度固定,右側(cè)自適應(yīng)寬高;3.左側(cè)、右側(cè)固定寬,中間自適應(yīng)。

1.左側(cè)固定寬度,高度自適應(yīng)右側(cè)

  • 效果圖
pic1.png
pic2.png
  • html+css
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>左側(cè)固定寬,自適應(yīng)右側(cè)高度</title>
    <style>
        .main{
            position: relative;
            color: #fff;
        }
        .left{
            position: absolute;
            top: 0;
            left: 0;
            bottom: 0;
            width: 300px;
            background: #f00;
        }
        .right{
            height: 200px;
            margin-left: 300px;
            background: #000;
        }
    </style>
</head>
<body>
    <div class="main">
        <div class="left">left</div>
        <div class="right">right</div>
    </div>
</body>
</html>
你看代碼,左側(cè)確實(shí)沒有定高,右側(cè)也沒有定寬。

2.左側(cè)寬度高度固定,右側(cè)自適應(yīng)寬高

  • 效果圖
pic3.png
  • html+css
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>左側(cè)寬度高度固定,右側(cè)自適應(yīng)寬高</title>
    <style>
        .main{
            overflow: hidden;
            color: #fff;
        }
        .left{
            float: left;
            width: 300px;
            height: 200px;
            background: #f00;
        }
        .right{
            margin-left: -300px;
            padding-bottom: 9999px;
            margin-bottom: -9999px;
            background: #000;
        }
    </style>
</head>
<body>
    <div class="main">
        <div class="left">left</div>
        <div class="right">right</div>
    </div>
</body>
</html>
你看代碼,左側(cè)確實(shí)定了寬高,右側(cè)寬高都沒有定。

3.左側(cè)、右側(cè)固定寬,中間自適應(yīng)

  • 效果圖
pic4.png
pic5.png
  • html+css
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>左側(cè)、右側(cè)固定寬,中間自適應(yīng)</title>
    <style>
        .fl{
            float: left;
        }
        .main{
            color: #fff;
        }
        .center{
            background: #9A0069;
            width: 100%;
            height: 300px;
        }
        .center .content{
            padding: 0 100px;
        }
        .left{
            width: 100px;
            height: 300px;
            margin-left: -100%;
            background: #009A61;
        }
        .right{
            width: 200px;
            height: 300px;
            background: #00529A;
            margin-left: -200px;
        }
    </style>
</head>
<body>
    <div class="main">
        <div class="center fl">
            <div class="content">
                center
            </div>
        </div>
        <div class="left fl">left</div>
        <div class="right fl">right</div>
    </div>
</body>
</html>
你看代碼,左側(cè)、右側(cè)都固定了寬度,中間寬度自適應(yīng)了。關(guān)鍵點(diǎn)是:float:left配合margin-left使用。同時(shí)center的div寫在了左右的前面,更加符合語(yǔ)義化。

但我們這里高度是寫死的,如何實(shí)現(xiàn)既保持“左右固定寬,中間自適應(yīng)”,又能夠以一邊的高度為基準(zhǔn),其他兩個(gè)高度自適應(yīng)呢? 你可以參考1,2的代碼來(lái)實(shí)現(xiàn),這里就不寫了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,162評(píng)論 1 92
  • 前言 現(xiàn)在,我們被稱為前端工程師。然而,早年給我們的稱呼卻是頁(yè)面仔?;蛟S是職責(zé)越來(lái)越大,整體的前端井噴式的發(fā)展,使...
    Calvin李閱讀 589評(píng)論 0 0
  • 收聽音頻,戳鏈接,舊號(hào)itclan已暫停使用,歡迎關(guān)注微信itclanCoder公眾號(hào)可收聽更多音頻 前言 關(guān)于網(wǎng)...
    itclanCoder閱讀 8,353評(píng)論 3 30
  • 第一部分HTML&CSS整理答案1.什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HTML5...
    Programmer客棧閱讀 2,102評(píng)論 0 12
  • 假設(shè)我們有一個(gè)兩欄自適應(yīng)的布局,在主內(nèi)容中應(yīng)用了一個(gè)圖片,其結(jié)構(gòu)如下: 這是一個(gè)很常見的結(jié)構(gòu),其效果就是一張圖片,...
    抱著熊喵啃什么閱讀 4,010評(píng)論 0 4

友情鏈接更多精彩內(nèi)容