CSS3常用屬性及效果匯總


 

 

 

本文轉載於《https://blog.csdn.net/lyznice/article/details/54575905

一、2D效果屬性

要使用這些屬性,我們需要通過 transform ,並且,為了保證兼容性,我們可能還需要添加帶有瀏覽器內核前綴的屬性,比如 -webkit-transform。

1、位移屬性 translate( x , y )

1、border-radius的值可以為絕對單位px,和相對單位em,rem,也可以為百分比,值越大,弧度越大。 
2、屬性值位數不同時,表現也不同,具體可以參考圖片。 
3、你也可以設置單個角的弧度,比如border-top-right-radius:5px;border-bottom-left-radius:5px。

 

1.2 box-shadow 陰影

 

 

1、box-shadow: X軸偏移值 Y軸偏移值 X軸陰影模糊半徑 Y軸陰影模糊半徑 陰影顏色; 
2、其中,X軸和Y軸的偏移值可以為負,但不能共用一個,X軸和Y軸的陰影半徑可以共用一個,但是不能為負。 
3、還需要注意的是,陰影模糊半徑是可以不寫的,比如box-shadow:10px 10px #ccc;這樣,仍然會有陰影,但是就失去了這種模糊朦朧的效果,立體感也大大減弱了,一般不會這么使用。

 

1.3 box-sizing 屬性允許你以特定的方式定義匹配某個區域的特定元素,這話有點繞口,我們結合圖來說明。

box-sizing:content-box/border-box/inherit
盒模型基本結構如圖,當我們設置了寬高,使用了box-sizing屬性, 
屬性值為content-box時,寬高的值為content的寬高; 
屬性值為border-box時(事實上我們比較常用的就是這個),寬高的值為border+padding+content也就是整個盒模型的寬高; 
屬性值為inherit時,則從父元素繼承box-sizing的值。

 

二、背景

CSS3中,我們對背景有了更強的控制

2.1 background-image

跟以前不同的是,我們通過background-image來為一個元素添加多張圖片,讓我們結合代碼和效果圖來看一下。

<div class="box"></div>/*右下角的小圖為bg_flower.gif*/

 

.box{
    height: 500px;
    width: 800px;
    margin: 0 auto;
    margin-top: 100px;
    background-image: url(img/bg_flower.gif), url(img/2.jpg);/*寫在前面的背景圖會在上面*/
    background-position: right bottom, left top;/*默認為left top*/
    background-repeat: no-repeat, repeat;/*默認為repeat*/
}

 

2.2 background-size 調整背景圖片的大小

屬性值可以為實際單位,也可以是百分比。

  

.box{
    background-size:60px 100px;/*寬,高*/
    background-size:60% 100%;
}

 

2.3 background-origin 規定背景圖片的定位區域

background-origin: content-box / padding-box / border-box ; 
下圖中,綠色的是邊框,黃色的是padding+content區域。

 

 

<div class="box1"></div>
<div class="box2"></div>
<div class="box3"></div>

  

div{
    float:left;
    margin:30px;
    width: 120px;
    height: 150px;
    background: yellow;
    border: 20px solid green;
    padding: 20px;
    background-image: url(img/bg_flower.gif);
    background-repeat: no-repeat;
}
.box1{
    background-origin:content-box;
}
.box2{

    background-origin:padding-box;
}
.box3{
    background-origin:border-box;
}

 

 

2.4 background-clip 規定背景的繪制區域

background-clip: content-box / padding-box / border-box ;

  

<div class="box1">啦啦啦啦,德瑪西亞。啦啦啦啦,劍聖偷塔。啦啦啦啦,我要回家。啦啦啦啦,下雨不怕。啊啊!</div>
<div class="box2">啦啦啦啦,德瑪西亞。啦啦啦啦,劍聖偷塔。啦啦啦啦,我要回家。啦啦啦啦,下雨不怕。啊啊!</div>
<div class="box3">啦啦啦啦,德瑪西亞。啦啦啦啦,劍聖偷塔。啦啦啦啦,我要回家。啦啦啦啦,下雨不怕。啊啊!</div>
div{
    float:left;
    margin:30px;
    width: 120px;
    height: 150px;
    background: yellow;
    border: 20px solid rgba(0, 0, 0, 0.1);
    padding: 20px;
}
.box1{
    background-clip:content-box;
}
.box2{

    background-clip:padding-box;
}
.box3{
    background-clip:border-box;
}

 

