成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

面試題CSS盒子模型,左右固定寬度,中間自適應(yīng)的五種死法

leanxi / 1752人閱讀

摘要:優(yōu)點(diǎn)相比之前布局更具有靈活性缺點(diǎn)脫離文檔流,下面的元素都受影響。

面試題目 假設(shè)高度已知,請(qǐng)寫出三欄布局,左右300px,中間自適應(yīng)


有幾種方法呢?

最容易的應(yīng)該想到利用float來寫,代碼如下

css樣式代碼,以下五種都是用一個(gè)樣式代碼

float

float浮動(dòng)劃分左中右

css代碼

.main {
      height: 100px;
    }

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

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

    .center {
      background-color: gold;
    }
  

總結(jié) 優(yōu)缺點(diǎn),要理解優(yōu)缺點(diǎn),首先要明白什么是浮動(dòng)
浮動(dòng)布局的原理:對(duì)元素設(shè)置float:left或者right,使元素脫離文檔流,同時(shí)顯示為類似display:inline-block的形式(可以定義寬高,但是又不會(huì)換行)。
優(yōu)點(diǎn) 相比之前table布局更具有靈活性
缺點(diǎn) 脫離文檔流,下面的元素都受影響。并且要使用clear:both 清除浮動(dòng) 父類添加clearfix類。
.clearfix:after{content:"";height:0;display:block;clear:both}
.clearfix{*display:inline-block}
.clearfix{*display:block;}

2 . position 定位方法實(shí)現(xiàn)
代碼格式如下

.position-left {
      width: 300px;
      background-color: green;
      position: absolute;
      left: 0;
    }
    .position-right {
      width: 300px;
      background-color: gray;
      position: absolute;
      right: 0;
    }
    .position-center {
      background-color: gold;
      position: absolute;
      left: 300px;
      right: 300px;
    }
position 定位優(yōu)缺點(diǎn)
優(yōu)點(diǎn): 每個(gè)元素的顯示位置相對(duì)獨(dú)立,方便每個(gè)元素的控制,使用定位屬性,結(jié)合邊偏移屬性,可以將元素放置在任何需要的位置,這樣做的好處在于,無需考慮元素本身的顯示方式和頁(yè)面代碼中所處的位置,直接將元素分離出來進(jìn)行定位。
缺點(diǎn):每個(gè)元素獨(dú)立控制,很難預(yù)測(cè)元素之間的相互影響,同時(shí)也可能發(fā)生元素重疊的情況,導(dǎo)致部分內(nèi)容無法正常顯示.

3.flex布局實(shí)現(xiàn)方法代碼如下

.flex {
      margin-top: 160px;
      display: flex;
    }
    .flex-left {
      width: 300px;
      background-color: green;
    }
    .flex-right {
      width: 300px;
      background-color: gray;
    }
    .flex-center {
      flex: 1;
      background-color: gold;
    }

樣式有稍微的改動(dòng)代碼如下

flex

flex浮動(dòng)劃分左中右

flex 布局的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):Flex 是 Flexible Box 的縮寫,意為”彈性布局”,用來為盒狀模型提供最大的靈活性。 現(xiàn)在是主流響應(yīng)式布局開發(fā)的主力,任何一個(gè)容器都可以指定為 Flex 布局。
缺點(diǎn):不支持IE8及以下的瀏覽器

4、表格布局代碼如下

    .table {
      width: 100%;
      display: table;
      margin-top: 30px;
    }
    .table-left {
      display: table-cell;
      width: 300px;
      background-color: green;
    }
    .table-right {
      display: table-cell;
      width: 300px;
      background-color: gray;
    }
    .table-center {
      display: table-cell;
      background-color: gold;
    }

優(yōu)點(diǎn) 表格布局的兼容性很好,在flex布局不兼容的時(shí)候,可以嘗試表格布局
缺點(diǎn) 一個(gè)單元格高度超出的時(shí)候,兩側(cè)的單元格也是會(huì)跟著一起變高,有時(shí)候這種效果不是我們想要的
5、網(wǎng)格布局
代碼如下

  .gird {
      display: grid;
      grid-template-rows: 100px;
      grid-template-columns: 300px auto 300px;
      margin-top: 30px;
    }
    .gird-left {
      background-color: green;
    }
    .gird-right {
      background-color: gray;
    }
    .gird-center {
      background-color: gold;
    }

