【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屬性