2.5 linear-gradient 背景的顏色漸變(IE10)

CSS3 漸變(gradients)可以讓你在兩個或多個指定的顏色之間顯示平穩的過渡。以前,你必須使用圖像來實現這些效果。但是,通過使用 CSS3 漸變(gradients),你可以減少下載的事件和寬帶的使用。此外,漸變效果的元素在放大時看起來效果更好,因為漸變(gradient)是由瀏覽器生成的。 
其中顏色可以用多種表現形式,包括帶有透明度的rgba()形式

  

1) 線性漸變

 

下面讓我們來看代碼

<div class="box1"></div>
<div class="box2"></div>
<div class="box3"></div>
<div class="box4"></div>
<div class="box5"></div>
<div class="box6"></div>
div{
    float:left;
    margin:30px;
    width: 100px;
    height: 150px;
    border: 2px solid orange;
    font-size: 14px;
    line-height: 1.5;
}
.box1{/* 1、屬性值最少為兩種顏色 */
        background: -webkit-linear-gradient(red, yellow); /* Safari 5.1 - 6.0 */
        background: -o-linear-gradient(red, yellow); /* Opera 11.1 - 12.0 */
        background: -moz-linear-gradient(red, yellow); /* Firefox 3.6 - 15 */
        background: linear-gradient(red, yellow); /* 標准的語法 */
}
.box2{/* 2、可以設置顏色漸變的方向,比如從左到右 */
        background: -webkit-linear-gradient(left, green , yellow); 
        background: -o-linear-gradient(left, green, yellow); 
        background: -moz-linear-gradient(left, green, yellow); 
        background: linear-gradient(left, green , yellow);
}
.box3{/* 3、也可以沿着對角的方向漸變 */
        background: -webkit-linear-gradient(top left, blue , yellow); 
        background: -o-linear-gradient(top left, blue, yellow); 
        background: -moz-linear-gradient(top left, blue, yellow); 
        background: linear-gradient(top left, blue , yellow); 
}
.box4{/* 4、或者,我們直接用角度確定漸變的方向(12點鍾方向為0deg) */
       background: -webkit-linear-gradient(60deg, rgb(248, 182, 44), rgb(0, 159, 233)); 
       background: -o-linear-gradient(60deg, rgb(248, 182, 44), rgb(0, 159, 233)); 
       background: -moz-linear-gradient(60deg, rgb(248, 182, 44), rgb(0, 159, 233)); 
       background: linear-gradient(60deg, rgb(248, 182, 44), rgb(0, 159, 233)); 
}
.box5{/* 5、我們也可以定義多種顏色的漸變,之前的方向的設置方法不變 */
      background: -webkit-linear-gradient(45deg,red,orange,yellow,green,blue,indigo,violet);
      background: -o-linear-gradient(45deg,red,orange,yellow,green,blue,indigo,violet);
      background: -moz-linear-gradient(45deg,red,orange,yellow,green,blue,indigo,violet);
      background: linear-gradient(45deg, red,orange,yellow,green,blue,indigo,violet); 
}
.box6{/* 6、當然,漸變可以是很多次的 */
      background: -webkit-repeating-linear-gradient(red, red 10%, yellow 20%); 
      background: -o-repeating-linear-gradient(red, red 10%, yellow 20%);
      background: -moz-repeating-linear-gradient(red, red 10%, yellow 20%); 
      background: repeating-linear-gradient(red, red 10%, yellow 20%); 
}

 

2)、徑向漸變

創建一個徑向漸變,你也必須至少定義兩種顏色結點。顏色結點即你想要呈現平穩過渡的顏色。同時,你也可以指定漸變的中心、形狀(原型或橢圓形)、大小。
默認情況下,漸變的中心是 center(表示在中心點),漸變的形狀是 ellipse(表示橢圓形),漸變的大小是 farthest-corner(表示到最遠的角落)。

  

 

下面上代碼

