了解CSS3中那些顛覆性的變化之2D轉換

2020-12-13 兔哥學前端

之前我們說過了H5給我們帶來了很多實用性的變化 ,也說了C3給我們新提供的一些選擇器 和一些偽元素選擇器的改動 ,讓我們在製作網頁變得更加便利.

那麼今天我們就來說說CSS3中具有顛覆性的特徵 , 它就是2D , 3D , 動畫等功能 , 在沒有JS的情況下就能做出動態的頁面.

那下面我們來了解一下CSS3中的2D 轉換的使用

1.CSS3中的2D 轉換

轉換(transform)是CSS3中具有顛覆性的特徵之一,可以實現元素的位移、旋轉、縮放等效果

轉換(transform)你可以簡單理解為變形 ,它擁有3個屬性:

移動:translate

旋轉:rotate

縮放:scale

想要運用轉換 ,我們就必須熟悉坐標系 , 2D轉換是改變標籤在二維平面上的位置和形狀的一種技術,先來熟悉一下二維坐標系 ,我們的網頁窗口就像一個二維坐標 , 以盒子的左上角為原點讓我們的盒子在網頁中實現位移、旋轉、縮放等效果 ,下面讓我們看看它是怎麼來實現的 .

(1)移動(translate)

2D移動是2D轉換裡面的一種功能,可以改變元素在頁面中的位置,類似定位。

使用2d移動的步驟:

1.給元素添加 轉換屬性transform

2.語法

transform: translate(x,y);

transform: translateX(x);

transform: translatxeY(y);

屬性值為translate(x,y)如 transform:translate(50px,50px);y軸向下是正(-50px向上移動) ,x軸向左是正向右為負

給盒子加transform向下向左移動50

定義 2D 轉換中的移動,沿著 X 和 Y 軸移動元素

translate最大的優點:不會影響到其他元素的位置 ,比如浮動和定位都會影響周圍盒子的布局

translate也可以用百分比來表示其中的百分比單位是相對於自身元素的 translate:(50%,50%);

(2)2D 轉換之旋轉 rotate

2D旋轉指的是讓元素在2維平面內順時針旋轉或者逆時針旋轉。

用法:

transform:rotate(度數)rotate裡面跟度數, 單位是 deg 比如 rotate(45deg)或者rotate(-45deg)角度為正時,順時針,負時,為逆時針默認旋轉的中心點是元素的中心點

網頁中可以看到變化角度盒子就會xuan'z

元素旋轉默認的是中心點 ,但是這個點是可以改變的 ,我們可以通過2D 轉換中心點 transform-origin來設置中心點

transform-origin: x y;這裡的x和y可以用百分比 , 像素 ,或者left right等來表示

比如:transform-origin:50% 50%; transform-origin:top left;左上角 transform-origin:50px 50px;

(3)2D 轉換之縮放scale

縮放,顧名思義,可以放大和縮小。 只要給元素添加上了這個屬性就能控制它放大還是縮小。

用法

注意:

1.其中的x和y用逗號分隔

2.transform:scale(1,1) :寬和高都放大一倍,相對於沒有放大

3.transform:scale(2,2) :寬和高都放大了2倍

4.transform:scale(2) :只寫一個參數,第二個參數則和第一個參數一樣,相當於 scale(2,2)

5.transform:scale(0.5,0.5):縮小

6.sacle縮放最大的優勢:可以設置轉換中心點縮放,默認以中心點縮放的,而且不影響其他盒子

注意:

1. 同時使用多個轉換,其格式為:transform: translate() rotate() scale() ...等

2. 其順序會影轉換的效果。(先旋轉會改變坐標軸方向)

3.當我們進行聯寫時,同時有位移和其他屬性的時候,記得要將位移放到最前

CSS3具有顛覆性特徵的2D轉換就這麼多了,之後我們再配合CSS3的動畫,就能做出許多不錯的網頁動畫了 , 希望大家多多關注 ,支持一下 , 我們一起學習交流.

