Vue全家桶之flex布局探秘

2020-12-16 百家號

還記得我們曾經使用float布局嗎,基於盒狀模型,依賴 display屬性 + position屬性 + float屬性,對於複雜的布局,真的沒法下手,而且導致頁面兼容性不好,很難做到滿意的效果,時常為了居中絞盡腦汁,左邊距、右邊距、上邊距、下邊距、居中對齊、都設置了也沒什麼卵用;發現真的好亂

頭都大了額

然而,科技是進步的,總有一天有一個救世主來了,讓我們從此不再煩惱樣式布局,2009年,W3C提出了一種新的方案—-Flex布局,使用起來非常簡單,而且目前得到所有瀏覽器的支持,我們大可以放心大膽的使用,再也不用擔心兼容問題了(當然有些可能需要)。那我們就來認識一下她吧:

一、Flex是什麼東東

Flex是Flexible Box的縮寫,意為」彈性布局」,她可以為傳統的盒子布局提供最大的靈活性,並且任何東西都可以設置,行內元素也可以,只需要設置display:flex或者inline-flex;需要注意的是,如果是webkit內核的瀏覽器,需要加上前綴:-webkit,不過我們使用webpack打包,所以就不存在這樣的問題,它會為我們自動添加瀏覽器前綴;還有一點,設置了flex布局之後,其子元素的float、clear、vertical-align屬性都將不起作用。

在使用flex布局之前,我們需要了解一些概念:

a、設置了flex布局之後,包裹在其中的子元素自動成為flex容器的子成員

b、flex容器有兩個軸線,水平軸和垂直軸

c、默認按水平方向排列

基本概念

二、開始使用

了解了基本概念之後,我們就要用flex布局了,如何設置呢?那就需要我們了解flex的樣式屬性;flex的樣式屬性分為兩種,一個是作用在容器上的,即設置為flex的元素,一個是作用在成員上的:

總共有六個:flex-direction、flex-wrap、flex-flow、justify-content、align-items、align-content

flex-direction:設置容器排列方向,默認主軸即水平方向;

排列方向

flex-wrap:元素換行,即子元素在軸線上放不下時是否換行以及如何換行

換行

flex-flow:flex-direction和flex-wrap的簡寫

justify-content:主軸的對齊方式,不一定是水平軸,由flex-direction指定

主軸對齊方式

align-items:交叉軸對齊方式

交叉軸對齊方式

align-content:多軸對齊方式,只有一軸的時候沒有效果

三、元素屬性

為每一個成員設置單獨屬性:order、flex-grow、flex-shrink、flex-basis、flex、align-self

order:順序,從小到大,值越小,排列越靠前

排序

flex-grow:放大比例,默認不放大,在自動撐開時需要

flex-shrink:縮放,是否在空間不足時縮放

flex-basis:主軸上默認空間,和最小寬度一個意思

縮放自增

flex:flex-grow、flex-shrink、flex-basis的簡寫

align-self:自身對齊方式

我們不一樣

到此,flex就介紹完了,最後開心一笑:

女同事:「你看咱單位,哪有美女啊?」

我:「你照照鏡子就知道了。」

女同事:「討厭。。。」

我:「然後你看誰都是美女了。」

女同事:。。。。。

