Transform(CSS動(dòng)態(tài)屬性的開(kāi)始)

1芯丧、基本概念

基本概念:transform 屬性向元素應(yīng)用 2D 或 3D 轉(zhuǎn)換稍计;該屬性允許我們對(duì)元素進(jìn)行旋轉(zhuǎn)席赂、縮放援雇、移動(dòng)或傾斜矛渴。

這兩點(diǎn)是Transform的概念和應(yīng)用場(chǎng)景,重點(diǎn)在于2D和3D的轉(zhuǎn)換惫搏,那么呢具温?2D和3D的轉(zhuǎn)換是有一定的數(shù)學(xué)基礎(chǔ)的,為什么這么說(shuō)呢筐赔?我們需要了解兩個(gè)概念

第一個(gè):透視投影

從某一點(diǎn)發(fā)射出去的光線铣猩,是互不平行的,然后就會(huì)有一個(gè)近大遠(yuǎn)小的效果茴丰。比如:家里的燈泡达皿,我們把一個(gè)東西離得燈泡越近,那么它的影子就越大贿肩,離得越遠(yuǎn)峦椰,影子就越小。

與之對(duì)應(yīng)的:正交投影

正交投影的投影線垂直于投影平面汰规,里面的光線是互相平行的汤功;比如生活中的太陽(yáng)發(fā)出的光都是平行光。

CSS的坐標(biāo)系統(tǒng):它的坐標(biāo)系是一個(gè)左手坐標(biāo)系溜哮,綠色的是x軸的方向也就是屏幕的方向滔金,向右正方向;紅色的是y軸茂嗓,向下是正方向餐茵;藍(lán)色是z軸,屏幕向外是正方向述吸。(如下圖所示)

left.png

CSS變換都是基于左手坐標(biāo)系和透視投影忿族。

常用屬性主要有:Transform-origin(基準(zhǔn)點(diǎn)),基于哪一個(gè)點(diǎn)來(lái)做變換,Transform-style(元素呈現(xiàn)方式2D還是3D)肠阱,Rotate(旋轉(zhuǎn)-度數(shù)),Scale(縮放-大衅佣痢)屹徘,Skew(傾斜-左右),Translate(移動(dòng)-x/y軸)衅金,Perspective(透視)噪伊。

2、瀏覽器的兼容

  • 完全支持Transform第一個(gè)瀏覽器版本
bowser1.png
  • 完全支持Transform-origin第一個(gè)瀏覽器版本
bowser2.png
  • 完全支持Transform-style第一個(gè)瀏覽器版本

    bowser3.png

3氮唯、Rotate(旋轉(zhuǎn)鉴吹,分為2D旋轉(zhuǎn)和3D旋轉(zhuǎn))

  • rotate(angle),2D旋轉(zhuǎn)

    transform: rotate(45deg);
    
  • rotateX(angle)惩琉,沿X軸3D旋轉(zhuǎn)

    transform: rotate(45deg);
    
  • rotateY(angle) 豆励, 沿 Y 軸3D旋轉(zhuǎn)

    transform: rotate(45deg);
    
  • rotateZ(angle) , 沿 Z 軸3D旋轉(zhuǎn)

    transform: rotate(45deg);
    
  • rotate3d(x, y, z, angle) 瞒渠, 3D旋轉(zhuǎn)良蒸;接收四個(gè)參數(shù),x y z 介于0-1之間伍玖,確定三維空間唯一坐標(biāo)點(diǎn)嫩痰,angle圍繞原點(diǎn)與x y z 坐標(biāo)點(diǎn)連線的旋轉(zhuǎn)角度。

    元素圍繞著xyz在空間中確定的唯一坐標(biāo)點(diǎn)和原點(diǎn)之間的連線旋轉(zhuǎn)指定的角度窍箍,這就是rotate3D串纺。

    transform: rotate3d(1,1,1,45deg);
    

4、Scale(縮放椰棘,同樣分為2D縮放和3D縮放)

  • scale(x[, y]) 纺棺,2D 縮放
    transform: scale(2);
    
  • scaleX(x) , 沿 X 軸縮放
    transform: scaleX(2);
    
  • scaleY(y) 晰搀, 沿 Y 軸縮放
    transform: scaleY(2);
    
  • scaleZ(z) 五辽, 沿 Z 軸縮放 - 單獨(dú)使用時(shí)沒(méi)有任何效果
    transform: scaleZ(2);
    
  • scale3d(x, y, z) , 定義每個(gè)方向上的縮放 外恕, Z方向單獨(dú)使用時(shí)沒(méi)有任何效果
    transform: scale(2,2,2);
    

5杆逗、Skew(傾斜)

  • skewX(angle) - 沿 X 軸的 2D 傾斜
    transform: skewX(45deg);
    
  • skewY(angle) - 沿 Y 軸的 2D 傾斜
    transform: skewY(45deg);
    
  • skew(angle-x, angle-y) - 沿 X Y 軸的 2D 傾斜
    transform: skewY(45deg, 45deg);
    

