国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

CSS3 立體 3D 變換

這篇具有很好參考價(jià)值的文章主要介紹了CSS3 立體 3D 變換。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


個(gè)人主頁:學(xué)習(xí)前端的小z
個(gè)人專欄:HTML5和CSS3悅讀
本專欄旨在分享記錄每日學(xué)習(xí)的前端知識(shí)和學(xué)習(xí)筆記的歸納總結(jié),歡迎大家在評(píng)論區(qū)交流討論!


?CSS3 立體 3D 變換

CSS3 立體 3D 變換,HTML5和CSS3悅讀,css3,3d,前端,css,html5

??1 坐標(biāo)軸

什么是3D的場景呢?2D場景,在屏幕水平和垂直的交叉軸線x軸和y軸。

3D場景,在垂直于屏幕的方法,相對(duì)于3D多出個(gè)Z軸。

Z軸:靠近屏幕的方向是正向,遠(yuǎn)離屏幕的方向是反向。

CSS3 立體 3D 變換,HTML5和CSS3悅讀,css3,3d,前端,css,html5

CSS3中的3D變換主要包括以下幾種功能函數(shù):

3D位移

  • CSS3中的3D位移主要包括translateZ()和translate3d(x,y,z)兩個(gè)功能函數(shù);

3D旋轉(zhuǎn)

  • CSS3中的3D旋轉(zhuǎn)主要包括rotateX()、rotateY()、rotateZ()和rotate3d()四個(gè)功能函數(shù);
  • 再2d中,只有 rotate(30deg)

3D縮放

  • CSS3中的3D縮放主要包括scaleZ()和scale3d()兩個(gè)功能函數(shù);

3D透視視圖

  • CSS3中的3D轉(zhuǎn)換元素定義透視視圖,主要包括perspective(n)函數(shù)或者perspective屬性;

??2 perspective 透視視圖

perspective 透視視圖也可以就叫做視距、景深。

如果沒有定義 perspective 視距,就相當(dāng)于沒有近大遠(yuǎn)小。

滿足下面兩個(gè)設(shè)置,才會(huì)產(chǎn)生近大遠(yuǎn)小的感觀:

  • 設(shè)置 perspective 視距
  • 必須在 z 軸上面有變換(平移、旋轉(zhuǎn)、縮放)

CSS3 立體 3D 變換,HTML5和CSS3悅讀,css3,3d,前端,css,html5

程序中實(shí)現(xiàn)的方法 perspective 元素距離,視線的距離(物體和眼睛的距離越小,近大遠(yuǎn)小的效果越明顯):

  • perspective: 1200px;(在父盒子中使用)
  • transform: perspective(1200px);(在子元素中使用)

兩個(gè)都設(shè)置會(huì)發(fā)生沖突,建議只設(shè)置父元素,通常的數(shù)值在900~1200之間。

如果當(dāng)你的視線距離物體足夠遠(yuǎn)的時(shí)候,基本上就不會(huì)有近大遠(yuǎn)小的感覺。

??2.1 perspective-origin

perspective-origin 屬性:定義一個(gè)觀察者的角度。

默認(rèn)情況下,坐標(biāo)系的 Z 軸位于父元素的水平中線與垂直中線的交界處。

我們可以通過設(shè)置 perspective-origin 來調(diào)整位置,使用絕對(duì)定位樣式移動(dòng)元素時(shí),此時(shí)坐標(biāo)系的 X 軸和 Y 軸以設(shè)置了相對(duì)定位的祖先元素的中點(diǎn)為原點(diǎn)。

CSS3 立體 3D 變換,HTML5和CSS3悅讀,css3,3d,前端,css,html5

要注意的是,在調(diào)整 z 軸的位置的時(shí)候,用戶的視角也會(huì)跟著發(fā)生變化。

perspective-origin 屬性可以定義一個(gè)觀察者的角度,俯視、仰視、左右側(cè)視等等。

perspective-origin 屬性有兩個(gè)值,取值有3種方式:長度、百分比、方位單詞。

取值:

  • perspective-origin: x軸距離 y軸距離;
  • perspective-origin: x軸百分比 y軸百分比; 默認(rèn)觀察源為 50% 50%,父元素的中心點(diǎn)
  • perspective-origin: 方位單詞1 方位單詞2; 方位單詞:top、bottom、center、left、right
  • 若只設(shè)置了一個(gè)值,則第二個(gè)值默認(rèn)為 50%