相關焦點

  • Vue全家桶&vue-router原理
    // Vue2學習 第1篇  // 正文:1017字// 預計閱讀時間:8 分鐘前言 每天一點點,堅持學習Vue全家桶之vue-router原理 Vue全家桶:vue + vue-router(路由)+ vuex(狀態管理)+ axios(請求)本次主要分析並實現簡版vue-router
  • 手寫自己的Vue全家桶之kvue-router
    學習Vue的全家桶vue-router
  • Vue全家桶使用免費內網穿透工具, 無需伺服器讓外網直接訪問
    Vue全家桶使用免費穿透工具, 無需伺服器讓外網直接訪問 Vue全家桶穿透認準穿透工具 網雲穿-最簡單易用的內網穿透軟體,最簡潔教程一鍵穿透網站
  • 2018尚矽谷Vue技術全家桶視頻教程發布
    vue技術全家桶
  • CSS基礎之Flex布局面面觀
    但是利用另外一種布局方式,要實現垂直就中,一行代碼就搞定了,這種新的布局方式就是Flex彈性盒子布局。Flex 即 Flexible Box ,用來為盒狀模型提供最大的靈活性,顧名思義稱為」彈性布局」。
  • 3分鐘精通flex布局 - flex布局可視化學習工具
    寫在前面現在大前端中被使用最多的布局方式非flex莫屬,像h5、pc、小程序、rn、甚至native都在使用flex布局,可見掌握好flex布局是多的重要。然而在flex布局興起時,我們學習flex布局的方法大部分就是看一些博客文章的解析,官方文檔說明,然後挨個去看各個屬性的作用和示例,然後再自己手敲實踐幾次。這也是我當初學習flex布局的方法,常規手段,也很有效。如果愣是要說一些不足的地方,應該就是不直觀,效率不太高。
  • 微信小程序CSS之Flex布局
    css相信剛開始學習開發小程序的初學者一定對界面的布局很困擾,不知道怎麼布局,怎麼擺放位置,其原因是不了解CSS樣式的屬性,所以,今天代碼君打算寫一篇關於CSS的教程,給大家普及一下。說起CSS布局,首先要講解的就是FLex布局,這個可以說是一個萬能鑰匙,遇到什麼複雜的布局,都可以通過Flex布局搞定,為了方便大家理解Flex屬性,我將會一步步解析FLex的屬性,並附上效果圖採用 Flex 布局的元素,稱為 Flex 容器(flex container),簡稱"容器"。
  • 小程序Flex布局
    position:relative,相對布局 相對自己布局 left:50px,top:50px (自己居左居上各50px)position:absolute,絕對布局 找近的一個已定位的父級元素進行定位
  • Vue.js布局
    動態Vue.js布局組件前言vue.js是漸進增強的視圖庫,可以作為.html頁面部分使用,也可以結合vue-router、vuex、axios用來構建單頁面或多頁面應用。
  • Flex布局容器的屬性有哪些?
    flex是Flexible Box的縮寫,意思為「彈性布局」,在使用過程中簡單、易用、代碼較少,在製作網頁的時候經常使用這種方法來進行布局。在使用的過程中任何一個容器都可以指定為Flex布局.{display:flex},行內元素也可以使用Flex布局.box{display:inline-flex;}。當我們將容器設置為Flex布局以後,容器當中的子元素的float、clear等屬性會失效。採用Flex布局的元素,稱為Flex容器,他的所有子元素自動成為容器成員,稱為Flex項目。
  • 探秘 flex 上下文中神奇的自動 margin
    布局,我們業務中需求中更多的可能是使用 flex 布局,下文將著重圍繞 flex 上下文中自動 margin 的一些表現。嗯,也有很多前端被戲稱為 flex 工程師,什麼布局都 flex 一把梭。查看 CSS 文檔,原因如下,在 dispaly: flex 下:CSS Flexible Box Layout Module Level 1 -- 8.1.
  • 快速掌握 Vue3 全家桶開發
    -- 父組件 --><template> <my-test></my-test></template><script>import { provide } from "vue";import MyTest from '.
  • 史上最全:Vue 相關開源項目庫匯總
    ★205 - vue圖片剪裁上傳組件Vueditor ★204 - 所見即所得的編輯器mint-loadmore ★203 - VueJS的雙向下拉刷新組件vue-slider-component ★202 - 在vue1和vue2中使用滑塊vue-chat ★200 - Vue全家桶+Socket.io+Express/Koa2打造一個智能聊天
  • 前端教程:flex布局(攜程網首頁案例製作)
    今日內容flex 布局體驗 flex 布局原理flex 布局父項常見屬性flex布局子項常見屬性>攜程網首頁案例製作傳統布局兼容性好布局繁瑣局限性,不能再移動端很好的布局flex布局>操作方便,布局極其簡單,移動端使用比較廣泛pc端瀏覽器支持情況比較差別名 伸縮布局 彈性布局當我們為父盒子設為 flex 布局以後,子元素的 float、clear 和 vertical-align 屬性將失效
  • 在H5開發中flex布局方式的屬性詳解
    flex 是 flexible Box 的縮寫,意為"彈性布局",用來為盒狀模型提供最大的靈活性,任何一個容器都可以指定為 flex 布局 ,不管你是塊元素還是行內元素都將被改變成盒狀模型 ,可以直接改變盒子大小.
  • 2020年了,FLEX布局還搞不定麼
    閱讀本文您將收穫布局的相關概念Flex布局的相關屬性面試中常問的Flex相關知識為啥要Flex布局?因為貪婪!在網頁布局還未進入CSS時代的時候,布局往往通過 <table> 標籤來實現伴隨著 Web語義化 時代的到來,人們不滿足於簡單的 table 布局,開始琢磨新花樣CSS標準 為我們提供了三種基本的布局方式:標準流、浮動布局、定位布局隨著技術和人們對美的需求的發展,傳統的布局顯得不夠靈活,所以就出現了今天要講的 flex 布局Flex布局基本概念2009
  • CSS的flex布局,看完這篇你就懂了
    每一個項目都離不開前端的網頁布局,網頁布局也是CSS一個重點應用,系統來說,頁面的布局都應該由前端來完成,不過作為後端人員,一些簡單的樣式就不需要依賴前端人員了。傳統的布局,都是基於盒子模型,依賴float、position定位,它對於一些特殊的布局非常不方便,比如,垂直居中。相信很多小夥伴對於垂直居中有些困擾吧。
  • flex布局 一行3個專題及常見問題 - CSDN
    網頁布局(layout)是 CSS 的一個重點應用。布局的傳統解決方案,基於盒狀模型,依賴 display 屬性 + position屬性 + float屬性。它對於那些特殊布局非常不方便,比如,垂直居中就不容易實現。
  • Chrome72 嵌套 flex 布局修改,你的網站可能會發生布局錯亂
    起源2019 年 1 月 29 日,Chrome72 正式版(72.0.3626.81)發布,本次發布帶來了一個改變,且沒有在更新日誌中提及,該改變導致某些網站發生了布局錯亂。該改變主要針對的是嵌套的flex布局,下面我們一起看下是怎麼回事。
  • flex布局實現瀑布流專題及常見問題 - CSDN
    瀑布流的布局自我感覺還是很吸引人的,最近又看到實現瀑布流這個做法,在這裡記錄下,特別的,感覺flex布局實現瀑布流還是有點懵的樣子,不過現在就可以明白它的原理了1.multi-column多列布局實現瀑布流先簡單的講下multi-column相關的部分屬性column-count