日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > CSS >内容正文

CSS

CSS3 FlexBox布局入门简析

發布時間:2023/12/9 CSS 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CSS3 FlexBox布局入门简析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

你們還在僅僅使用塊、行內、表格、定位等傳統布局方式進行網頁的布局嗎?
告訴你們一個新的布局模式,CSS3中新引入的FlexBox布局,布局方式十分靈活,含有優秀和驚奇的新特性,而且在主流瀏覽器上的兼容也不錯,是新布局方式的首選。
下面說一下。


FlexBox簡介

FlexBox布局,全稱“CSS Flexible Box Layout Module”,即伸縮布局盒,目的在于提供一個更好更有效的布局方式,用來控制項目的對齊和自由分配容器空間。


基礎術語

FlexBox和CSS3的其它屬性不太一樣,它是一個模塊,并非一個屬性,其中包含多個CSS3 屬性。

看一下基礎術語概念圖:


瀏覽器支持

可以看到對于瀏覽器的支持率很好,使用率也達到了90%以上。

瀏覽器的支持:

  • Chrome any
  • Firefox any
  • Safari any
  • Opera 12.1+
  • IE 10+
  • iOS any
  • Android any

歷史

FlexBox從2009年7月W3C工作草案,一直到現在,話法規范主要分為以下三個版本規范:

  • 舊版本: 2009年版本,使用display:box和display:inline-box
  • 混合版本: 2011年版本,使用display:flexbox和display:inline-flexbox
  • 新版本:使用display:flex和display:inline-flex

所以為了讓各類瀏覽器可以全部兼容,我們至少要寫上面這三種版本的相應語法。


各屬性說明


display

用于定義FlexBox容器。

.container {display: flex; /* or inline-flex */ }


flex-direction

用來設置主軸排列方向。

.container {flex-direction: row | row-reverse | column | column-reverse; }


flex-wrap

用于設置換行,默認nowrap。

.container{flex-wrap: nowrap | wrap | wrap-reverse; }


flex-flow

是flex-direction和flex-wrap兩個屬性的合并縮寫。

flex-flow: <‘flex-direction’> || <‘flex-wrap’>

justify-content

設置主軸的對齊方式。

.container {justify-content: flex-start | flex-end | center | space-between | space-around; }


align-items

設置側軸的對齊方式。

.container {align-items: flex-start | flex-end | center | baseline | stretch; }


align-content

多行時,側軸的對齊方式。

.container {align-content: flex-start | flex-end | center | space-between | space-around | stretch; }


order

排序序號。

.item {order: <integer>; }


flex-grow

設置項目的擴展比例。

.item {flex-grow: <number>; /* default 0 */ }

flex-shrink

設置項目的縮小比例。

.item {flex-shrink: <number>; /* default 1 */ }

flex-basis

定義Flex項目在分配Flex容器剩余空間之前的一個默認尺寸。

.item {flex-basis: <length> | auto; /* default auto */ }

如果設置為0,內容不在考慮周圍額外空間。如果設置為auto,額外空間會基于flex-grow值做分布。如下圖所示:


flex

flex是flex-grow,flex-shrink和flex-basis三個屬性的縮寫。第二個和第三個參數(flex-shrink和flex-basis)是可選值。其默認值是0 1 auto。

.item {flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ] }


align-self

用來在單獨的伸縮項目上覆寫默認的對齊方式

.item {align-self: auto | flex-start | flex-end | center | baseline | stretch; }


概要圖


前綴腳本工具

關于編寫各個不同兼容版本的前綴代碼,可以使用autoprefixer腳本,這個腳本會解析CSS文件并且添加瀏覽器前綴到CSS相應規則中。

自動前綴工具 autoprefixer


拓展資源

FlexBox屬性工具 Flexbox playground

FlexBox Games FLEXBOX FROGGY

W3C文檔 Flexbox in the CSS specifications


博客名稱:王樂平博客

博客地址:http://blog.lepingde.com

CSDN博客地址:http://blog.csdn.net/lecepin

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的CSS3 FlexBox布局入门简析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。