??3 旋轉(zhuǎn)

https://virtual.bbcmic.ro/?disc1=elite.ssd&autoboot

rotateX|Y|Z()方法,在一個(gè)給定度數(shù)順時(shí)針旋轉(zhuǎn)的元素。負(fù)值是允許的,這樣是元素逆時(shí)針旋轉(zhuǎn)。

左手法則:

transform: rotateX(30deg); /*在3D空間內(nèi),沿著x軸順時(shí)針旋轉(zhuǎn)*/
transform: rotateY(30deg); /*在3D空間內(nèi),沿著y軸順時(shí)針旋轉(zhuǎn)*/
transform: rotateZ(30deg); /*在3D空間內(nèi),沿著z軸順時(shí)針旋轉(zhuǎn)*/

rotate3d(1,1,1, 30deg); /*3d繪制軟件,它自動(dòng)生成向量坐標(biāo)*/
/*
x,y,z的取值為0~1
rotate3d(1,1,1, 30deg) --------->表示x,y,z與30deg的乘積,rotateX(30deg)、rotateY(30deg)、rotateZ(30deg)
rotate3d(0,0,1, 30deg) --------->表示x,y,z與30deg的乘積,rotateX(0)、rotateY(0)、rotateZ(30deg)
*/

如果需要復(fù)雜的3d效果,一般都會(huì)使用3D繪制軟件,3dmax,uity ----> .obj ----> 3d圖形

怎么查看旋轉(zhuǎn)的3d效果,一般會(huì)開啟perspective視距,有一個(gè)遠(yuǎn)小近大。

??5 transform-style 語法

使被轉(zhuǎn)換的子元素保留其 3D 轉(zhuǎn)換,給需要 3D 變換的父(上一級(jí)或者上上級(jí))元素設(shè)置

transform-style: flat|preserve-3d;
描述
flat 子元素將不保留其 3D 位置。2D舞臺(tái)
preserve-3d 子元素將保留其 3D 位置。3D舞臺(tái)

transform-style: preserve-3d 能使在同一位置的元素中心點(diǎn)交匯。自然 flat 值就是不能夠交匯咯。

只要CSS繪制3D圖形,這個(gè)transform-style必須加上,perspective可以選擇性的添加。

??6 transform-origin

描述
x-axis 定義視圖被置于 X 軸的何處??赡艿闹担簂eft、center、right、length、%
y-axis 定義視圖被置于 Y 軸的何處??赡艿闹担簍op、center、bottom、length、%
z-axis 定義視圖被置于 Z 軸的何處??赡艿闹担簂ength

示例:

/* 
    將 z軸的原點(diǎn)坐標(biāo)設(shè)置為+50px,相當(dāng)于這時(shí)候原點(diǎn)坐標(biāo)向我們眼睛靠近50px
    這時(shí)候加上景深的100px,相當(dāng)于我們距離屏幕為150px了。
*/
transform: perspective(100px);
transform-origin: 50% 50% 50px;

transform-origin其實(shí)和視距也是有關(guān)系的。

??7 平移

translate()方法,根據(jù)左(X 軸)和頂部(Y 軸)位置給定的參數(shù),從當(dāng)前元素位置移動(dòng)。

transform: translateX(30px);
transform: translateY(30px);
transform: translateZ(30px);

translate3d(x,y,z);

??8 縮放

CSS3 3D變形中的縮放主要有scaleZ()和scale3d()兩種函數(shù),當(dāng)scale3d()中x軸和y軸同時(shí)為1,即scale3d(1,1,sz),其效果等同于scaleZ(sz)。通過使用3D縮放函數(shù),可以讓元素在Z軸上按比例縮放。默認(rèn)值為1,當(dāng)值大于1時(shí),元素放大,反之小于1大于0.01時(shí),元素縮小

scale3d(sx,sy,sz)

  • sx:橫向縮放比例
  • sy:縱向縮放比例
  • sz:Z軸縮放比例

scaleZ(s)

  • s:指定元素每個(gè)點(diǎn)在Z軸的比例
  • scaleZ(z)是難點(diǎn),指的z軸方向上的縱深(視距),并不會(huì)在z軸方向加厚元素,需要在父元素設(shè)置,然后觀察子元素位移距離的增加