優(yōu)點(diǎn)
1 能大大的提高網(wǎng)頁(yè)的規(guī)范性和可重用性。在柵格系統(tǒng)下,將頁(yè)面模塊的尺寸標(biāo)準(zhǔn)化,這對(duì)于大型網(wǎng)站的開發(fā)和維護(hù)來說,能節(jié)約不少成本;
2??基于柵格進(jìn)行設(shè)計(jì),可以讓整個(gè)網(wǎng)站各個(gè)頁(yè)面的布局保持一致。這能增加頁(yè)面的相似度,提升用戶體驗(yàn);
3??對(duì)于設(shè)計(jì)師們來說,靈活的運(yùn)用柵格系統(tǒng),能做出很多優(yōu)秀和獨(dú)特的設(shè)計(jì)。
缺點(diǎn) css新技術(shù)瀏覽器還沒有全面支持。

延伸問題

高度已知換為高度未知呢?
塊內(nèi)內(nèi)容超出會(huì)是怎樣的效果?
如果是上下高度已知,中間自適應(yīng)呢?
如果是兩欄布局呢?
如果是上下左右混合布局呢?

順便打個(gè)廣告 自學(xué)的前端快3個(gè)月了想找一份工作,地點(diǎn)北京。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/114279.html

相關(guān)文章

  • 前端面試(總結(jié))

    摘要:為何只要寫不基于標(biāo)準(zhǔn)通用標(biāo)記語言,所以不需要引用,但需要來規(guī)范瀏覽器的行為使得瀏覽器知道應(yīng)該以何種解析方式對(duì)文檔進(jìn)行解析基于,所以要引用才能告知瀏覽器文檔所使用的文檔類型講講行內(nèi)元素塊元素空元素有哪些行內(nèi)元素,,,,,,,標(biāo)記性元素塊元素, HTML 1.HTML5為何只要寫 HTML5不基于SGML(標(biāo)準(zhǔn)通用標(biāo)記語言),所以不需要引用DTD,但需要doctype來規(guī)范瀏覽器的行為(...

    AlphaWatch 評(píng)論0 收藏0
  • 前端面試(總結(jié))

    摘要:為何只要寫不基于標(biāo)準(zhǔn)通用標(biāo)記語言,所以不需要引用,但需要來規(guī)范瀏覽器的行為使得瀏覽器知道應(yīng)該以何種解析方式對(duì)文檔進(jìn)行解析基于,所以要引用才能告知瀏覽器文檔所使用的文檔類型講講行內(nèi)元素塊元素空元素有哪些行內(nèi)元素,,,,,,,標(biāo)記性元素塊元素, HTML 1.HTML5為何只要寫 HTML5不基于SGML(標(biāo)準(zhǔn)通用標(biāo)記語言),所以不需要引用DTD,但需要doctype來規(guī)范瀏覽器的行為(...

    lpjustdoit 評(píng)論0 收藏0
  • CSS布局十八般武藝都在這里了

    摘要:清單一些說明注意文檔的書寫順序,先寫兩側(cè)欄,再寫主面板,更換后則側(cè)欄會(huì)被擠到下一列圣杯布局和雙飛翼布局都會(huì)用到。可以通過設(shè)置的屬性或使用雙飛翼布局避免問題。雙飛翼布局不用設(shè)置相對(duì)布局,以及對(duì)應(yīng)的和值。 本文首發(fā)于知乎專欄:前端指南 CSS布局 布局是CSS中一個(gè)重要部分,本文總結(jié)了CSS布局中的常用技巧,包括常用的水平居中、垂直居中方法,以及單列布局、多列布局的多種實(shí)現(xiàn)方式(包括傳統(tǒng)的...

    includecmath 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<