【CSS3動畫】transform對文字及圖片的旋轉、縮放、傾斜和移動

来源:http://www.cnblogs.com/webonline/archive/2016/11/18/6077198.html
-Advertisement-
Play Games

前言:之前我有寫過CSS3的transform這一這特性,對於它的用法,還不是很透徹,今天補充補充,呵呵 你懂的,小司機準備開車了。 a)再提一提transform的四個屬性 ①旋轉 >rotate(參數a),單位deg,表示旋轉角度,正數順時針,負數逆時針。 ②縮放 >scale(參數a),單位1 ...


前言:之前我有寫過CSS3的transform這一這特性,對於它的用法,還不是很透徹,今天補充補充,呵呵 你懂的,小司機準備開車了。

a)再提一提transform的四個屬性

  ①旋轉--->rotate(參數a),單位deg,表示旋轉角度,正數順時針,負數逆時針。

  ②縮放--->scale(參數a),單位1,也就是“沒有單位”,赤裸裸的0-1之間的數字就行,表示為縮放比例。

  ③傾斜--->skew(參數a,參數b),單位deg,兩個參數分別表示x,y方向上的傾斜角度,正數順時針,負數逆時針。

  ④移動--->translate(參數a),單位px,移動方向是在div這個平面方向上(這樣說起來,應該有點難理解,放在四維坐標中,把div看做是任意一個平面來理解),也有正數之分,正向前,負向後。

 

1)旋轉(rotate),我們先來做一個文字的旋轉,就像下麵這樣

/* HTML */
<div class="div1">我只是一個示例</div>

然後再給它寫點樣式

 1 /* CSS */
 3     .div1 {
 4                 width: 200px;
 5                 height: 50px;
 6                 font-size: 20px;
 7                 line-height: 50px;
 8                 text-align: center;
 9                 border: 1px solid;
10                 margin: 100px auto;
11                 -moz-transform: rotate(45deg);/* Firefox 旋轉屬性,參數表示角度(deg表示角度),負數逆時針,正數順時針 */                
12                 -webkit-transform: rotate(45deg);/* Safari和Chrome */
13                 -ms-transform: rotate(45deg);/* IE 9 */
14                 -o-transform: rotate(45deg);/* Opera */
15             }

 

這是效果圖:下圖是一行文字,被順時針旋轉45度後的效果圖。

 

2)縮放(scale)

1 /* HTML */
2 <div class="div2">我只是一個示例</div>
 1 /* CSS */
 2     .div2 {
 3                 width: 612px;
 4                 height: 408px;
 5                 font-size: 20px;
 6                 margin: 100px auto;
 7                 background: url(img/4.jpg);
 8                 -moz-transform: scale(0.5);/* 縮放屬性 ,參數表示縮放倍數,0-1之間 */                
 9                 -webkit-transform: scale(0.5);
10                 -ms-transform: scale(0.5);
11                 -o-transform: scale(0.5);
12             }

這是效果圖:下圖表示,原圖和被縮小0.5倍後的效果圖

     

       

 

3)傾斜(skew)

1 /* HTML */
2 <div class="div3">我只是一個示例</div>
 1 /* CSS */
 2     .div3 {
 3                 width: 412px;
 4                 height: 208px;
 5                 font-size: 20px;
 6                 margin: 100px auto;
 7                 background: url(img/4.jpg);
 8                 -moz-transform: skew(30deg, 30deg);/* 傾斜屬性,參數分別表示x,y方的傾斜角度,負數逆時針,正數順時針 */    
 9                 -webkit-transform: skew(30deg, 30deg);    
10                 -ms-transform: skew(30deg, 30deg);
11                 -o-transform: skew(30deg, 30deg);
12             }

這是效果圖:下圖表示一張正圖經過 x方向上順時針旋轉30度,y方向順時針旋轉30度後的效果。

 

4)移動(translate)

1 /* HTML */
2 <div class="div4">我只是一個示例</div>
 1 /* CSS */
 2      .div4 {
 3                 width: 612px;
 4                 height: 408px;
 5                 font-size: 20px;
 6                 margin: 100px auto;
 7                 background: url(img/4.jpg);
 8                 -moz-transform: translate(100px);/* 移動屬性 ,移動方向是在div這個平面方向上,*/                
 9                 -webkit-transform: translate(100px);
10                 -ms-transform: translate(100px);
11                 -o-transform: translate(100px);
12             }

我在寫的時候,這個移動,單一用的話,真看不出什麼效果,rbl。transform的四個屬性都寫了一遍,單一運用寫出來的效果真的不盡人意,下麵我們直接把四個屬性組合起來,一起用,寫一個看著逼格稍稍高點的效果,以往看著別的網站有這個效果,當時

覺得真不錯,這兩天有時間就把它寫出來,呵呵,來看看吧!

 

5)整合:旋轉、縮放、傾斜和移動。

首先了,我們要先敲出一個水平方向上的水平面,看著有點像四維的咯!

