丸子學(xué)CSS(學(xué)習(xí)1小時 - 3D轉(zhuǎn)換與關(guān)鍵幀)

3D轉(zhuǎn)換

三維變換使用基于二維變換的相同屬性猛蔽,可以讓我們基于三個坐標(biāo)方向?qū)υ剡M行變換。和二維變形一樣,三維變形可以使用transform屬性來設(shè)置

3D移動

translate3d(x,y,z) 使元素在這三個緯度中移動,也可以分開寫曼库,如:translateX(length),translateY(length), translateZ(length)

3D縮影

scale3d(number,number,number)使元素在這三個緯度中縮放区岗,也可分開寫,如:scaleX(),scaleY(),scaleZ()

3D旋轉(zhuǎn)

a) rotate3d(x,y,z,angle):指定需要進行旋轉(zhuǎn)的坐標(biāo)軸
a) rotateX(angle) 是元素依照x軸旋轉(zhuǎn)毁枯;
b) rotateY(angle) 是元素依照y軸旋轉(zhuǎn)慈缔;
c) rotateZ(angle) 是元素依照z軸旋轉(zhuǎn)

3D透視/景深效果

左手法則:大拇指指向當(dāng)前坐標(biāo)軸的下方向,手指環(huán)繞的方向就是正方向

  • perspective(length)
    為一個元素設(shè)置三維透視的距離种玛。僅作用于元素的后代藐鹤,而不是其元素本身。當(dāng)perspective:none/0;
    時蒂誉,相當(dāng)于沒有設(shè)perspective(length)教藻。比如你要建立一個小立方體距帅,長寬高都是200px右锨。如果你的
    perspective < 200px ,那就相當(dāng)于站在盒子里面看的結(jié)果碌秸,如果perspective 非常大那就是站在非常遠(yuǎn)的地方看(立方體已經(jīng)成了小正方形了)绍移,意味著perspective 屬性指定了觀察者與z=0平面的距離,使具有三維位置變換的元素產(chǎn)生透視效果
  • perspective-origin 屬性規(guī)定了鏡頭在平面上的位置讥电,默認(rèn)是放在元素的中心
  • transform-style 使被轉(zhuǎn)換的子元素保留其3D轉(zhuǎn)換(需要設(shè)置在父元素中)
flat   子元素將不保留其3D位置——平面方式
preserve-3d  子元素將保留其3D位置——立體方式

嘗試一下

  body,html {
    background: #222;
    font-size: 22px;
    color: rgb(18, 204, 250);
  }
  .page {
    position: relative;
    max-width: 640px;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    background: #373737;
  }
  .cude{
    position:absolute;
    top:200px;
    left:100px;
    width: 100px;
    -webkit-perspective: 1000px;
    perspective: 1500px;
  }
  .dice {
    position: absolute;
    width: 300px;
    height: 300px;
    transform: rotateX(-15deg) rotateY(47deg);
    transform-style: preserve-3d;
    -webkit-transform-style: preserve-3d;
    animation: rotate 6s linear infinite alternate;
  }
  
  .dice .side {
    position: absolute;
    display: block;
    width: 50px;
    height: 50px;
    background: rgba(241, 160, 8,.4);
    text-align: center;
    line-height:300px;
    color:#fff;
    font-size:40px;
    font-weight: bold;
    border:1px solid orange;
    animation: move 6s linear infinite alternate-reverse;
  }
  .front{
    transform:translateZ(150px);
  }
  .top{
    transform: rotateX(90deg) translateZ(150px);
  }
  .bottom{
     transform: rotateX(-90deg) translateZ(150px);
  }
  .left{
        transform: rotateY(-90deg) translateZ(150px);
}
  .right{
    transform: rotateY(90deg) translateZ(150px);
  }
  .back{
     transform: rotateY(-180deg) translateZ(150px);
  }
  @keyframes move {
    0% {}
    100% {
      width: 300px;
      height: 300px;
    }
  }
  @keyframes rotate {
    0%{
      transform: rotate3d(0,0,0,0deg);
    }
    100% {
      transform: rotate3d(45,45,45,720deg);
    }
  }

關(guān)鍵幀動畫

