溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

css過(guò)渡模塊和2d轉(zhuǎn)換模塊

發(fā)布時(shí)間:2020-07-28 14:16:35 來(lái)源:網(wǎng)絡(luò) 閱讀:488 作者:胡壯壯 欄目:網(wǎng)絡(luò)安全

(一)過(guò)度模塊的三要素:

    1、必須要有屬性發(fā)生變化

    2、必須告訴系統(tǒng)哪個(gè)屬性需要執(zhí)行過(guò)渡效果

    3、必須告訴系統(tǒng)過(guò)渡效果持續(xù)時(shí)長(zhǎng)

    ps:當(dāng)多個(gè)屬性需要同時(shí)執(zhí)行過(guò)渡效果時(shí)用逗號(hào)隔開(kāi)即可

      transition-property: width, background-color;

      transition-duration: 5s, 5s;

示例代碼:

css過(guò)渡模塊和2d轉(zhuǎn)換模塊

    
    過(guò)渡模塊

css過(guò)渡模塊和2d轉(zhuǎn)換模塊

 效果圖:

css過(guò)渡模塊和2d轉(zhuǎn)換模塊   變化前

 css過(guò)渡模塊和2d轉(zhuǎn)換模塊    變化中

css過(guò)渡模塊和2d轉(zhuǎn)換模塊    變化后

 

   ?。ǘ┻^(guò)渡模塊的其它屬性:

      1、告訴系統(tǒng)延遲多少秒之后才開(kāi)始過(guò)渡動(dòng)畫:transition-delay: 2s;

      2、告訴系統(tǒng)過(guò)渡動(dòng)畫的運(yùn)動(dòng)的速度:transition-timing-function: linear;

示例代碼:

css過(guò)渡模塊和2d轉(zhuǎn)換模塊

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>89-過(guò)渡模塊-其它屬性</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        div {
            width: 100px;
            height: 50px;
            background-color: red;
            transition-property: width;
            transition-duration: 5s;
            /*告訴系統(tǒng)延遲多少秒之后才開(kāi)始過(guò)渡動(dòng)畫*/
            transition-delay: 2s;
        }
        div:hover{
            width: 300px;
        }
        ul{
            width: 800px;
            height: 500px;
            margin: 0 auto;
            background-color: pink;
            border: 1px solid #000;
        }
        ul li{
            list-style: none;
            width: 100px;
            height: 50px;
            margin-top: 50px;
            background-color: blue;
            transition-property: margin-left;
            transition-duration: 10s;
        }
        ul:hover li{
            margin-left: 700px;
        }
        ul li:nth-child(1){
            /*告訴系統(tǒng)過(guò)渡動(dòng)畫的運(yùn)動(dòng)的速度*/
            transition-timing-function: linear;
        }
        ul li:nth-child(2){
            transition-timing-function: ease;
        }
        ul li:nth-child(3){
            transition-timing-function: ease-in;
        }
        ul li:nth-child(4){
            transition-timing-function: ease-out;
        }
        ul li:nth-child(5){
            transition-timing-function: ease-in-out;
        }
    </style></head><body><!--<div></div>--><ul>
    <li>linear</li>
    <li>ease</li>
    <li>ease-in</li>
    <li>ease-out</li>
    <li>ease-in-out</li></ul></body></html>

css過(guò)渡模塊和2d轉(zhuǎn)換模塊

不同的運(yùn)動(dòng)速度會(huì)導(dǎo)致不同的過(guò)渡效果,請(qǐng)看運(yùn)行效果圖:

css過(guò)渡模塊和2d轉(zhuǎn)換模塊 運(yùn)動(dòng)前

css過(guò)渡模塊和2d轉(zhuǎn)換模塊 運(yùn)動(dòng)中

css過(guò)渡模塊和2d轉(zhuǎn)換模塊 運(yùn)動(dòng)后

    

    (三)過(guò)渡連寫格式
      transition: 過(guò)渡屬性 過(guò)渡時(shí)長(zhǎng) 運(yùn)動(dòng)速度 延遲時(shí)間;

      過(guò)渡連寫注意點(diǎn)
        1和分開(kāi)寫一樣, 如果想給多個(gè)屬性添加過(guò)渡效果也是用逗號(hào)隔開(kāi)即可
        2連寫的時(shí)可以省略后面的兩個(gè)參數(shù), 因?yàn)橹灰帉懥饲懊娴膬蓚€(gè)參數(shù)就已經(jīng)滿足了過(guò)渡的三要素
        3如果多個(gè)屬性運(yùn)動(dòng)的速度/延遲的時(shí)間/持續(xù)時(shí)間都一樣, 那么可以簡(jiǎn)寫為:transition:all 0s;

示例代碼:

css過(guò)渡模塊和2d轉(zhuǎn)換模塊

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>過(guò)渡模塊的連寫</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        div {
            width: 100px;
            height: 50px;
            background-color: red;
            /*注釋中為簡(jiǎn)寫前的代碼:
            transition-property: width;
            ransition-duration: 5s;
            transition: width 5s linear 0s,background-color 5s linear 0s;
            transition: background-color 5s linear 0s;
            transition: width 5s,background-color 5s,height 5s;*/
            /*下面為簡(jiǎn)寫后的代碼*/
            transition: all 5s;
        }
        div:hover{
            width: 300px;
            height: 300px;
            background-color: blue;
        }
    </style></head><body><div></div></body></html>

css過(guò)渡模塊和2d轉(zhuǎn)換模塊

 

      (四)過(guò)度模塊的編寫套路和案例

      編寫套路:

        1、不要管過(guò)渡, 先編寫基本界面

        2、修改我們認(rèn)為需要修改的屬性

        3、再回過(guò)頭去給被修改屬性的那個(gè)元素添加過(guò)渡即可

      案例1:

      思路:

        1、先做好基本頁(yè)面布局,給div和span添加樣式表;

        2、考慮怎么實(shí)現(xiàn)要做的效果,和需要變動(dòng)的屬性

        3、給屬性添加過(guò)渡效果,在只有一種屬性變動(dòng)或多個(gè)屬性過(guò)渡時(shí)間等相同的情況下推薦使用:transition:all 1s;

css過(guò)渡模塊和2d轉(zhuǎn)換模塊

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>過(guò)渡模塊-彈性效果</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        div{
            height: 150px;
            background-color: green;
            margin-top: 100px;
            text-align: center;
            line-height: 150px;
        }
        div span{
            font-size: 80px;
            transition: margin 3s;
        }
        div:hover span{
            margin: 0 20px;
        }
    </style></head><body><div>
    <span>L</span>
    <span>M</span>
    <span>S</span>
    <span>碼</span>
    <span>農(nóng)</span>
    <span>來(lái)</span>
    <span>過(guò)</span>
    <span>渡</span></div></body></html>

css過(guò)渡模塊和2d轉(zhuǎn)換模塊

 示例圖片:

css過(guò)渡模塊和2d轉(zhuǎn)換模塊過(guò)渡前

css過(guò)渡模塊和2d轉(zhuǎn)換模塊過(guò)渡中

css過(guò)渡模塊和2d轉(zhuǎn)換模塊過(guò)度后

 

 

  案例2:

    手風(fēng)琴效果,示例代碼:

css過(guò)渡模塊和2d轉(zhuǎn)換模塊

    
    過(guò)渡模塊-手風(fēng)琴效果

css過(guò)渡模塊和2d轉(zhuǎn)換模塊

 

    思路:

      1、通過(guò)浮動(dòng)做好基本布局,如圖:

css過(guò)渡模塊和2d轉(zhuǎn)換模塊

    

      2、考慮需要實(shí)現(xiàn)的效果,如下圖,即鼠標(biāo)移入后,具有:hover事件的li寬度變大,其余的等大。

        我們可以通過(guò)ul的:hover事件讓所有的li變小,然后通過(guò)li的:hover時(shí)間來(lái)使當(dāng)前l(fā)i寬度變大。案例事小,思路是大,這種思路在以后的js中或者其他的地方經(jīng)常用到,即先將所有元素初始化,在單獨(dú)改變需要改變的元素屬性。

css過(guò)渡模塊和2d轉(zhuǎn)換模塊

  二、2d轉(zhuǎn)換模塊transform

   ?。ㄒ唬懛ǎ簍ransform:值;transform的值常用的有3種:

      1、旋轉(zhuǎn):其中deg是單位, 代表多少度:transform: rotate(45deg);

      2、移動(dòng):第一個(gè)參數(shù):水平方向,第二個(gè)參數(shù):垂直方向,transform: translate(100px, 0px);

      3、縮放:第一個(gè)參數(shù):水平方向,第二個(gè)參數(shù):垂直方向,transform: scale(0.5, 0.5);transform: scale(1.5);

        注意點(diǎn):

          如果取值是1, 代表不變

          如果取值大于1, 代表需要放大

          如果取值小于1, 代表需要縮小

          如果水平和垂直縮放都一樣, 那么可以簡(jiǎn)寫為一個(gè)參數(shù)

      ps:1、如果需要進(jìn)行多個(gè)轉(zhuǎn)換, 那么用空格隔開(kāi)

        2、2D的轉(zhuǎn)換模塊會(huì)修改元素的坐標(biāo)系, 所以旋轉(zhuǎn)之后再平移就不是水平平移的

示例代碼:

css過(guò)渡模塊和2d轉(zhuǎn)換模塊

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>2D轉(zhuǎn)換模塊</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        ul{
            width: 800px;
            height: 500px;
            border: 1px solid #000;
            margin: 0 auto;
        }
        ul li{
            list-style: none;
            width: 100px;
            height: 50px;
            background-color: red;
            margin: 0 auto;
            margin-top: 50px;
            text-align: center;
            line-height: 50px;
        }
        ul li:nth-child(2){
            transform: rotate(45deg);
        }
        ul li:nth-child(3){
            transform: translate(100px, 0px);
        }
        ul li:nth-child(4){
            transform: scale(1.5);
        }
        ul li:nth-child(5){
            transform: rotate(45deg) translate(100px, 0px) scale(1.5, 1.5);
            /*transform: translate(100px, 0px);*/
        }
    </style></head><body><ul>
    <li>正常的</li>
    <li>旋轉(zhuǎn)的</li>
    <li>平移的</li>
    <li>縮放的</li>
    <li>綜合的</li></ul></body></html>

css過(guò)渡模塊和2d轉(zhuǎn)換模塊

示例圖片:

css過(guò)渡模塊和2d轉(zhuǎn)換模塊

   ?。ǘ┺D(zhuǎn)換模塊的形變中心點(diǎn):

      默認(rèn)情況下所有的元素都是以自己的中心點(diǎn)作為參考來(lái)旋轉(zhuǎn)的, 我們可以通過(guò)形變中心點(diǎn)屬性來(lái)修改它的參考點(diǎn)。  

      1、寫法:transform-origin: left top;第一個(gè)參數(shù):水平方向,第二個(gè)參數(shù):垂直方向。

        ps:取值有三種形式  

          具體像素:transform-origin: 200px 0px;

          百分比:transform-origin: 50% 50%;

          特殊關(guān)鍵字:transform-origin: center center;

       2、示例代碼:

css過(guò)渡模塊和2d轉(zhuǎn)換模塊

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>2D轉(zhuǎn)換模塊的形變中心點(diǎn)</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        ul{
            width: 200px;
            height: 200px;
            border: 1px solid #000;
            margin: 100px auto;
            position: relative;
        }
        ul li{
            list-style: none;
            width: 200px;
            height: 200px;
            position: absolute;
            left: 0;
            top: 0;
            transform-origin: left top;
        }
        ul li:nth-child(1){
            background-color: red;
            transform: rotate(30deg);
        }
        ul li:nth-child(2){
            background-color: green;
            transform: rotate(50deg);
        }
        ul li:nth-child(3){
            background-color: blue;
            transform: rotate(70deg);
        }
    </style></head><body><ul>
    <li></li>
    <li></li>
    <li></li></ul></body></html>

css過(guò)渡模塊和2d轉(zhuǎn)換模塊

 

 css過(guò)渡模塊和2d轉(zhuǎn)換模塊

 

    ?。ㄈ?d轉(zhuǎn)換模塊的旋轉(zhuǎn)軸

      rotate旋轉(zhuǎn)屬性旋轉(zhuǎn)是默認(rèn)都是圍繞z軸旋轉(zhuǎn),若需要改變旋轉(zhuǎn)軸可以在rotate后加上旋轉(zhuǎn)軸,即:rotateX();rotateY();rotateZ();

      1、當(dāng)圍繞x和y軸旋轉(zhuǎn)時(shí)就會(huì)改變屬性距離我們的距離,也就是透視,什么事透視呢,就是近大遠(yuǎn)小。

      2、你會(huì)發(fā)現(xiàn)元素圍繞x軸或y軸旋轉(zhuǎn)時(shí)并沒(méi)有金達(dá)遠(yuǎn)小的效果,這時(shí)你需要添加一個(gè)透視屬性:perspective: 500px;注意:這個(gè)屬性需要添加在元素的父容器上;

    

css過(guò)渡模塊和2d轉(zhuǎn)換模塊

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>旋轉(zhuǎn)軸向</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        ul{
            width: 800px;
            height: 500px;
            margin: 0 auto;
        }
        ul li{
            list-style: none;
            width: 200px;
            height: 200px;
            margin: 0 auto;
            margin-top: 50px;
            border: 1px solid #000;
            perspective: 500px;
        }
        ul li div{
            width: 200px;
            height: 200px;
            background-color: #ac4345;
        }
        ul li:nth-child(1) div{
            transform: rotateZ(45deg);
        }
        ul li:nth-child(2) div{
            transform: rotateX(45deg);
        }
        ul li:nth-child(3) div{
            transform: rotateY(45deg);
        }
    </style></head><body><ul>
    <li><div></div></li>
    <li><div></div></li>
    <li><div></div></li></ul></body></html>

css過(guò)渡模塊和2d轉(zhuǎn)換模塊

 

 示例圖片:

css過(guò)渡模塊和2d轉(zhuǎn)換模塊


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI