1. 程式人生 > >css3知識總結

css3知識總結

yellow ans 增加 保存 str container mage ram hit

邊框

|---盒子圓角 border-radius

|---盒子陰影 box-shadow:

背景

|---引入背景 background-image

|---背景尺寸 background-size

|---背景平鋪 background-repeat

|---背景位置

|-----位置定位1(background-origin)

|------根據文本位置:content-box

|------根據邊框位置:border-box

|------根據內邊距位置:padding-box

|------使用這個屬性,必須設置背景為no-repeat

|-----位置定位2(background-position)

|------ top rihgt bottom left;background-position:距左多少 距右多少

|---多重背景:逗號分割:background-image:url(images/bg_flower.gif), url(images/border.png);

background-repeat:no-repeat;

文字

|---文本陰影:text-shadow:三個值:分別代表距離左側、距離上側、陰影顏色 陰影會顯示文字

text-shadow:四個值:分別代表距離左側、距離上側、模糊程度及陰影顏色

|---文本溢出屬性

|-----overflow: hidden; white-space:nowrap;讓文本強制不換行 要先設置這兩個屬性

|-----text-overflow

|------clip:修剪文本。

|------ellipsis:顯示省略符號來代表被修剪的文本

|------自定義(string):自己定義符號,給定的字符串來代表被修剪的文本

|---文本換行屬性 word-break:

|-----word-break:break-all 內容長度到200px時自動換行。如果最後是一個完整的長單詞,它會把單詞截斷

|-----word-break:break-word; 會把句末單詞完整的放到下一行的開頭

顏色之RGBA與透明度opcity

|---R:紅 G:綠 B:藍 alpha:透明度的參數

|---RGB的取值範圍是0~255/0~100% alpha的取值範圍是0~1 不可為負值

|---透明度 opcity:取值範圍0~1

漸變顏色

|---background-image: linear-gradient(to bottom,#fff,red);

|---說明:參數說明:第一個參數指定漸變方向 to top,to bottom,to right,to left,to top left......
第二和第三個參數:是指定開始與結束的顏色值 可以有多個顏色background-image: linear-gradient(to bottom,#fff,black,red);

旋轉

|---2D

|-----transform:

|------rotate()——進行旋轉,括號內部寫旋轉角度,默認順時針旋轉.允許負值,元素將進行逆時針旋轉

|------translate()——從當前位置進行移動,括號內為x,y值。允許負值,將反方向移動
transform:translate(30px,30px):向右30px,向下30px移動,原來位置保存

|------scale()——改變原始尺寸,按照倍數變化,括號內為width、height的倍數
transform:scale(2,4):寬度變為2倍,高度變為4倍

|------skew()——水平、垂直方向進行扭轉,括號內是水平扭轉角度、垂直扭轉角度
transform:skew(30deg,0deg);將橫向扭轉30度的div,內部文字會跟隨扭轉
transform:skew(0deg,30deg);將縱向扭轉30度的div,內部文字會跟隨扭轉
transform:skew(30deg,30deg);將橫向扭轉30度、縱向扭轉30度的div,內部文字會跟隨扭轉

|---3D

|-----transform

|------rotateX()——沿水平X軸進行垂直的翻轉,括號內寫轉動度數

|------rotateY()——沿垂直Y軸進行水平的翻轉,括號內寫轉動度數

|---2D與3D的區別

|-----2D轉換跟3D轉換的區別:2D轉換僅僅在於平面,文字可以看出並沒有反過來
3D轉換是相當於鏡面效果的,進行了前後空間(涉及到了Z軸)的占用進行的翻轉。

過度

|---transition:專門應對顏色、長度、寬度、位置等變化的過渡

               #aaa{
            width:200px;
            height: 200px;
            border: 1px solid red;
            transition:2s;
        }
        #aaa:hover{
            width: 500px;
        }

效果是鼠標移上之後框會有過程放大

動畫

|---1、@keyframes規則用於創建動畫。在@keyframes中規定某項CSS樣式,就能創建由當前樣式逐漸改為新樣式的動畫效果
2、使用animation進行動畫捆綁。兩個值:動畫名稱、時長
3、我們一般情況下使用0%~100%來規定動畫發生的時機。或者使用關鍵詞from...to...,效果等同於0%~100%。
4、加上一個infinite值就可以無限執行了
5、ease——默認開始慢慢加速,結束時慢慢減速。
linear——默認始終使用相同速度運行。
alternate——交替執行(也可以成為正反執行)

div{
    width:300px;
    height:300px;
    background:black;
    position:relative;/*由於需要進行位置改變,所以增加了position屬性*/
    animation:myfirst 5s infinite alternate;/*動畫捆綁,兩個值,動畫名稱、時長,加上一個無限執行,交替執行*/
}
@keyframes myfirst
{/*改變位置和背景顏色*/
0%   {background:red; border-radius:90px; box-shadow:-35px 0px 15px gray; left:0px; top:0px;}
25%  {background:yellow; border-radius:0px; left:400px; top:0px;}
50%  {background:blue; border-radius:90px; left:400px; top:300px;}
75%  {background:green; border-radius:0px; box-shadow:0px 30px 15px gray; left:0px; top:300px;}
100% {background:red; border-radius:20px; left:0px; top:0px;}
}

彈性盒子

|--- CSS3 的一種新的布局模式。

|----- display: flex;考慮瀏覽器兼容問題:定義為彈性盒子

|-----彈性子元素在父容器中的位置排列(橫向、縱向)

|------flex-direction

|------- row:橫向從左到右排列(左對齊),默認的排列方式。

|------- row-reverse:反轉橫向排列(右對齊,從後往前排,最後一項排在最前面。

|------- column:縱向排列。

|-------column-reverse:反轉縱向排列,從後往前排,最後一項排在最上面。

|-----彈性盒子的子元素換行方式

|------flex-wrap:nowrap - 默認, 彈性容器為單行。該情況下彈性子項可能會溢出容器。
wrap - 彈性容器為多行。該情況下彈性子項溢出的部分會被放置到新行,子項內部會發生斷行
wrap-reverse -反轉 wrap 排列

|-----彈性子元素在父容器中的對齊方式

|------橫向對齊:justify-content:

|------縱向對其:align-items:

|-----彈性子元素如何分配空間

|------flex:

.flex-container {
    display: flex;
    width: 400px;
    height: 250px;
}
.item1 {
    flex: 2;
}

.item2 {
    flex: 1;
}

.item3 {
    flex: 1;
}

|-----子元素的屬性

|------排序:order

|------邊距:margin

|------縱軸對齊方式:align-self

css3知識總結