動畫是CSS3中具有顛覆性的特征之一蹂窖,可通過設(shè)置多個節(jié)點來精確控制一個或一組動畫,常用來實現(xiàn)復(fù)雜的動畫效果

  • 必要元素
    a. 通過@keyframes指定動畫序列恩敌; 自動補間動畫瞬测,確定兩個點,系統(tǒng)會自動計算中間過程纠炮,這兩個點就稱為關(guān)鍵幀月趟,可以設(shè)置多個關(guān)鍵幀
    b. 通過百分比將動畫序列分割成多個節(jié)點
    c. 在各個節(jié)點中分別定義各屬性
    d. 通過animation將動畫應(yīng)用于相應(yīng)元素
  • animation常用屬性
    a. 動畫序列的名稱:animation-name: move;
    b. 動畫的持續(xù)時間:animation-duration: 1s;
    c. 動畫的延時:animation-delay: 1s;
    d. 播放狀態(tài):animation-play-state: paused|running;
    e. 播放速度:animation-timing-function: linear;
    f. 播放次數(shù) 反復(fù):animation-iteration-count: 1;
    g. 動畫播放完結(jié)后的狀態(tài):animation-fill-mode: forwards;
    h. 循環(huán)播放時,交叉動畫:animation-direction: alternate;

先來看個簡單的demo

嘗試一下

  .wrapper {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 1100px;
    height: 900px;
    overflow: hidden;   
    animation: dropdown 6s linear infinite;
  }
  .container {
    position: absolute;
    left: 0;
    width: 25300px;
    height: inherit;
    animation: move 2s steps(23) infinite ;
  }
  .container img {
    float: left;
    width: 1100px;
    height: 900px;
  }
  @keyframes move{
    to{
      left: -25300px;
    }
  }
  @keyframes dropdown{
    0%{
      top: -1900px;
    }
    40%,70%{
      top: 0;
    }
    100%{
      top: 1900px;
    }
  }
  .txt {
    position: absolute;
    left: -236px;
    width: 300px;
    font-size: 48px;
    color: orange;
    text-shadow: 0 0 18px deeppink;
    writing-mode: vertical-rl;
    
    animation: gogogo 10s ease-in infinite;
  }
  @keyframes gogogo{
    from{
      top: -500px;
    }
    to{
      top: 1000px;
    }
  }
  .wrapper:before {
    position: absolute;
    left: 0;
    z-index: 99;
    content: "";
    width: 8px;
    height: 900px;
    background: deepskyblue;
    box-shadow: 0 0 10px 4px skyblue;
    animation: line 6s infinite alternate;
  }
  .wrapper:after {
    position: absolute;
    right: 0;
    z-index: 99;
    content: "";
    width: 8px;
    height: 900px;
    background: deepskyblue;
    box-shadow: 0 0 10px 4px skyblue;
    animation: line 6s infinite alternate;
  }
  @keyframes line{
    from{
      height: 0;
    }
    to{
      height: 900px;
    }
  }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末恢口,一起剝皮案震驚了整個濱河市孝宗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌耕肩,老刑警劉巖因妇,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異猿诸,居然都是意外死亡婚被,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進店門梳虽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來摔寨,“玉大人,你說我怎么就攤上這事怖辆∈歉矗” “怎么了删顶?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長淑廊。 經(jīng)常有香客問我逗余,道長,這世上最難降的妖魔是什么季惩? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任录粱,我火速辦了婚禮,結(jié)果婚禮上画拾,老公的妹妹穿的比我還像新娘啥繁。我一直安慰自己,他們只是感情好青抛,可當(dāng)我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布旗闽。 她就那樣靜靜地躺著,像睡著了一般蜜另。 火紅的嫁衣襯著肌膚如雪适室。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天举瑰,我揣著相機與錄音捣辆,去河邊找鬼。 笑死此迅,一個胖子當(dāng)著我的面吹牛汽畴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播耸序,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼忍些,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了佑吝?” 一聲冷哼從身側(cè)響起坐昙,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎芋忿,沒想到半個月后炸客,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡戈钢,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年痹仙,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片殉了。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡开仰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情众弓,我是刑警寧澤恩溅,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站谓娃,受9級特大地震影響脚乡,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜滨达,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一奶稠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧捡遍,春花似錦锌订、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至污秆,卻和暖如春劈猪,著一層夾襖步出監(jiān)牢的瞬間昧甘,已是汗流浹背良拼。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留充边,地道東北人庸推。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像浇冰,于是被迫代替她去往敵國和親贬媒。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,092評論 2 355

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