第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

首頁 慕課教程 CSS3 入門教程 CSS3 入門教程 transform 2D 空間轉(zhuǎn)換

transform 2D 平面轉(zhuǎn)換

在以前我們改變元素的位置需要設(shè)置 left 、 right 這類的屬性,它對其它元素有很大的影響,現(xiàn)在通過 transform 就可以實現(xiàn)任意空間的改變了。

1. 官方解釋

CSS transform 屬性允許你旋轉(zhuǎn),縮放,傾斜或平移給定元素。這是通過修改 CSS 視覺格式化模型的坐標(biāo)空間來實現(xiàn)的。

2. 慕課解釋

transfrom 這個屬性可以改變一個目標(biāo)元素在頁面中的位置,例如相對原來元素所在的位置平移,相對原來的尺寸放大或者縮小,也可以旋轉(zhuǎn)或者斜切。

3. 語法

通用坐標(biāo)軸說明:

x 代表橫軸,y 代表縱軸。

圖片描述

坐標(biāo)軸效果圖

包含參數(shù):

描述
translate(x,y) 可以改變元素的位置,而不會對相鄰元素由影響。
translateX(x) 只改變元素的水平位置。
translateY(y) 只改變元素在豎直方向的位置。
scale(x,y) 元素縮放,x 代表水平方向,y 代表豎直方向。
scaleX(x) 僅對元素 x 方向上縮放。
scaleY(y) 僅對元素 y 方向上縮放。
skew(x-angle,y-angle) 定義沿著 X 和 Y 軸的 2D 傾斜轉(zhuǎn)換。
skewX(angle) 定義沿著 X 軸的 2D 傾斜轉(zhuǎn)換。
skewY(angle) 定義沿著 Y 軸的 2D 傾斜轉(zhuǎn)換。
rotate(angle) 在平面上旋轉(zhuǎn)一個角度

4. 實例

接下來我們都是對 demo 這個元素進行操作。

<div class="demo"></div>
  1. 使用 translate 讓元素位移。
.demo{
     transform: translate(40px,40px);
}

效果圖

圖片描述

`translate` 讓元素位移效果圖
實例演示
預(yù)覽 復(fù)制
復(fù)制成功!
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        body{
            perspective: 500px;
            transform-style: preserve-3d;   
        }
        .commn{
            width:100px;
            height:100px;
            text-align: center;
            line-height: 100px;
            background:#f2f2f2;
            border:1px solid #ccc;        
            position: absolute;     
            top: 0;
            left: 0;
            
        }
        .demo{
            z-index: 1;   
            opacity: .5;       
            background: red;               
        }
        .demo-3d{            
            transform:translate3d(100px  ,100px ,-100px) rotateZ(45deg);

        }
    </style>
</head>
<body>
    <div class="commn demo">transfrom3d</div>
    <div class="commn demo-3d">transfrom3d</div>
</body>
</html>
運行案例 點擊 "運行案例" 可查看在線運行效果
  1. 使用 translateX 讓元素水平位移:
.demo{
     transform: translateX(80px);
}

效果圖

圖片描述

`translateX` 讓元素水平位移效果圖
  1. 使用 translateY 讓元素在豎直方向上位移:
.demo{
     transform: translateY(40px);
}

效果圖

圖片描述

`translateY` 讓元素水平位移效果圖
  1. 使用 scale 對元素縮放:
.demo{
     transform: scale(.8,.8);
}

scale 接受一個倍數(shù)大于 1 時候放大,小于 1 時候縮小。當(dāng) x,y 參數(shù)的值一樣時,可以如下面這樣寫:

.demo{
     transform: scale(.8);
}

如果只需要對水平方向縮放,可以向下面這樣寫,豎直方向同理:

.demo{
     transform: scaleX(.8);
}

效果圖

圖片描述

縮放效果圖
  1. 使用 skew 對元素傾斜。
.demo{
    transform:skew(30deg,0deg);
}

效果圖

圖片描述

斜切效果圖
.demo{
    transform:skew(0deg,30deg);
}

效果圖

圖片描述

斜切效果圖

如果只是對一個方向斜切可以如下:

.demo{
    transform:skewX(30deg);
}

圖片描述

斜切效果圖
  1. rotate 使元素旋轉(zhuǎn)一個角度。在 2D 效果中它只接受一個參數(shù)角度,并沿著順指針方向開始。
.demo{
    transform:rotate(30deg);
}

效果圖

圖片描述

旋轉(zhuǎn)效果圖

5. 兼容性

IE Edge Firefox Chrome Safari Opera ios android
9+ 12+ 28+ 4+ 6.1+ 12.1+ 7+ 4.4

6. 場景

  1. 在需要動畫渲染改變元素位置時候。
  2. 需要對場景進行縮放或者旋轉(zhuǎn)時候。

7. 小結(jié)

  1. 要分清 transformtransition,后者是過渡;
  2. transform 可以使得元素位置改變,而不會影響其他圍繞元素,所以可以使用 transform 盡量使用,可以提高瀏覽器的渲染效率;
  3. transform 中斜切的效果,我們拿 X 水平坐標(biāo)軸為例,其實就是底部向右移動一個角度,這個角度就是豎直方向偏移的角度。