3D轉換

1 3D轉換

轉換是使元素改變形狀、尺寸和位置的一種效果

1-1 rotateX() 方法

通過 rotateX() 方法,元素圍繞其 X 軸以給定的度數進行旋轉。

div {

? width: 100px;

? height: 100px;

? background-color: #0F0;

? border: 1px solid

}

.div { transform: rotateX(50deg) }

運行效果:

rotateY() 旋轉

通過 rotateY() 方法,元素圍繞其 Y 軸以給定的度數進行旋轉。

.div { transform: rotateY(50deg) }

運行效果:

rotateZ() 旋轉

通過 rotateZ() 方法,元素圍繞其 Z 軸以給定的度數進行旋轉。

.div { transform: rotateZ(50deg) }

運行效果:

1-2 轉換屬性

transform 向元素應用 2D 或 3D 轉換。

transform 屬性向元素應用 2D 或 3D 轉換。該屬性允許我們對元素進行旋轉、縮放、移動或傾斜

語法:transform: none|transform-functions;

transform-origin 允許你改變被轉換元素的位置。

設置旋轉元素的基點位置

transform-origin 屬性允許您改變被轉換元素的位置

語法:transform-origin:x-axisy-axisz-axis;

.div {

? width: 200px;

? height: 200px;

? margin: 50px;

? border: 1px solid

}

.div1 {

? width: 100px;

? height: 100px;

? background-color: #0F0;

? transform: rotateZ(50deg);

? transform-origin: 30% 60%

}

運行效果:

transform-style 規定被嵌套元素如何在 3D 空間中顯示。

transform-style 屬性規定如何在 3D 空間中呈現被嵌套的元素。

.div {

? position: relative;

? border: 1px solid;

? margin: 100px;

? padding:10px;

? width: 200px;

? height: 200px

}

.div1 {

? position: absolute;

? padding: 50px;

? background-color: #F0F;

? border: 1px solid;

? transform: rotateY(30deg);

? transform-style: preserve-3d

}

.div2 {

? position: absolute;

? padding: 40px;

? background-color: #0F0;

? transform: rotateY(10deg);

? border: 1px solid

}

運行效果

perspective規定 3D 元素的透視效果。

perspective 屬性定義 3D 元素距視圖的距離,以像素計。該屬性允許您改變 3D 元素查看 3D 元素的視圖。

.div {

? position: relative;

? border: 1px solid;

? margin: 100px;

? padding:10px;

? width: 200px;

? height: 200px;

? perspective: 100px

}

.div1 {

? position: absolute;

? padding: 50px;

? background-color: #F0F;

? border: 1px solid;

? transform: rotateY(30deg)

}

perspective-origin 規定 3D 元素的底部位置。

perspective-origin 屬性定義 3D 元素所基于的 X 軸和 Y 軸。該屬性允許您改變 3D 元素的底部位置。

.div {

? position: relative;

? border: 1px solid;

? margin: 100px;

? padding:10px;

? width: 200px;

? height: 200px;

? perspective: 100px;

? perspective-origin: 10% 30%

}

.div1 {

? position: absolute;

? padding: 50px;

? background-color: #F0F;

? border: 1px solid;

? transform: rotateY(30deg)

}

運行效果

backface-visibility 定義元素在不面對屏幕時是否可見。

語法:backface-visibility: visible(可見)|hidden(隱藏);

2 過度

2-1 瀏覽器支持如何工作

css3過渡是元素從一種樣式逐漸改變為另一種的效果

要實現這一點,必須規定兩項內容:

一,規定你希望把效果添加到那個css屬性上

二,規定效果的時長

div {

? width: 100px;

? height: 100px;

? background-color: #F0000F;

? transition: width 3s

}

div:hover { width: 300px }

運行效果

初始圖


觸發效果圖(執行過程3s)

2-2 多項改變

div {

? width: 100px;

? height: 100px;

? background-color: #F0000F;

? transition: width 3s, height 3s, background-color 3s, transform 3s

}

div:hover {

? width: 300px;

? height: 300px;

? background-color: yellow;

? transform: rotate(360deg)

}

運行效果

初始圖
觸發效果執行過程的變化
觸發完成 效果圖

鼠標懸浮時觸發效果,原圖會在規定時間運行完畢,鼠標離開,圖會在相同時間內恢復原圖!若未規定時間,觸發的的時候便完成效果

2-3 過渡屬性

transition 簡寫屬性,用于在一個屬性中設置四個過渡屬性。

transition-property 規定應用過渡的 CSS 屬性的名稱。

transition-duration 定義過渡效果花費的時間。默認是 0。

transition-timing-function 規定過渡效果的時間曲線。默認是 "ease"。

transition-delay 規定過渡效果何時開始。默認是 0。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 各種純css圖標 CSS3可以實現很多漂亮的圖形,我收集了32種圖形,在下面列出。直接用CSS3畫出這些圖形,要比...
    劍殘閱讀 9,693評論 0 8
  • 今天天氣好晴朗處處好風光伴隨著好天氣的到來心情都更加明朗了呢是不是該學點燒腦的內容了呢傻球也要出來曬曬太陽咯~ C...
    Iris_mao閱讀 634評論 0 2
  • 注意: 文中的img標簽![](images/jacky/xin.png) 全部變成了macdown格式 一. 什...
    壹點微塵閱讀 252評論 0 0
  • 選擇qi:是表達式 標簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    love2013閱讀 2,337評論 0 11
  • 《硅谷之謎》是吳軍老師的一本新著。以下是我讀這本書的一些讀書筆記和心得。 硅谷并不是一個地理上的概念,地圖上或GP...
    劉敏捷閱讀 645評論 0 1