400-650-7353
您所在的位置:首頁 > IT干貨資料 > web前端 > 【W(wǎng)eb前端基礎(chǔ)知識(shí)】CSS3如何實(shí)現(xiàn)2D變換

【W(wǎng)eb前端基礎(chǔ)知識(shí)】CSS3如何實(shí)現(xiàn)2D變換

  • 發(fā)布: Web前端培訓(xùn)
  • 來源:Web前端干貨資料
  • 2020-01-03 18:44:27
  • 閱讀()
  • 分享
  • 手機(jī)端入口

CSS2D transform 表示2D變換,目前獲得了各主流瀏覽器的支持,是CSS3中具有強(qiáng)大的特征之一,可以實(shí)現(xiàn)元素的位移、旋轉(zhuǎn)、傾斜、縮放,甚至支持矩陣方式,可以取代大量之前只能靠Flash才可以實(shí)現(xiàn)的效果。

transform的屬性包括:rotate() / skew() / scale() / translate(,) ,分別還有x、y之分,比如:rotateX() 和 rotateY()

1、translate()

將元素向指定的方向移動(dòng),類似于position中的relative。

水平移動(dòng):向右移動(dòng)translate(tx,0)和向左移動(dòng)translate(-tx,0);

垂直移動(dòng):向上移動(dòng)translate(0,-ty)和向下移動(dòng)translate(0,ty);

對(duì)角移動(dòng):右下角移動(dòng)translate(tx,ty)、右上角移動(dòng)translate(tx,-ty)、左上角移動(dòng)translate(-tx,-ty)和左下角移動(dòng)translate(-tx,ty)。

translateX():水平方向移動(dòng)一個(gè)對(duì)象。對(duì)像只向X軸進(jìn)行移動(dòng),如果值為正值,對(duì)像向右移動(dòng);如果值為負(fù)值,對(duì)像向左移動(dòng)。translateY():縱軸方向移動(dòng)一個(gè)對(duì)象。對(duì)象只向Y軸進(jìn)行移動(dòng),如果值為正值,對(duì)象向下移動(dòng);如果值為負(fù)值,對(duì)像向上移動(dòng)。

這兩個(gè)函數(shù)和前面介紹的translate()函數(shù)不同的是每個(gè)方法只接受一個(gè)值。

所以

transform:translate(-100px,0)實(shí)際上等于transform:translateX(-100px);

transform:translate(0,-100px)實(shí)際上等于transform:translateY(-100px)。

2、scale()

讓元素根據(jù)中心原點(diǎn)對(duì)對(duì)象進(jìn)行縮放。默認(rèn)的值1。因此0.01到0.99之間的任何值,使一個(gè)元素縮小;而任何大于或等于1.01的值,讓元素顯得更大。

縮放scale()函數(shù)和translate()函數(shù)的語法非常相似,他可以接受一個(gè)值,也可以同時(shí)接受兩個(gè)值,如果只有一個(gè)值時(shí),其第二個(gè)值默認(rèn)與第一個(gè)值相等。

例如,

scale(1,1)元素不會(huì)有任何變化,而scale(2,2)讓元素沿X軸和Y軸放大兩倍。

scaleX():相當(dāng)于scale(sx,1)。表示元素只在X軸(水平方向)縮放元素,其默認(rèn)值是1。

scaleY():相當(dāng)于scale(1,sy)。表示元素只在Y軸(縱橫方向)縮放元素,其默認(rèn)值是1。

3、rotate()

旋轉(zhuǎn)rotate()函數(shù)通過指定的角度參數(shù)對(duì)元素根據(jù)對(duì)象原點(diǎn)指定一個(gè)2D旋轉(zhuǎn)。它主要在二維空間內(nèi)進(jìn)行操作,接受一個(gè)角度值,用來指定旋轉(zhuǎn)的幅度。如果這個(gè)值為正值,元素相對(duì)原點(diǎn)中心順時(shí)針旋轉(zhuǎn);如果這個(gè)值為負(fù)值,元素相對(duì)原點(diǎn)中心逆時(shí)針旋轉(zhuǎn)。單位deg。

rotate()方法, 元素旋轉(zhuǎn)角度

rotateX() 方法,元素圍繞其 X 軸以給定的度數(shù)進(jìn)行旋轉(zhuǎn)

rotateY() 方法,元素圍繞其 Y 軸以給定的度數(shù)進(jìn)行旋轉(zhuǎn)

4、skew()

傾斜skew()函數(shù)能夠讓元素傾斜顯示。它可以將一個(gè)對(duì)象以其中心位置圍繞著X軸和Y軸按照一定的角度傾斜。單位deg。

skew()

skewX()

skewY()

一個(gè)參數(shù)時(shí):表示水平方向的傾斜角度;

兩個(gè)參數(shù)時(shí):第一個(gè)參數(shù)表示水平方向的傾斜角度,第二個(gè)參數(shù)表示垂直方向的傾斜角度

transform-origin

transform-origin是變形原點(diǎn),也就是該元素圍繞著那個(gè)點(diǎn)變形或旋轉(zhuǎn),該屬性只有在設(shè)置了transform屬性的時(shí)候起作用;

因?yàn)槲覀冊(cè)啬J(rèn)基點(diǎn)就是其中心位置,換句話說我們沒有使用transform-origin改變?cè)鼗c(diǎn)位置的情況下,transform進(jìn)行的rotate,translate,scale,skew等操作都是以元素自己中心位置進(jìn)行變化的。

 

文章“【W(wǎng)eb前端基礎(chǔ)知識(shí)】CSS3如何實(shí)現(xiàn)2D變換”已幫助

>>本文地址:http://liujunjsxg.cn/zhuanye/2020/48261.html

THE END  

聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

1 您的年齡

2 您的學(xué)歷

3 您更想做哪個(gè)方向的工作?

獲取測(cè)試結(jié)果
  • 大前端大前端
  • 大數(shù)據(jù)大數(shù)據(jù)
  • 互聯(lián)網(wǎng)營銷互聯(lián)網(wǎng)營銷
  • JavaJava
  • Linux云計(jì)算Linux
  • Python+人工智能Python
  • 嵌入式物聯(lián)網(wǎng)嵌入式
  • 全域電商運(yùn)營全域電商運(yùn)營
  • 軟件測(cè)試軟件測(cè)試
  • 室內(nèi)設(shè)計(jì)室內(nèi)設(shè)計(jì)
  • 平面設(shè)計(jì)平面設(shè)計(jì)
  • 電商設(shè)計(jì)電商設(shè)計(jì)
  • 網(wǎng)頁設(shè)計(jì)網(wǎng)頁設(shè)計(jì)
  • 全鏈路UI/UE設(shè)計(jì)UI設(shè)計(jì)
  • VR/AR游戲開發(fā)VR/AR
  • 網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全
  • 新媒體與短視頻運(yùn)營新媒體
  • 直播帶貨直播帶貨
  • 智能機(jī)器人軟件開發(fā)智能機(jī)器人
 

快速通道fast track

近期開班時(shí)間TIME