相關焦點

  • 變型不再依賴js,css3就能搞定,前端大神必須知道
    css3中的Transform是用來對元素進行變形;Transition:是控制元素變型的時間。Animation:也可以控制元素變形的時間,可以做動畫效果Transition與Animation:transition需要觸發一個事件 ,animation在不需要觸發任何事件的情況下也可以顯式的隨著時間變化來改變元 素css的屬性值,從而達到一種動畫的效果
  • 前端—— CSS3動畫
    雖說IE9以及更早版本的IE瀏覽器都不支持css3動畫,但是IE6-8瀏覽器已是江河日下,使用谷歌瀏覽器、火狐瀏覽器、IE10+瀏覽器以及移動端瀏覽器等這些支持css3動畫的瀏覽器的人數越來越多,所以如果很簡單的就能讓一部分人獲得更好的用戶體驗,那何樂而不為呢。
  • DIV CSS3和html5 CSS3有什麼區別
    首先,不管是DIV+CSS3還是html5+CSS3,他們都是我們對網頁開發布局方式的統稱,但是DIV+CSS3作為網頁的基礎開發這句話其實並不嚴謹,因為而div只是HTML的一個比較重要的元素而已,而標準的叫法應是HTML+CSS,我們要比較的其實是html+css3和html5
  • Cocos 2d-JS中文版API文檔正式上線
    開源引擎天生具有分享精神,近日,Cocos 2d-JS中文版API文檔正式上線。為滿足廣大國內開發者的閱讀習慣,便於大家能更好地了解引擎架構,學習關鍵技術點,Cocos 2d-JS力邀了眾多開發者參與此次翻譯工作。
  • CSS3滑鼠經過動畫特效
    在網際網路項目開發過程中,經常需要用到特效,以增強視覺特殊效果,給用戶更好的體驗效果;今天給大家分享的是一款css3滑鼠經過動畫特效,在該特效中,當滑鼠經過圖片時,圖片略微放大,底部遮罩層出現,同時圖片的描述文字和連結會以動畫的方式出現在遮罩層之上,非常炫酷。
  • 前端工程師必備的css3動畫技巧
    本文轉載自【微信公眾號:趣談前端,ID:beautifulFront】經微信公眾號授權轉載,如需轉載與原文作者聯繫本文是筆者之前文章用css3實現驚豔面試官的背景即背景動畫(高級附源碼)的續篇也是介紹css3技巧的文章,因為css這塊知識難點不是很多,更多的在於去熟悉css3的新特性和基礎理論知識。
  • H5中CSS3動畫屬性詳解
    經過昨天對3D轉換效果的說明 , 我們知道一個好的工程師 ,就必須注重用戶體驗和交互 ,那麼怎麼讓用戶有更好的體驗呢?那就是通過動畫將我們的靜態頁面,變成具有靈動性,為我們的界面添加個性.css動畫效果下面讓我們來說一說動畫的實現動畫(animation)是CSS3中具有顛覆性的特徵之一,可通過設置多個節點來精確控制一個或一組動畫
  • 因為CSS3,動畫將一切皆有可能
    熱火朝天的css3無疑吸引了很多前端開發者的眼球,然而在css3中的動畫屬性則是新功能中的主打招牌,說到css3的動畫屬性不得不讓人想起這三個屬性:Transform﹑Transition﹑Animation。
  • 前端工程師必備的css3動畫技巧(附源碼)
    本文是筆者之前文章用css3實現驚豔面試官的背景即背景動畫(高級附源碼)的續篇也是介紹css3技巧的文章,因為css這塊知識難點不是很多
  • 未來已來:顛覆性時代的學習之道
    9月8日,教育科學出版社舉辦「未來已來:顛覆性時代的學習之道」——《教育未來簡史》新書發布會。專家就「面向未來的教育變革」等主題開展了研討。教育科學出版社新近出版的《教育未來簡史》一書根據對未來幾十年人類社會發展的預判,剖析了當今教育所面臨的挑戰,敲響了變革創新的警鐘。
  • ...linear;}自動添加css3前綴後div {  display: -webkit-box...
    使用webstorm自動編譯scss文件,並對生成的css文件自動添加瀏覽器支持前綴css書寫div {  display: flex;  animation: all 1s linear;}自動添加css3前綴後div {  display: -webkit-box;  display: -
  • Siemens PLM Software發布Solid Edge 2D Drafting最新版本
    另外,該軟體還提供了直觀、功能強大的轉換嚮導,幫助用戶從二維AutoCAD®和其它製圖軟體順利過渡到三維軟體。     新功能     最新版本的Solid Edge 2D Drafting為AutoCAD二維數據提供了更好的轉換功能,用於支持 color 7、xrefs、模型空間和紙質空間製圖比例。
  • 這一次,國產2d動畫戰勝了3d動畫?
    前幾年,我個人很不看好國產2d連載動畫的發展前景。原因是《全職高手》這種國產2d連載動畫,無非是日本2d動畫體系的延伸。一言以蔽之:那是當時的國產2d動畫,一直處在日本動畫體系之內!所以,2017年左右,我個人認為國產2d連載動畫發展,比較國產3d連載動畫的發展,只怕會遜色一籌的。一個文化體系的延伸,不可能挑戰文化體系本身。那些學習日漫畫風的國產2d連載動畫,怎麼可能超越學習的日漫本身?
  • ...flex;  animation: all 1s linear;}自動添加css3前綴後div...
    使用webstorm自動編譯scss文件,並對生成的css文件自動添加瀏覽器支持前綴css書寫div {  display: flex;  animation: all 1s linear;}自動添加css3前綴後div {  display: -webkit-box;  display: -
  • SolidWorks實例:從2D到3D|CAD圖轉SolidWorks 3D建模
    本實例用到的SolidWorks版本為2016,主要操作概要:導入AutoCAD文件,將2D圖紙按照視圖對齊,添加拉伸切除等特徵,完成2D圖紙到3D模型的轉換。難點:視圖的對齊,需要反覆練習,理解點線對齊的意圖和操作。
  • CSS3中的currentColor ,這個關鍵字你知道嗎?
    這幾天程序思維在研究svg圖片(不了解svg的親們,可以盯著程序思維最近的文章,小編正在著手寫,馬上出爐),發現了一個有趣的東東,如下:紅色框中的currentColor,是什麼東西,打開瀏覽器頁面也沒有報錯,於是百度了一下,原來currentColor是css3中擴展的關鍵字,具體意思就是使用該關鍵字的元素的
  • 《css3入門到精通系列》第一節:強大的css3選擇器
    css3在常規基礎上增加了屬性選擇器、偽類選擇器和過濾選擇器等,減少你在開發中對html和id的依賴,和jquery的選擇器一樣強大;為目標獲取元素後施加樣式提供了極大靈活性。根據頁面元素的不同可將css3選擇器大致分為5類:1、基本選擇器,2、層次選擇器3、偽類選擇器(動態偽類、UI元素狀態偽類、結構為類、否定偽類選擇器)4、偽元素5
  • 3d人臉識別和2d區別
    3d人臉識別和2d區別   三維人臉識別可以應對各種光線幹擾,甚至在夜晚能見度較差的環境下也可以識別人臉信息。更為直觀的理解,3D人臉識別可以在目標移動過程中進行識別,此外立體化識別不局限於人臉正面,適用於各個角度,面部頭髮遮擋、姿態變化也可做到高準確率識別。   3D識別可真正做到訪問控制一對一,毫不誇張地說,這種識別技術可以輕鬆辨認雙胞胎或多胞胎。很多相關企業正著眼於開發三維人臉識別應用及配套解決方案。
  • 為什麼現在很多國漫都是3D的呢,有人說3D比2D省錢,是真的嗎
    看慣了2D再看3D肯定會感覺不適,就跟用慣了隱形眼鏡戴框架眼鏡一樣,我真心想問那些否認國漫3D動畫高質量的角度真的是客觀的嗎?同樣的價錢製作3d和2d,對比一下看看他們花多少錢不就知道哪個省錢了?為什麼大部分2d國產動畫還不錯,怎麼3d動畫就不如2d了,為什麼呢?