1. 程式人生 > >CSS3 知識點總結

CSS3 知識點總結

邊框的知識點:

1.border-radius:

border-radius設定的值越大,弧度越大,可以用具體數值10px來設定,也可以用20% 百分比來設定;你也可以只設置一個或其中幾個角的弧度,就像這樣:

div{
        width:100px;
        height: 100px;
        border:1px solid #333;
        /*border-radius: 20px;*/
        border-bottom-right-radius: 20px;
    }

2.box-shadow:

用來設定一個下拉陰影得框,語法如下:
box-shadow: h-shadow v-shadow blur spread color inset;

說明
h-shadow 必須的,表示水平陰影的位置,負值表示反方向的
v-shadow 必須的,表示豎直陰影的位置,負值同樣表示反方向
blur 可選的,表示模糊程度,越大越模糊
spread 可選,陰影的大小
color 可選,顏色
inset 可選。從外層的陰影(開始時)改變陰影內側陰影

背景知識點:

background-image:

div{
        width: 200px;
        height: 200px;
        /*可以新增多個背景圖*/
        /*設定url*/
background-image:url(img1.png),url(img2.png); /*設定位置*/ background-position: 100px 50px,left top; /*是否重複*/ background-repeat: no-repeat,repeat; }

還可以寫一塊

div{
    background:url(img1.png) 10px 20px no-repeat,url(img2.png) left top repeat;
}

background-size:

用於定義背景圖片的大小:

div{
    background:url(logo.png);
    /*這裡還可以用百分比 100% 100%表示填充整個區域*/
    background-size:80px 50px;
    background-repeat:no-repeat;
}

background-origin:

background-Origin屬性指定了背景影象的位置區域。
content-box, padding-box,和 border-box區域內可以放置背景影象。

background-clip:

CSS3中background-clip背景剪裁屬性是從指定位置開始繪製。

文字效果:

text-shadow:

新增文字陰影,類似於box-shadow;

文字溢位處理:

white-space:nowrap;//強制不換行
text-overflow:ellipsis;//超出部分用…顯示
text-overflow:clip;//超出剪下掉
word-wrap:break-word;//允許長文字換行
word-break:break-all;//允許拆分換行
word-break:keep-all;//不允許拆分換行

字型

@font-face{
        /*testFont值的就是你自定義的字型的名稱,最好是使用你下載的預設字型名稱,它將被引用到你後面的font-family:testFont;*/
        font-family:"testFont";
        /*自定義字型檔案得路徑,可以是相對路徑也可以是絕對路徑*/
        src:url("Pokemon Hollow.ttf");
        /*是否加粗*/
        font-weight: normal;
        /*字型樣式*/
        font-style: normal;
    }
    p{font-family: testFont;}

2D轉換

transform:translate(50px,100px):

translate()方法,根據左(X軸)和頂部(Y軸)位置給定的引數,從當前元素位置移動。

transform:rotate(30deg);

表示以中心為原點順時針旋轉30個弧度,負數表示逆時針旋轉;

transform:scale(2,3);

表示橫向和縱向增大的倍數,上面就表示橫向擴大2倍,豎向擴大3倍;

transform:skew(20deg,30deg);

表示繞x和y軸傾斜的度數;
這幾個方法(不包含rotate())都可以單獨設定在X或Y上的值;像這樣translateX(20px);

3D轉換

rotateX(30deg);rotateY(20deg);

表示繞X軸或者Y軸進行立體轉換,

過渡

tansition

1.指定要新增效果的css屬性,
2.指定效果的持續時間。
transition:width 2s,heigth 3s;
也可以分開定義;

div{
        width:200px;
        height: 200px;
        background: yellow;
        /*定義css屬性*/
        transition-property: width;
        /*定義持續時間*/
        transition-duration: 1s;
        /*定義時間曲線,預設是ease*/
        transition-timing-function: linear;
        /*定義延遲時間*/
        transition-delay: 2s;
    }

動畫

@keyframes 規則:

@keyframes規則是建立動畫。 @keyframes規則內指定一個CSS樣式和動畫將逐步從目前的樣式更改為新的樣式。

css3動畫

動畫是使元素從一種樣式逐漸變化為另一種樣式的效果。您可以改變任意多的樣式任意多的次數。請用百分比來規定變化發生的時間,或用關鍵詞 “from” 和 “to”,等同於 0% 和 100%。0% 是動畫的開始,100% 是動畫的完成。為了得到最佳的瀏覽器支援,您應該始終定義 0% 和 100% 選擇器。

@keyframes myfirst
{
    0%   {background: red; left:0px; top:0px;}
    25%  {background: yellow; left:200px; top:0px;}
    50%  {background: blue; left:200px; top:200px;}
    75%  {background: green; left:0px; top:200px;}
    100% {background: red; left:0px; top:0px;}
}
div{
    width:300px;
    height: 300px;
    /*定義動畫名稱*/
    animation-name: myfirst;
    /*執行時間*/
    animation-duration: 5s;
    /*執行的時間曲線 預設是ease*/
    animation-timing-function: linear;
    /*延遲時間*/
    animation-delay: 2s;
    /*執行的次數 預設是1*/
    animation-iteration-count: infinite;
    /*是否在下一週逆向播放*/
    animation-direction: alternate;
    /*是否正在執行或暫停*/
    animation-play-state: running;
}
div
{
    animation: myfirst 5s linear 2s infinite alternate;
}