6、Translate(移動(dòng))

  • translateX(x) 鳞疲, 沿 X 軸位移
    transform: translateX(20px);
    
  • translateY(y) 罪郊, 沿 Y 軸位移
    transform: translateY(20px);
    
  • translateZ(z) , 沿 Z 軸位移尚洽,需要配合perspective屬性一起使用
    transform: translateZ(20px);
    
  • translate(x, y) 悔橄, 沿 X Y 軸位移
    transform: translate(20px,20px);
    
  • translate3d(x, y, z) , 沿 X Y Z 軸位移
    transform: translate(20px, 20px, 20px);
    

7、Perspective癣疟,定義的是視覺(jué)和元素在3D空間Z平面之間的距離

transform: perspective(200px);

8挣柬、Transform-origin(基準(zhǔn)點(diǎn))

在前面的例子里,旋轉(zhuǎn)和傾斜都是基于中心位置睛挚,也就是基準(zhǔn)點(diǎn)的默認(rèn)值:50% 50% 0邪蛔;Transform-origin接收三個(gè)參數(shù),x-axis y-axis z-axis扎狱;

在x的方向上可以指定:left侧到、center、right淤击、length和%匠抗;在y軸的方向上可以指定:top、center污抬、bottom汞贸、length和%;在y軸的方向上只可以指定:length壕吹。

transform-origin: x-axis y-axis z-axis;

9著蛙、Transform-style(三維空間的展現(xiàn)形式)

主要有兩個(gè)值:float - 2D形式和preserve-3d - 3D形式。

本篇文章主要分享了Transform的基本概念耳贬,簡(jiǎn)要介紹了CSS3坐標(biāo)系統(tǒng)與透視原理, 重點(diǎn)介紹了Transform常用的Rotate(旋轉(zhuǎn))踏堡、Scale(縮放)、Skew(傾斜)咒劲、Translate(移動(dòng))顷蟆、Perspective(透視)屬性。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末腐魂,一起剝皮案震驚了整個(gè)濱河市帐偎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蛔屹,老刑警劉巖削樊,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異兔毒,居然都是意外死亡漫贞,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)育叁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)迅脐,“玉大人,你說(shuō)我怎么就攤上這事豪嗽∏疵铮” “怎么了豌骏?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)隐锭。 經(jīng)常有香客問(wèn)我窃躲,道長(zhǎng),這世上最難降的妖魔是什么钦睡? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任框舔,我火速辦了婚禮,結(jié)果婚禮上赎婚,老公的妹妹穿的比我還像新娘。我一直安慰自己樱溉,他們只是感情好挣输,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著福贞,像睡著了一般撩嚼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上挖帘,一...
    開(kāi)封第一講書(shū)人閱讀 49,079評(píng)論 1 285
  • 那天完丽,我揣著相機(jī)與錄音,去河邊找鬼拇舀。 笑死逻族,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的骄崩。 我是一名探鬼主播聘鳞,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼要拂!你這毒婦竟也來(lái)了抠璃?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤脱惰,失蹤者是張志新(化名)和其女友劉穎搏嗡,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體拉一,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡采盒,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了舅踪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片纽甘。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖抽碌,靈堂內(nèi)的尸體忽然破棺而出悍赢,到底是詐尸還是另有隱情决瞳,我是刑警寧澤,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布左权,位于F島的核電站皮胡,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏赏迟。R本人自食惡果不足惜屡贺,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望锌杀。 院中可真熱鬧甩栈,春花似錦、人聲如沸糕再。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)突想。三九已至殴蹄,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間猾担,已是汗流浹背袭灯。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留绑嘹,地道東北人稽荧。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像工腋,于是被迫代替她去往敵國(guó)和親蛤克。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 在介紹有關(guān)transform相關(guān)的知識(shí)之前夷蚊,先來(lái)講一下transform-origin的用法以及關(guān)于角度的幾種取值...
    跪鍵盤(pán)的小泰迪閱讀 1,206評(píng)論 0 2
  • CSS門(mén)檻低构挤,無(wú)需程序基礎(chǔ)或數(shù)學(xué)邏輯能力,也能做出點(diǎn)自我感覺(jué)不錯(cuò)的東西惕鼓。然而筋现,你自己也應(yīng)該清楚的,一般你能輕松學(xué)到...
    果汁涼茶丶閱讀 15,925評(píng)論 1 21
  • CSS3動(dòng)畫(huà)的屬性主要分為三類:transform箱歧、transition以及animation矾飞。 Transfor...
    may_mico閱讀 11,984評(píng)論 1 19
  • Transforrm屬性是控制2D或者3D元素的縮放,傾斜呀邢,移動(dòng)洒沦,旋轉(zhuǎn) 上面代碼復(fù)制到html文件你大概會(huì)明白tr...
    九歌1閱讀 1,003評(píng)論 0 0
  • 看了很多視頻、文章价淌,最后卻通通忘記了申眼,別人的知識(shí)依舊是別人的瞒津,自己卻什么都沒(méi)獲得。此系列文章旨在加深自己的印象括尸,因...
    DCbryant閱讀 1,854評(píng)論 0 4