樣式優(yōu)化-float 與 inline-block

優(yōu)化背景

常見的三列式的排列布局,視覺要求區(qū)域底部無邊距間距。舊代碼使用float布局方式,js判斷需要去除下邊距的項,如下片段:

css

.item 
   background-color #FFFFFF
   width calc(((100% - 0.24rem) / 3))
   float left
   margin-right 0.12rem
   margin-bottom 0.12rem
   border-radius 0.08rem
   overflow hidden
   .item:nth-of-type(3n) 
     margin-right 0

js

// 設(shè)置商品項特殊樣式
setSpecialClass(item, idx) {
  const len = this.itemList.length
  item.specialClass = ''
  if (this.data.componentInfoJson.col === 3 && (len % 3 === 1 || len % 3 === 2) && idx >= len - (len % 3)) {
    item.specialClass = 'no-margin-bottom'
  }
  return item
}

優(yōu)化方案

1、照常使用float布局,設(shè)置頂部間距,消除前三項的頂部間距
2、使用 display: inline-block,設(shè)置底部間距,元素的垂直對齊方式為上( vertical-align: top),消除最后三項的底部間距
使用方案2 ,原js代碼刪除,css如下:
.item 
   background-color #FFFFFF
   width calc(((100% - 0.24rem) / 3))
   display inline-block
   vertical-align top
   margin-right 0.12rem
   margin-bottom 0.12rem
   border-radius 0.08rem
   overflow hidden
   &:nth-of-type(3n) 
     margin-right 0
   &:nth-last-child(1)
     margin-bottom 0
   &:nth-last-child(2)
     margin-bottom 0
   &:nth-last-child(3)
     margin-bottom 0

float 與 inline-block

且先看使用float布局且直接消除最后三項的底部間距的表現(xiàn)


float的排列方式是:每個float盒子定位都是依據(jù)上一個盒子的右邊界來定位的,每個盒子都會往前查找,直到碰到頁面邊界。
而 display: inline-block 則嚴(yán)格按照從左到右來排列。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • 大家好,我是IT修真院武漢分院第11期的學(xué)員,一枚正直純潔善良的前端程序員,今天給大家分享一下,修真院官網(wǎng)css任...
    斌仔_83e7閱讀 3,914評論 0 2
  • 前端開發(fā)面試題 面試題目: 根據(jù)你的等級和職位的變化,入門級到專家級,廣度和深度都會有所增加。 題目類型: 理論知...
    怡寶丶閱讀 2,678評論 0 7
  • 『inline-block是什么? Inline-block是元素display屬性的一個值。display設(shè)置這...
    小淘氣_嘻閱讀 633評論 0 1
  • ?前端面試題匯總 一、HTML和CSS 21 你做的頁面在哪些流覽器測試過?這些瀏覽器的內(nèi)核分別是什么? ...
    Simon_s閱讀 2,365評論 0 8
  • 前端開發(fā)知識點 HTML&CSS對Web標(biāo)準(zhǔn)的理解、瀏覽器內(nèi)核差異、兼容性、hack、CSS基本功:布局、盒子模型...
    Hebborn_hb閱讀 894評論 0 1

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