1 /* HTML */
2 <div class="div5">我只是一個示例</div>
 1 /* CSS */
 3     .div5 {
 4                 width: 612px;
 5                 height: 408px;
 6                 font-size: 20px;
 7                 color: #FFFFFF;
 8                 margin: 100px auto;
 9                 background: url(img/907878604.jpeg);
10                 -moz-transform: rotate(-17deg) scale(0.5) skew(67deg) translate(0px);/* 旋轉-縮放-傾斜-移動 */
11                 -webkit-transform: rotate(-17deg) scale(0.5) skew(67deg) translate(0px);
12                 -ms-transform: rotate(-17deg) scale(0.5) skew(67deg) translate(0px);
13                 -o-transform: rotate(-17deg) scale(0.5) skew(67deg) translate(0px);
14                 box-shadow: -15px 7px 10px 3px #444;
15                 float: left;
16                 position: relative;
17                 left: 30%;
18                 
19             }

看看效果,是有點醜了!呵呵,如果配上一個3D背景,我相信效果會更好,視覺效果會更強

 

下麵我們再寫兩個,複製修改下代碼,再看看

1 /* HTML */
2 <div class="div5_1">我只是一個示例</div>
3 <div class="div5_2">我只是一個示例</div>
 1 /* CSS */
 2    .div5_1 {
 3                 width: 612px;
 4                 height: 408px;
 5                 font-size: 20px;
 6                 color: #FFFFFF;
 7                 margin: 40px auto;
 8                 background: url(907878604.jpeg);
 9                 -moz-transform: rotate(-17deg) scale(0.5) skew(67deg) translate(0px);/* 旋轉-縮放-傾斜-移動 */
10                 -webkit-transform: rotate(-17deg) scale(0.5) skew(67deg) translate(0px);
11                 -ms-transform: rotate(-17deg) scale(0.5) skew(67deg) translate(0px);
12                 box-shadow: -15px 7px 10px 3px #444;
13                 position: absolute;
14                 left: 30%;
15             }
16     .div5_2 {
17                 width: 612px;
18                 height: 408px;
19                 font-size: 20px;
20                 color: #FFFFFF;
21                 margin: -20px auto;
22                 background: url(img/907878604.jpeg);
23                 -moz-transform: rotate(-17deg) scale(0.5) skew(67deg) translate(0px);/* 旋轉-縮放-傾斜-移動 */
24                 -webkit-transform: rotate(-17deg) scale(0.5) skew(67deg) translate(0px);
25                 -ms-transform: rotate(-17deg) scale(0.5) skew(67deg) translate(0px);
26                 box-shadow: -15px 7px 10px 3px #444;
27                 position: absolute;
28                 left: 30%;
29             }

 

看著是不是空間感更強了,如果你細心研究,寫在頁面上的話,再加一些事件、色彩在它上面,我相信,視覺衝擊力就上來了。

 

總結:transform的幾個屬性用法就是這樣的,前端的各位特效,都是自己慢慢細心研究出來的,特效嘛,就像拍電影一樣,要投入時間和精力,你做出來的東西才會耳目一新,頁面給用戶的視覺感,色彩感才會更強。這是關於CSS3的動畫、陰影的一個地址,可以參考學習下http://www.css3maker.com/


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 總結一下一些知識。 1.利用CSS穿透 常見發生場景:假如我們需要通過input,type=‘file’來上傳文件,而這個input的預設樣式,可以說是非常地“不人道”。所以我們希望通過一張圖片,與這個input大小一樣,位置一致地蓋在上面。這個時候,顯然,這個時候點擊圖片,input是不會起作用的 ...
  • 一:移動端基礎事件 1.touchstart 手指觸摸 == mousedown 2.touchend 手指抬起 == mouseup3.touchmove 手指抬起 == mousmovetouch事件 在 chrome的模擬器下,部分版本 通過on的方式來添加事件無效所以在移動端一般都使用如下方 ...
  • 引子 瀏覽器URl地址,上網一定會用到,但是瀏覽器地址有中文或者瀏覽器url參數操作的時候,經常會用到encodeURIComponent()和decodeURIComponent()以及encodeURI()等等。關於瀏覽器參數操作,請看文章http://www.haorooms.com/post ...
  • “Prototype”機制是個半成品OOP,有些文章說這玩意當初為了“簡單(編寫)、容易(學習)”而發明的,但web前端技術發展到今天我們看到,JS顯然是需要OOP的,或者說web前端程式規模增長,需要OOP等更強大、方便的特性、機制。真要簡單容易,你乾脆不要提供能讓人實現繼承的什麼prototyp ...
  • 構造函數、原型鏈: ...
  • 在我們使用php導入和導出excel表格的時候經常會見到 enctype="multipart/form-data",哪他的作用是什麼呢? ENCTYPE="multipart/form-data"用於表單里有圖片上傳。 <form name="userInfo" method="post" act ...
  • 最近用到了Dynatree的樹形結構,記錄一下它的用法。 需求: 1.jquery.js 2.jquery-ui.custom.js 3.jquery.cookie.js 下載dynatree,放到資源路徑下,在頁面引入ui.dynatree.css,jquery.dynatree.js。 以上是基 ...
  • 作用: 1 隱藏域在頁面中對於用戶是不可見的,在表單中插入隱藏域的目的在於收集或發送信息,以利於被處理表單的程式所使用。瀏覽者單擊發送按鈕發送表單的時候,隱藏域的信息也被一起發送到伺服器。 2 有些時候我們要給用戶一信息,讓他在提交表單時提交上來以確定用戶身份,如sessionkey,等等.當然這些 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...