<div class="box1"></div>
<div class="box2"></div>
<div class="box3"></div>
<div class="box4"></div>
<div class="box5"></div>
div{
    float:left;
    margin:30px;
    width: 150px;
    height: 150px;
    border: 2px solid orange;
    font-size: 14px;
    line-height: 1.5;
}
.box1{/* 1、顏色結點均勻分布(默認情況下 */
    background: -webkit-radial-gradient(red, yellow, green); /* Safari 5.1 - 6.0 */
    background: -o-radial-gradient(red, yellow, green); /* Opera 11.6 - 12.0 */
    background: -moz-radial-gradient(red, yellow, green); /* Firefox 3.6 - 15 */
    background: radial-gradient(red, yellow, green); /* 標准的語法 */
            }
.box2{/* 2、當然,對於顏色發輻射界限,我們也可以進行設置 */
    background: -webkit-radial-gradient(red 5%, yellow 15%, green 60%); 
    background: -o-radial-gradient(red 5%, yellow 15%, green 60%); 
    background: -moz-radial-gradient(red 5%, yellow 15%, green 60%); 
    background: radial-gradient(red 5%, yellow 15%, green 60%); 
}
.box3{/* 3、shape 參數定義了形狀。它可以是值 circle 或 ellipse。其中,circle 表示圓形,ellipse 表示橢圓形。            默認值是 ellipse。*/
    background: -webkit-radial-gradient(circle, red, yellow, green); 
    background: -o-radial-gradient(circle, red, yellow, green); 
    background: -moz-radial-gradient(circle, red, yellow, green); 
    background: radial-gradient(circle, red, yellow, green); 
            }
.box4{/* 4、size 參數定義了漸變的大小。它可以是以下四個值:closest-side farthest-side closest-corner                 farthest-corner,具體的不同大家可以自己嘗試,這里只展示一種情況 */
    background: -webkit-radial-gradient(60% 55%, closest-side,blue,green,yellow,black); 
    background: -o-radial-gradient(60% 55%, closest-side,blue,green,yellow,black);
    background: -moz-radial-gradient(60% 55%, closest-side,blue,green,yellow,black);
    background: radial-gradient(60% 55%, closest-side,blue,green,yellow,black);
}
.box5{/* 5、當然,也是有重復漸變這種情況*/
    background: -webkit-repeating-radial-gradient(red, yellow 10%, green 15%);
    background: -o-repeating-radial-gradient(red, yellow 10%, green 15%);
    background: -moz-repeating-radial-gradient(red, yellow 10%, green 15%);
    background: repeating-radial-gradient(red, yellow 10%, green 15%);
}

 

三、文本

 3.1 text-shadow 文本陰影

規則跟box-shadow類似,text-shadow:X軸偏移值,Y軸偏移值,陰影模糊半徑,顏色。在這里,需要注意的是,如果前三個數值寫兩個,比如text-shadow:5px 5px #ccc;會認為陰影模糊半徑不存在,仍然有文字的重影,但是沒有模糊的視覺效果了。

  

 

3.2 word-wrap | word-break 是否允許長單詞換行,這兩個可以一起使用

word-wrap: normal(只允許斷點字換行) | break-word(如果單詞過長,截斷強制換行) 
word-break: normal(瀏覽器默認的換行規則,一般是不允許長單詞內部換行) | break-all(允許在單詞內換行) | keep-all(只能在半角空格或連字符處換行);

  

<div class="box1">aaaaa aaaaaaaaaaaaaaaaaaa aaaaaaaaaaa aaaaaaaaaa</div>
<div class="box2">aaaaa aaaaaaaaaaaaaaaaaaa aaaaaaaaaaa aaaaaaaaaa</div>
<div class="box3">aaaaa aaaaaaaaaaaaaaaaaaa aaaaaaaaaaa aaaaaaaaaa</div>
<div class="box4">aaaaa aaaaaaaaaaaaaaaaaaa aaaaaaaaaaa aaaaaaaaaa</div>

  

div{
    float:left;
    margin:30px;
    width: 100px;
    height: 150px;
    border: 2px solid rgba(0, 0, 0, 0.5);
    font-size: 14px;
    line-height: 1.5;
}
.box1{
    word-wrap: normal;
}
.box2{
    word-wrap: break-word;
}
.box3{
    word-break: keep-all;
}
.box4{
    word-break: break-all;
}

 

 


免責聲明!

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



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