/*為什么它不會(huì)產(chǎn)生任何效果?*/
transform: perspective(100px) scaleZ(2);
原因就是沒有產(chǎn)生近大遠(yuǎn)小,至少來說,必須要通過其他的變形函數(shù)產(chǎn)生近大遠(yuǎn)小才可以看到效果

正確示例:

transform: perspective(100px) scaleZ(2) translateZ(1px);

注意:scaleZ()和scale3d()函數(shù)單獨(dú)使用時(shí)沒有任何效果,需要配合其他的變形函數(shù)一起使用才會(huì)有效果

scaleZ需要配合 perspective 和 rotateX(45deg) 觀看效果。文章來源地址http://www.zghlxwxcb.cn/news/detail-851965.html

.box {
    transform-style: preserve-3d;
    perspective: 800px;
}

.center {
    transform: scaleZ(10) rotateX(45deg);
}

/*or*/

.box {
    transform-style: preserve-3d;
}
.center {
    transform: perspective(800px) scaleZ(10) rotateX(45deg);
}

到了這里,關(guān)于CSS3 立體 3D 變換的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • css3-----3D變換,前端開發(fā)入門到精通

    css3-----3D變換,前端開發(fā)入門到精通

    x y z 的方向: 2、3d移動(dòng) translate3d 1.transform:translateX(npx);在x軸方向移動(dòng) 2.transform:translateY(npx); 在y軸方向移動(dòng) 3.transform:translateZ(npx); 在Z軸方向移動(dòng) 4.transform:translate3d(x,y,z);綜合寫法 3、視距perspective 給元素添加3D效果,要給其父元素添加3D效果 視距:眼睛到屏幕的距離。視距與物

    2024年04月25日
    瀏覽(29)
  • 【CSS3系列】第六章 · 2D和3D變換

    【CSS3系列】第六章 · 2D和3D變換

    ? ? ? ? Hello大家好,?我是【 麟-小白 】,一位 軟件工程 專業(yè)的學(xué)生,喜好 計(jì)算機(jī)知識(shí) 。希望大家能夠一起 學(xué)習(xí)進(jìn)步 呀!本人是一名 在讀大學(xué)生 ,專業(yè)水平有限,如發(fā)現(xiàn) 錯(cuò)誤 或 不足之處 ,請(qǐng)多多指正!謝謝大家?。?! ? ? ? ? 如果 小哥哥小姐姐們 對(duì)我的文章感興趣

    2024年02月08日
    瀏覽(31)
  • HTML5和CSS3七CSS3四

    代碼下載地址 Transision過渡動(dòng)畫是從一個(gè)狀態(tài)到另一個(gè)狀態(tài),而Animation動(dòng)畫可以有多個(gè)關(guān)鍵幀 animation-name:設(shè)置動(dòng)畫ID animation-duration:設(shè)置動(dòng)畫總時(shí)長 animation-timing-function:設(shè)置動(dòng)畫時(shí)間函數(shù),同過渡動(dòng)畫 animation-iteration-count:設(shè)置動(dòng)畫播放次數(shù),默認(rèn)1次,可以是具體次數(shù)也可

    2023年04月23日
    瀏覽(25)
  • CSS3與HTML5

    CSS3與HTML5

    box-sizing content-box:默認(rèn),寬高包不含邊框和內(nèi)邊距 border-box:也叫怪異盒子,寬高包含邊框和內(nèi)邊距 動(dòng)畫:移動(dòng)translate,旋轉(zhuǎn)、transform等等 走馬燈:利用動(dòng)畫實(shí)現(xiàn)animation:from… to… 隱藏元素: visibility:hidden 占位 display:none 不占位 畫頁面前重置瀏覽器自帶樣式 快格式化上

    2024年02月07日
    瀏覽(35)
  • HTML5和CSS3筆記

    HTML5和CSS3筆記

    1.1:頁面結(jié)構(gòu): 1.2:標(biāo)簽類型: 1.2.1:塊標(biāo)簽: ?1.2.2:行內(nèi)標(biāo)簽: 1.2.3:行內(nèi)塊標(biāo)簽: 1.2.4:塊標(biāo)簽與行內(nèi)標(biāo)簽的轉(zhuǎn)換: (可以設(shè)置在不在同一行和隱藏) 1.3:表單與表格標(biāo)簽: ? 表單:? ? 表格:? ?1.4:H5標(biāo)簽: 1.4.1:語義標(biāo)簽: ? 1.4.2:多媒體標(biāo)簽: (音頻audio和視

    2024年03月24日
    瀏覽(23)
  • html5和css3的新特性

    標(biāo)簽 ????????!-- 高亮 mark -- ?? ??? ?!-- 摘要概述 -- ?? ??? ?details ?? ??? ??? ?summary ?? ??? ??? ??? ?咖啡 ?? ??? ??? ?/summary ?? ??? ??? ?ul ?? ??? ??? ??? ?li拿鐵/li ?? ??? ??? ??? ?li美式/li ?? ??? ??? ?/ul ?? ??? ?/details ?? ??? ???

    2024年02月11日
    瀏覽(32)
  • HTML5CSS3提高

    HTML5 的新增特性主要是針對(duì)于以前的不足,增加了一些新的標(biāo)簽、新的表單和新的表單屬性等。 這些新特性都有兼容性問題,基本是 IE9+ 以上版本的瀏覽器 才支持,如果不考慮兼容性問題,可以大量使用這些新特性。 以前布局,我們基本用 div 來做。div 對(duì)于搜索引擎來說,

    2024年02月14日
    瀏覽(25)
  • 尚硅谷html5+css3(3)布局

    尚硅谷html5+css3(3)布局

    1.文檔流normal flow -網(wǎng)頁是一個(gè)多層結(jié)構(gòu) -通過CSS可以分別為每一層設(shè)置樣式 -用戶只能看到最頂層 -最底層:文檔流(我們所創(chuàng)建的元素默認(rèn)都是從文檔流中進(jìn)行排列) 2.盒子模型 ? 1.盒子模型-邊框 2.盒子模型-內(nèi)邊距 3.盒子模型-外邊距 4.盒子模型-水平方向的布局 5.盒子模型

    2024年04月09日
    瀏覽(42)
  • 【CSS3】CSS3 3D 轉(zhuǎn)換 ① ( CSS3 3D 轉(zhuǎn)換簡介 | 3D 物體與 2D 物體區(qū)別 | 3D 空間坐標(biāo)系 | 常用的 3D 轉(zhuǎn)換屬性 | 3D 位移轉(zhuǎn)換語法 | 代碼示例 )

    【CSS3】CSS3 3D 轉(zhuǎn)換 ① ( CSS3 3D 轉(zhuǎn)換簡介 | 3D 物體與 2D 物體區(qū)別 | 3D 空間坐標(biāo)系 | 常用的 3D 轉(zhuǎn)換屬性 | 3D 位移轉(zhuǎn)換語法 | 代碼示例 )

    3D 顯示的物體 與 平面 2D 顯示的物體有明顯的不同 , 3D 顯示效果有 近大遠(yuǎn)小 的 特點(diǎn) ; 元素的 2D 的 轉(zhuǎn)換效果 有 平移 , 旋轉(zhuǎn) , 縮放 效果 , 同樣有對(duì)應(yīng)的 3D 轉(zhuǎn)換效果 ; 2D 平面坐標(biāo)系 中 , 只有 x 軸 和 y 軸 ; 3D 空間坐標(biāo)系 比 2D 平面坐標(biāo)系 多了一個(gè) Z 軸 ; x 軸 : 水平向右 ; 左側(cè)是

    2024年02月12日
    瀏覽(32)
  • CSS3提高: CSS3 3D轉(zhuǎn)換

    CSS3提高: CSS3 3D轉(zhuǎn)換

    3D 轉(zhuǎn)換 ? 我們生活的環(huán)境是 3D 的 ,照片就是 3D 物體 在 2D 平面 呈現(xiàn)的 例子。 有什么特點(diǎn) 近大遠(yuǎn)小。 物體后面遮擋不可見 我們?cè)诰W(wǎng)頁上構(gòu)建 3D 效果的時(shí)候參考這些特點(diǎn)就能產(chǎn)出 3D 效果。 三維坐標(biāo)系 三維 坐標(biāo)系其實(shí)就是指立體空間,立體空間是由 3 個(gè)軸共同組成 的。

    2024年02月01日
    瀏覽(35)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包