CSS3動畫屬性和flex彈性布局各個屬性


【CSS3動畫的使用】
1.聲明一個關鍵幀(動畫):
@keynames name{
from{}
to{}

每個階段的寫法:
①可以直接使用from-to的寫法
②可以設置0%-100%的寫法,但開頭和結尾必須是0%和100%
2.在CSS選擇器中使用animation屬性調用聲明好的動畫:
【animation的縮寫形式】
順序如下:
Animation-name:動畫名稱,就是我們聲明的關鍵幀name。
Animation-duration:動畫持續時間。
Animation-timing-function:動畫速度曲線,常用ease。
Animation-delay:動畫開始的時間,延遲,infinite表示循環播放無限次。
Animation-iteration-count:動畫播放次數,默認為1。
Animation-direction:動畫在下一個是否逆向播放,默認為normal(表示不進行逆序播放),
alternate(動畫逆序播放)。
Animation-fill-mode:表示動畫結束后,停留在何種狀態,要想使用此屬性,動畫的執行次數必須是有限次。
屬性值包括:forwars表示停留在動畫結束狀態,backwarks:表示動畫停留在初始狀態(默認效果)。
Animation-name和 Animation-duration必須要選,其他屬性選填。
Animation可以設置多個動畫,多個動畫之間用逗號隔開
如:animation:frame1 1s,frame2 2s......

 

 

 

給行級元素設置絕對定位可以讓行級元素變為塊級元素。

1.固定布局(固定寬度高度)
2.流體布局(百分比)
3.彈性布局(Flex布局):display:flex;
容器即為父元素,項目即為布局中的子元素

Flex彈性布局:
①了解兩個基本概念:
容器:需要添加彈性布局的父元素。
項目:彈性布局容器中的每一個子元素成為項目。

②彈性布局的使用
1.給父容器添加display:flex/inline-flex屬性;即可使容器內容采用彈性布局顯示,而不遵循常規文檔流的顯示方式。
2.容器添加彈性布局后,僅僅是容器內采用彈性布局,而容器自身在文檔流中的定位方式依然遵循常規文檔流。
3.display:flex;容器添加彈性布局后,顯示為塊級元素;
display:inline-flex;容器添加彈性布局后,顯示為行級元素。
注意:設為flex布局后,子元素的float,clear,vertical-align等屬性將會失效,但position屬性依然生效

③作用於容器的相關屬性:
1.flex-direction屬性決定主軸的方向(即項目的排列方向)。
row(默認值):主軸為水平方向,起點在左端。


row-reverse:主軸為水平方向,起點在右端。


column:主軸為垂直方向,起點在上沿。


column-reverse:主軸為垂直方向,起點在下沿。


2.flex-wrap屬性定義,如果一條軸線排不下,如何換行。
nowrap(默認):不換行。當容器寬度不夠時,每個項目會被擠壓寬度。


wrap:換行,並且第一行在容器最上方。


wrap-reverse:換行且反轉,第一行在最下方


3.flex-flow: row wrap;是 flex-direction和flex-wrap的縮寫形式,默認值為 row wrap。
4.justify-content屬性定義了項目在主軸上的對齊方式。
注意:此屬性與主軸方向息息相關,比如主軸方向為:row-起點在左邊;row-reverse-起點在右邊;
column-起點在上邊;column-reverse-起點在下邊
flex-start(默認值):項目位於主軸起點


flex-end:項目位於主軸終點


center: 居中


space-between:兩端對齊,項目之間的間隔都相等。(開頭和最后的項目與父容器的邊緣沒有間隔)


space-around:每個項目兩側的間隔相等。所以,項目之間的間隔比項目與邊框的間隔大一倍。(開頭和最后的項目,與
父容器邊緣有一定間隔)


5.align-items屬性定義項目在交叉軸上如何對齊。
flex-start:交叉軸的起點對齊。


flex-end:交叉軸的終點對齊。


center:交叉軸的中點對齊。


baseline: 項目的第一行文字的基線對齊。(文字的行高以及字體的大小會影響每行的基線)


stretch(默認值):如果項目未設置高度或設為auto,將占滿整個容器的高度。


6.align-content屬性定義了多根軸線的對齊方式。如果項目只有一根軸線,該屬性不起作用。
(當項目換為多行時,可使用align-content取代align-items)。
flex-start:與交叉軸的起點對齊。


flex-end:與交叉軸的終點對齊。


center:與交叉軸的中點對齊。


space-between:與交叉軸兩端對齊,軸線之間的間隔平均分布。


space-around:每根軸線兩側的間隔都相等。所以,軸線之間的間隔比軸線與邊框的間隔大一倍。


stretch(默認值):軸線占滿整個交叉軸。
+.


④作用於項目上的屬性:
order屬性:定義項目的排列順序。數值越小,排列越靠前,默認為0。

flex-grow屬性定義項目的放大比例,默認為0,即如果存在剩余空間,也不放大。

flex-shrink屬性定義了項目的縮小比例,默認為1,即如果空間不足,該項目將縮小。

flex-basis定義項目占據的主軸空間。(如果主軸為水平,則設置這個屬性,相當於項目的寬度,原width將會失效)

flex屬性是flex-grow, flex-shrink 和 flex-basis的簡寫,默認值為0 1 auto。后兩個屬性可選。
這個屬性有兩個快捷設置方法:auto=(1,1,auto)/none=(0,0,auto)

align-self作用是:
定義單個項目自身在交叉軸上的排列方式,可以覆蓋掉容器上的align-item屬性,屬性值與align-item相同,
默認值為auto,表示繼承父容器的align-item屬性


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM