背景樣式、列表樣式、變形樣式、過渡動畫


背景樣式

背景原點:background-origin :

border-box(從border區域(含border)開始顯示背景圖像。)

padding-box(從padding區域(含padding)開始顯示背景圖像。)

content-box(從content區域開始顯示背景圖像。)

<style type="text/css">
        .box{
            width: 250px;
            height: 250px;
            float: left;
            margin-left: 20px;
            padding: 20px;
            background:#aaa url(zzfw_01.jpg) no-repeat;
            border:10px dashed red;
            background-origin: border-box;
        }
        .box2{
            width: 250px;
            height: 250px;
            float: left;
            margin-left: 20px;
            padding: 20px;
            background:#aaa url(zzfw_01.jpg) no-repeat;
            border:10px dashed red;
            background-origin: padding-box;
        }
        .box3{
            width: 250px;
            height: 250px;
            float: left;
            margin-left: 20px;
            padding: 20px;
            background:#aaa url(zzfw_01.jpg) no-repeat;
            border:10px dashed red;
            background-origin: content-box;
        }
</style>

 <body>
      <div class="box"><p>從border區域(含border)開始顯示背景圖像。<p></div>
      <div class="box2"><p>從padding區域(含padding)開始顯示背景圖像。<p></div>
      <div class="box3"><p>從content區域開始顯示背景圖像。<p></div>
 </body>

效果如下:

背景的顯示區域

設定背景圖像向外裁剪的區域。

background-clip :

padding-box:從padding區域(不含padding)開始向外裁剪背景。

border-box:從border區域(不含border)開始向外裁剪背景。

content-box:從content區域開始向外裁剪背景。

text:從前景內容的形狀(比如文字)作為裁剪區域向外裁剪,如此即可實現使用背景作為填充色之類的遮罩效果。

