flex佈局中遇到的坑
如題,這些天在github上找了個施展專案練手,跟著些程式碼,但是很快就出現了問題。
一、問題描述
使用flex佈局,第一個元素樣式發生錯誤,如圖:
強迫症患者表示傷不起!
程式碼如下:
HTML:
<div class="type-bar"> <div v-for="(cate,index) in category" :key="index"> <img v-lazy="cate.image" width="90%"> <span>{{cate.mallCategoryName}}</span> </div> </div>
這個是vue專案,不會的小夥伴用幾張本地圖代替就可以了。
CSS:
.type-bar{ background-color: #fff; margin:0 .3rem .3rem .3rem; border-radius: .3rem; font-size: 14px; display: flex; flex-direction: row; flex-wrap: nowrap; } .type-bar div{ padding: .3rem; font-size: .75rem; text-align: center; }
css中用了rem佈局,這個很簡單,大家換成px也行,想要了解rem的,百度一下就OK了。
二、解決方案
老實說我也沒明白是什麼原理,本身也是前端菜鳥,百度了一下,最終找到了解決方案,如下
在flex的子元素中新增
flex-grow: 1;
flex-basis: 0%;
即可!
修改後HTML程式碼不變,只是在CSS中加入兩行程式碼即可!
最後CSS程式碼如下:
.type-bar{ background-color: #fff; margin:0 .3rem .3rem .3rem; border-radius: .3rem; font-size: 14px; display: flex; flex-direction: row; flex-wrap: nowrap; } .type-bar div{ padding: .3rem; font-size: .75rem; text-align: center; flex-grow: 1; flex-basis: 0%; }
最後佈局終於正確了,治好了我的強迫症,如下:
問題解決!
我也是個前端菜鳥,所以也不知道解決方案到底是否正確,但簡單的測試後,發現沒有問題,希望可以幫助到更多的小夥伴,如果大家有更好的解決方案,也可以給我留言!
相關推薦
flex佈局中遇到的坑
如題,這些天在github上找了個施展專案練手,跟著些程式碼,但是很快就出現了問題。 一、問題描述 使用flex佈局,第一個元素樣式發生錯誤,如圖: 強迫症患者表示傷不起! 程式碼如下: HTML: <div class="type-bar"> &l
解決flex佈局中 space-between方法的排版問題
flex佈局中 justify-content: space-between方法的排版問題 flex給我們的佈局帶來了很大的方便 ,但有時候也會碰到一些問題,比如space-between最後一行元素的排列問題 問題:假如我們有8個元素 <ul>
從零開始學習HTML+CSS(4)Flex佈局中的排列與換行
0.參考網址:https://www.runoob.com/w3cnote/flex-grammar.html 1.排列 預設值:橫向排列(從左邊開始排) div { display:flex;/*設定為flex佈局*/ flex-direction:row;/*這
Flex佈局中的Flex-Grow無效問題
最近在寫專案的時候用了一個新的css屬性flex,這個屬性之前測試過了,可以用,而且看了他的相容性,直接上圖(2017-08-07) 就這個相容性,已經可以滿足大部分的主流瀏覽器了,更何況我是微信開發,近似可以看做是android Browser的相容性,那麼
flex佈局中,保持內容不超出容器的解決辦法
在移動端,flex 佈局很好用,它能夠根據裝置寬度來自動調整容器的寬度,用起來很方便,已經越來越離不開它,但是最近在做專案的時候發現一個問題。 就是在一個設定了 flex:1 的容器中,如果文字很長,這時候文字就會超出容器,而不是呆在設定好的動態剩餘的空間中。
flex佈局中align-items 和align-content的區別
看了很多翻譯的技術文件,這一塊都講得模糊不清,看到stackoverflow上有人提問後的回答覺得十分清晰,特來分享,有不當之處歡迎指正。 align-items The align-items property applies to all fl
css---flex佈局中,如何響應式 得水平垂直居中?flex子元素左右 上下居中
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <st
概述flex佈局中align-items 和align-content的區別
align-items屬性適用於所有的flex容器,它是用來設定每個flex元素在側軸上的預設對齊方式。 align-content屬性只適用於多行的flex容器,並且當側軸上有多餘空間使flex容器內的flex線對齊。 align-items和align-con
CSS中flex佈局中align-items 和align-content的區別
align-items屬性適用於所有的flex容器,它是用來讓每一個單行的容器居中而不是讓整個容器居中。單行時候垂直居中使用align-items: center; align-content屬性只適用於多行的flex容器,並且當側軸上有多餘空間使flex容器內的flex
flex佈局中對齊專案和對齊內容的區別
(效果的話直接去看最下面的圖)對齊項 align-items屬性適用於所有Flex容器,並設定Flex專案沿著每條flex 線的交叉軸的預設對齊方式。 對齊項屬性適用於所有的柔性容器,它是用來設定每個柔性元素在側軸上的預設對齊方式。 還有一位回答者的回答也很好,如
flex佈局中flex-grow與flex-shrink的計算方式
CSS 中的 Flex(彈性佈局) 可以很靈活的控制網頁的佈局,其中決定 Flex 佈局內專案寬度/高度的是三個屬性: flex-basis, flex-grow, flex-shrink. flex-basis flex-basis 決定了專案佔據主軸的空間,除非使用 box-sizing 進行設定
聊聊Flexbox佈局中的flex的演演算法
到目前為止,Flexbox佈局應該是目前最流行的佈局方式之一了。而Flexbox佈局的最大特性就是讓Flex專案可伸縮,也就是讓Flex專案的寬度和高度可以自動填充Flex容器剩餘的空間或者縮小Flex專案適配Flex容器不足的寬度。而這一切都是依賴於Flexbox屬性中的flex屬性來完成。一個Flex容器
CSS3中flex佈局
Flex是Flexible Box的縮寫,意為“彈性佈局”,用來為盒狀模型提供最大的靈活性。設為Flex佈局以後,子元素的float、clear和vertical-align屬性將失效。它既可以應用於容器中,也可以應用於行業元素。 基本概念 採用Flex佈局的元素,稱為Flex容器(fl
css3 display:flex;(flex佈局)+img標籤在div中水平垂直居中
img標籤在div中水平垂直居中--兩種實現方式 第一種方式: text-align:center; vertical-align:middle; div{ text-align: center; vertic
flex佈局之flex-basis採坑
場景: 容器設定為display: flex,容器裡的子專案部分設定 flex: auto,子專案的寬高自適應正常,但如果再往子專案裡巢狀一個(如:div),並設定高度(如:height: 100%),發現該元素高度不符合預期。 原始碼: <!DOCTYPE html> <h
CSS中的Flex佈局
在瞭解Flex佈局前我們先看一看傳統的佈局: 佈局的傳統解決方案,基於盒子模型,依賴 display 屬性 + position 屬性 + float屬性。它對於那些特殊佈局非常不方便,比如,垂直居中就不容易實現 下面就該Flex佈局登場了: 2009年,W3C 提出
css3 display:flex;(flex佈局)+img標籤在div中水平垂直居中
第一種方式: text-align:center; vertical-align:middle; div{ text-align: center; vertical-align:middle;w
Qt與vs編寫的dll通訊遇中的坑
一、前言: 因為實際開發過程中遇到Qt呼叫vs編寫的sdk,故用vs封裝成純C++的dll提供Qt使用,因為懶得遷移整個工程到Qt環境,畢竟沒學過Qt,光是搭建環境,怎麼使用creator就很多時間折騰了,時間成本很高。 二、新建vs的dll 1、生成dll、
淺談CSS3中的部分屬性——flex佈局
display:Flex 簡介: flex是Flexible Box的縮寫,即“彈性佈局” 設定display:flex;屬性後,子元素的float,clear和vertical-align屬性將不再起作用 此屬性既適用於塊級元素也適用於行內元素 概念
css筆記:在flex佈局和table-cell佈局中實現居中對齊的辦法
當使用 flex 佈局時,justify-content 表示主軸方向的位置佈局,align-items 表示從軸方向的佈局,text-align 表示文字佈局。 主、從軸方向佈局有三種:flex-start、center、flex-end。 可以通過fle