三欄布局

頁(yè)面布局

這里以一道潮妫考的面試題為例:
假設(shè)高度已知,請(qǐng)寫(xiě)出三欄布局,其中左欄,右欄各位300px,中間自適應(yīng)

這道題有五種寫(xiě)法,分別是float,absolute,flexbox,table(老版本),grid(新技術(shù))

這種面試題看起來(lái)簡(jiǎn)單,但一定要盡可能多的寫(xiě)出答案(至少三種),grid作為css3的新技術(shù),會(huì)讓面試官對(duì)你有一個(gè)好的印象,體現(xiàn)你對(duì)新技術(shù)和新知識(shí)的渴望

下面是代碼:

<body>
    <div>
        <div class="left"></div>
        <div class="right"></div>
        <div class="center"></div>
    </div>
</body>
  • absolute
    * {
        margin: 0;
        padding: 0;
    }
    .left {
        position: absolute;
        left: 0;
        width: 300px;
        height: 100px;
        background-color: red;
    }

    .right {
        position: absolute;
        right: 0;
        width: 300px;
        height: 100px;
        background-color: blue;
    }

    .center {
        position: absolute;
        left: 300px;
        right: 300px;
        height: 100px;
        background-color: yellow;
    }
  • table
.table{
            display: table;
            width: 100%;
            height: 100px;
        }

        .table>div{
            display: table-cell;
        }

        .left{
            width: 300px;
            background-color: red;
        }

        .right{
            width: 300px;
            background-color: blue;
        }

        .center{
            background-color: yellow;
        }
  • flex
 .flex {
        display: flex;
    }

    .flex>div {
        height: 100px;
    }

    .left {
        width: 300px;
        background-color: red;
    }

    .right {
        width: 300px;
        background-color: blue;
    }

    .center {
        flex: 1;
        background-color: yellow;
    }
  • float
* {
        padding: 0;
        margin: 0;
    }

    .layout-float .left {
        float: left;
        width: 300px;
        height: 100px;
        background-color: red;
    }

    .layout-float .center {
        background-color: yellow;
        height: 100px;
    }

    .layout-float .right {
        float: right;
        width: 300px;
        height: 100px;
        background-color: blue;
    }
  • Grid
.grid {
        display: grid;
        width: 100%;
        grid-template-rows: 100px;
        grid-template-columns: 300px auto 300px;
    }

    .left {
        background-color: red;
    }

    .center {
        background-color: yellow;
    }

    .right {
        background-color: blue;
    }
延伸部分,分析這幾種寫(xiě)法的優(yōu)劣
  • 浮動(dòng)的兼容性比較好,但是會(huì)脫離文檔流,處理不好會(huì)導(dǎo)致很多其它問(wèn)題
  • absolute快捷鍵便,缺點(diǎn)是會(huì)導(dǎo)致后續(xù)元素全部脫離文檔流
  • flex是移動(dòng)端最完美的解決方案,但是ie8以下不支持
  • 表格布局在歷史上評(píng)價(jià)不高,缺點(diǎn)很多,現(xiàn)在基本已經(jīng)被廢棄了,優(yōu)點(diǎn)是兼容性好
  • Grid布局是新技術(shù),而且寫(xiě)起來(lái)很方便,代碼量也少,缺點(diǎn)就是瀏覽器的兼容問(wèn)題

但是這道題到這里還不算結(jié)束,如果問(wèn)題變成高度未知,這5種方法還有哪些能滿足呢?

這里只有flex和table布局能繼續(xù)滿足要求,繼續(xù)擴(kuò)展下去的問(wèn)題有可能問(wèn)到清除浮動(dòng),BFC等相關(guān)知識(shí)點(diǎn),你是否了解呢?

小結(jié)

  • 語(yǔ)義化掌握到位,不要一路div,要使用語(yǔ)義化標(biāo)簽
  • 頁(yè)面布局深刻理解,清楚的寫(xiě)出代碼
  • CSS基礎(chǔ)扎實(shí):table,grid,flex知識(shí)點(diǎn)
  • 思維靈活積極上進(jìn):Grid是最新技術(shù),如果能寫(xiě)出來(lái)則會(huì)突顯你積極上進(jìn),對(duì)新技術(shù)有渴望,知道每個(gè)方案的優(yōu)缺點(diǎn)并加以對(duì)比,找出最符合業(yè)務(wù)場(chǎng)景的解決辦法,才能體現(xiàn)出你思維靈活
  • 代碼書(shū)寫(xiě)規(guī)范,縮進(jìn),類名等等

三欄布局的變通

  • 左右固定,中間自適應(yīng)
  • 上下固定,中間自適應(yīng)(移動(dòng)端很常見(jiàn))

兩欄布局

  • 左固定,右自適應(yīng)
  • 右固定,左自適應(yīng)
  • 上固定,下自適應(yīng)
  • 下固定,上自適應(yīng)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末州胳,一起剝皮案震驚了整個(gè)濱河市讶凉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌零渐,老刑警劉巖娄涩,帶你破解...
    沈念sama閱讀 217,826評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鳄袍,死亡現(xiàn)場(chǎng)離奇詭異绢要,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)畦木,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)袖扛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人十籍,你說(shuō)我怎么就攤上這事蛆封。” “怎么了勾栗?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,234評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵惨篱,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我围俘,道長(zhǎng)砸讳,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,562評(píng)論 1 293
  • 正文 為了忘掉前任界牡,我火速辦了婚禮簿寂,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘宿亡。我一直安慰自己常遂,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布挽荠。 她就那樣靜靜地躺著克胳,像睡著了一般平绩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上漠另,一...
    開(kāi)封第一講書(shū)人閱讀 51,482評(píng)論 1 302
  • 那天捏雌,我揣著相機(jī)與錄音,去河邊找鬼笆搓。 笑死性湿,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的满败。 我是一名探鬼主播窘奏,決...
    沈念sama閱讀 40,271評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼葫录!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起领猾,我...
    開(kāi)封第一講書(shū)人閱讀 39,166評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤米同,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后摔竿,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體面粮,經(jīng)...
    沈念sama閱讀 45,608評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評(píng)論 3 336
  • 正文 我和宋清朗相戀三年继低,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了熬苍。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,926評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡袁翁,死狀恐怖柴底,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情粱胜,我是刑警寧澤柄驻,帶...
    沈念sama閱讀 35,644評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站焙压,受9級(jí)特大地震影響鸿脓,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜涯曲,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評(píng)論 3 329
  • 文/蒙蒙 一野哭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧幻件,春花似錦拨黔、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,866評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)城榛。三九已至,卻和暖如春态兴,著一層夾襖步出監(jiān)牢的瞬間狠持,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,991評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工瞻润, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留喘垂,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,063評(píng)論 3 370
  • 正文 我出身青樓绍撞,卻偏偏與公主長(zhǎng)得像正勒,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子傻铣,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案章贞? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,753評(píng)論 1 92
  • 三欄布局一般指左右兩欄固定寬度,中間一欄自適應(yīng)的布局方法非洲,也是許多網(wǎng)站常用的布局方式鸭限。如下圖: 該示例在一個(gè)htm...
    zkhChris閱讀 1,164評(píng)論 0 8
  • 對(duì)于三欄布局,大家應(yīng)該很熟悉了两踏,像淘寶等電商網(wǎng)站败京,亦或是某網(wǎng)站的后臺(tái)管理系統(tǒng),都有三欄布局的身影梦染。如果你還不知道三...
    ALOLONGHUN閱讀 432評(píng)論 0 1
  • 前言 溫馨提示:本文較長(zhǎng)赡麦,圖片較多,本來(lái)是想寫(xiě)一篇 CSS 布局方式的帕识,但是奈何 CSS 布局方式種類太多并且實(shí)現(xiàn)...
    sunshine小小倩閱讀 3,139評(píng)論 0 59
  • 今天午眠中突然驚醒泛粹,然后刪了微信微博豆瓣上所有關(guān)于星座的一切。 從上周開(kāi)始就陸續(xù)有人問(wèn)我最近的運(yùn)勢(shì)怎么樣了...
    A_Xu閱讀 313評(píng)論 0 1