<style type="text/css">
        .box{
            width: 200px;
            height: 200px;
            float: left;
            margin-left: 20px;
            padding: 20px;
            background:#aaa url(zzfw_02.jpg) no-repeat;
            border:10px dashed red;
            background-clip: border-box;
        }
        .box2{
            width: 200px;
            height: 200px;
            float: left;
            margin-left: 20px;
            padding: 20px;
            background:#aaa url(zzfw_02.jpg) no-repeat;
            border:10px dashed red;
            background-clip: padding-box;
        }
        .box3{
            width: 200px;
            height: 200px;
            float: left;
            margin-left: 20px;
            padding: 20px;
            background:#aaa url(zzfw_02.jpg) no-repeat;
            border:10px dashed red;
            background-clip: content-box;
        }
        .box4{
            width: 200px;
            height: 200px;
            float: left;
            margin-left: 20px;
            padding: 20px;
            background:#aaa url(zzfw_02.jpg) no-repeat;
            border:10px dashed red;
            -webkit-background-clip:text;
            -webkit-text-fill-color:transparent;
            font-weight:bold;
            font-size:30px;
        }
        p{ margin-top: 150px; font-size: 20px; color: #fff; font-weight: bold; }
    </style>



<body>
    <div class="box"><p>從border區域(不含border)開始向外裁剪背景。<p></div>
    <div class="box2"><p>從padding區域(不含padding)開始向外裁剪背景。</p></div>
    <div class="box3"><p>從content區域開始向外裁剪背景。</p></div>
    <div class="box4">從前景內容的形狀(比如文字)作為裁剪區域向外裁剪</div>
</body>

效果如下:

背景尺寸

background-size:

div{background-size:100px 150px;}  /*調背景圖片的大小*/

 

多重背景

注意:

用逗號隔開每組 background 的縮寫值;

如果有 size 值,需要緊跟 position 並且用 "/" 隔開;

如果有多個背景圖片,而其他屬性只有一個(例如 background-repeat 只有一個),

表明 所有背景圖片應用該屬性值。

background-color 只能設置一個。

 .box{
            width: 500px;
            height: 250px;
            background: url(05.jpg) no-repeat 367px 131px,url(04.jpg) no-repeat 142px 52px,url(03.jpg) no-repeat 78px 86px,url(01.jpg) no-repeat 14px 65px,url(02.jpg) no-repeat 60px 25px;
        }

多個背景圖片效果如下:

 

列表樣式

項目符號:

list-style-type : 

取值:

disc:實心圓

circle:空心圓

square:實心方塊

decimal:阿拉伯數字

lower-roman:小寫羅馬數字

upper-roman:大寫羅馬數字

lower-alpha:小寫英文字母

upper-alpha:大寫英文字母

none:不使用項目符號

armenian:傳統的亞美尼亞數字

cjk-ideographic:淺白的表意數字

georgian:傳統的喬治數字

lower-greek:基本的希臘小寫字母

hebrew:傳統的希伯萊數字

hiragana:日文平假名字符

hiragana-iroha:日文平假名序號

katakana:日文片假名字符

katakana-iroha:日文片假名序號

lower-latin:小寫拉丁字母

upper-latin:大寫拉丁字母

 常用的有:

.disc{list-style-type:disc;}
.circle{list-style-type:circle;}
.square{list-style-type:square;}
.decimal{list-style-type:decimal;}
.lower-alpha{list-style-type:lower-alpha;}
.upper-alpha{list-style-type:upper-alpha;}
.none{list-style-type:none;}

 效果如下:

      

 

list-style-position

取值:

outside:列表項目標記放置在文本以外,且環繞文本不根據標記對齊

inside:列表項目標記放置在文本以內,且環繞文本根據標記對齊

.outside{width:120px;list-style-position:outside;}
.inside{width:120px;list-style-position:inside;}

效果如下:

    

自定義項目符號

語法:list-style-image : none | url ( url ) 

.div{list-style-image:url(skin/ico.png);}

效果如下: 

   

 

變形樣式

 transform

1. translate():指定對象的2D translation(2D平移)。第一個參數對應X軸,第二個參數對應Y軸。如果第二個參數未提供,則默認值為0

 

/*從原始位置移動到x軸200px的位置,y軸200px我位置 */
          div { 
                    width: 100p x;
                    height: 100px;
                    border: 10px solid red;
                    background-color: #808080;
                    transform: translate(200px, 200px);
                }                                    

2. translateX()

/*移動x軸,指定對象X軸(垂直方向)的平移 、從原始位置移動向x軸200px的位置,y軸同原來的y軸系數一樣*/
          div { 
                    width: 100p x;
                    height: 100px;
                    border: 10px solid red;
                    background-color: #808080;
                    transform: translateX(200px);
                }

3. translateY()

/*移動y軸,指定對象X軸(水平方向)的平移 、從原始位置移動向y軸250px的位置*/
          div { 
                    width: 100p x;
                    height: 100px;
                    border: 10px solid red;
                    background-color: #808080;
                    transform: translateY(250px);
                }

4. rotate():(2D旋轉)

/*旋轉15度*/
.circle-box { width: 100px; height: 100px; border-radius: 10px; margin: 50px 0 0 50px; background-color: #808080; transform: rotate(15deg); }

效果如下:

 


5. scale()

/*按原來的大小的x軸放大1.1倍,y軸按原來的放大2.2倍*/
/*整數就相當於放大,負數的就相當於縮小*/

.box{
                transform: scale(1.1, 2.2);
            }

 

6. skew():(斜切扭曲)

/*第一個參數對應X軸=40ded,第二個參數對應Y軸=10deg。如果第二個參數未提供,則默認值為0 */ 
.box { transform: skew(40deg, 10deg); }

效果如下:

 


7. translate3d()

指定對象的3D位移。第1個參數對應X軸,第2個參數對應Y軸,第3個參數對應Z軸,參數不允許省略 

9. transform-origin

 任何一個元素都有一個中心點,默認情況之下,其中心點是居於元素X軸和Y軸的50%處。

 

#div1
{
    position: relative;
    height: 200px;
    width: 200px;
    margin: 100px;
    padding:10px;
    border: 1px solid black;
}

#div2
{
    padding:50px;
    position: absolute;
    border: 1px solid black;
    background-color: red;
    transform: rotate(45deg);
    transform-origin:50% 0%;
    -ms-transform: rotate(45deg); /* IE 9 */
    -ms-transform-origin:50% 0%; /* IE 9 */
    -webkit-transform: rotate(45deg); /* Safari and Chrome */
    -webkit-transform-origin:50% 0%; /* Safari and Chrome */
}

效果如下:

 

 

過渡動畫

 transition-property(過渡屬性)

 transition-property: all  (代表所有屬性,稱為全局屬性)

div
{
    width:100px;
    height:100px;
    background:red;
    transition-property: width;  /*過度屬性是寬度width*/
    transition-duration: 2s; /*過渡所需時間*/ -webkit-transition-property: width; /* Safari */
    -webkit-transition-duration: 2s; /* Safari */
}
div:hover
{
    width:300px;
}

 效果如下:

 鼠標未移上之前:            鼠標移上之后增加寬度300px的所需時間為2秒速度過渡的效果:

 

 

 transition-duration(過渡所需時間):

div{
                       transition-duration: .5s;/*過度所需要的時間為0.5秒*/
}

 

 transition-timing-function(動畫--過渡函數) :

 

參數說明:

ease:默認值,逐漸變慢(cubic-bezier(0.25,0.1,0.25,1))

linear:勻速過渡效果(等於 cubic-bezier(0,0,1,1))

ease-in:加速的過渡效果(等於 cubic-bezier(0.42,0,1,1))

ease-out:減速的過渡效果(等於 cubic-bezier(0,0,0.58,1))

ease-in-out:加速然后減速(等於cubic-bezier (0.42, 0, 0.58, 1.0))

cubic-bezier(n,n,n,n):在 cubic-bezier 函數中定義自己的值。可能的值是 0 至 1 之間的數值。(動畫速度自定義)

 

div{
            transition-timing-function:linear;  /*勻速過度*/
            transition-timing-function:ease;   /*默認值,逐漸變慢*/
            transition-timing-function:ease-in;   /*由慢到快*/
            transition-timing-function:ease-out;  /* 由快到慢*/
            transition-timing-function:ease-in-out;   /*由慢到快再到慢*/

}  

transition-delay(動畫--過渡延遲時間):

 

div  {
                    transition-delay:.1s;    /*延遲0.1秒再執行*/
}

 

transition(過渡)

可以將以上四個transition的屬性值縮寫:

div{
      -webkit-transition: all .5s ease-in .1s;
      transition: all .5s ease-in .1s;    /* 全局屬性all、過度所需的時間是0.5秒、加速的過渡效果ease-in、延遲0.1秒*/

}

 


免責聲明!

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



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