從事web前端開發最近手上的項目有很多產品列表模塊,從布局上來說以前習慣性用float來進行排版,這種方式的優點在于思路簡單,算好比例,給出margin進行間隔控制,然后將最右邊的一個產品的margin用css選擇器:nth-child() 取消即可,但是這樣一來就有一個弊端,那就是浮動會給上下連接的其他頁面模塊帶來偏移,在之前我都是在產品列表外圍div里加上display:table來消除這個影響的,這樣做出來的效果也確實不錯,但是有些特殊情況的時候display:table這個屬性會將網頁撐開、出現橫向滾動條,這個時候將table換成inline-block就能解決。這樣下來就感覺比較耗時間,而且有時候排查問題一時間也想不到這個點上來。
到后面漸漸的開始接觸flex布局,發現是真的簡單明了,一個display:flex就解決了產品列表單個默認自動換行的問題,不需要float來進行排列了。然后就是justify-content屬性:flex-start、flex-end、center、space-betwe、space-arou這些屬性,分別實現了從左邊開始排列、從右邊開始排列、居中排列、兩端對齊模塊中間間隔等分排列、模塊兩側間隔相等排列。
而這個屬性不僅僅用于列表排列,同樣適用于文字排列,一些a標簽里的文字,上下左右居中的話,加個justify-content:center就水平居中了,垂直居中的話還需要加一個align-items:center就行了,這樣就不用寫死等高的行高,靈活度大大增加。
一般來說一些產品、新聞列表啊;橫向導航欄的欄目啊,都是用的justify-content:space-betwe來進行欄目模塊間的間隔控制,只需算好欄目模塊的寬度占比就ok了。但是在多個產品多排排列的時候加了flex-wrap:wrap進行換行外,在產品不夠排滿的時候,會出現尾排產品左右兩邊對齊,中間空格太多,影響排列規律美觀的情況,這種尾排未滿的情況還是經常遇到的,所以一般這種排列的時候,就需要從左開始排列,也就是justify-content:start這個屬性,然后給每個欄目模塊margin值進行中間間隔控制,運用:nth-child()選擇器進行最右邊清除margin。雖然這樣做看起來和運用float + margin來排列差不多,但是這樣做不需要考慮清除浮動的問題。算是比較方便的處理方法了。
日常頁面開發中列表欄目排版的處理運用以上方法基本就ok了。至于其他方面,就見仁見智了。
以上就是關于網站前端開發之使用flex布局的小小心得(web網站前端開發),希望對你有幫助,更多內容關注創新互聯。
新聞名稱:網站前端開發之使用flex布局的小小心得(web網站前端開發)
文章起源:http://vcdvsql.cn/news44/312494.html
成都網站建設公司_創新互聯,為您提供全網營銷推廣、品牌網站建設、網頁設計公司、App開發、小程序開發、外貿網站建設
廣告
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源:
創新互聯