transform介紹

1、transform基本方法

1.rotate 旋轉 deg
rotateX/rotateY/rotateZ
2.translate 平移 px 正值向前移動,負值向后移動
translateX/translateY/translateZ
3.skew 斜切 deg
skewX/skew 正值是拉左上角和右下角,負值拉右上角和左下角
4.scale 縮放(原始大小的多少倍)
scaleX/scaleY
5.perspective 景深
perspective 屬性定義 3D 元素距視圖的距離,以像素計。

rotate,skew,scale都是圍繞著元素的中心點進行變化

2、transform的執(zhí)行順序

transform的執(zhí)行順序,后寫的動畫先執(zhí)行

3、變化原點

transform-origin 變化原點center center。關鍵字:bottom、top、center、left,right,長度單位(px、em、rem),會受到影響的屬性有rotate、skew、scale

4、3D盒子

制作3D盒子代碼:

<div id="wrap">
  <div id="box">
    <span>前</span>
    <span>右</span>
    <span>后</span>
    <span>左</span>
    <span>上</span>
    <span>下</span>
  <div>
</div>
<style>
#wrap {
  width: 100px;
  height: 100px;
  border: 1px solid #000;
  padding: 100px;
  -webkit-perspective: 300px;
  perspective: 300px;
}
#box{
  width: 100px;
  height: 100px;
  color: #fff;
  font-size: 50px;
  line-height: 100px;
  text-align: center;
  position: relative;
  -webkit-transform-style:preserve-3d;
  transform-style:preserve-3d;
  -webkit-transform: translateZ(-50px) rotateY(0deg);
  transform: translateZ(-50px) rotateY(0deg);
  transition:5s;
}
#box span{
  position: absolute;
  left: 0;
  top: 0;
  width: 100px;
  height: 100px;
  transition: 5s;
}
#box span:nth-of-type(1){
  background:red;
  -webkit-transform:rotate(0deg) translateZ(50px);
  transform:rotate(0deg) translateZ(50px);
}
#box span:nth-of-type(2){
  background: yellow;
  -webkit-transform: rotateY(90deg) translateZ(50px);
  transform: rotateY(90deg) translateZ(50px);
}
#box span:nth-of-type(3){
  background: blue;
  -webkit-transform: rotateY(180deg) translateZ(50px);
  transform: rotateY(180deg) translateZ(50px);
}
#box span:nth-of-type(4){
  background: green;
  -webkit-transform: rotateY(270deg) translateZ(50px);
  transform: rotateY(270deg) translateZ(50px);
}
#box span:nth-of-type(5){
  background: pink;
  -webkit-transform: rotateX(90deg) translateZ(50px);
  transform: rotateX(90deg) translateZ(50px);
}
#box span:nth-of-type(6){
  background: #000;
  -webkit-transform: rotateX(-90deg) translateZ(50px);
  transform: rotateX(-90deg) translateZ(50px);
}
</style>
<script>
window.onload=function(){
  var box=document.querySelector('#box');
  box.style.WebkitTransform=box.style.transform='translateZ(-50px) rotateY(360deg)';
}
</script>
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • CSS里transform變形這個屬性有點學習難度,尤其在CSS3里加上了3D效果之后,2維變3維學習成本更是成倍...
    張歆琳閱讀 28,418評論 5 81
  • 關于css3變形 CSS3變形是一些效果的集合,比如平移、旋轉、縮放和傾斜效果,每個效果都被稱作為變形函數(shù)(Tra...
    hopevow閱讀 6,570評論 2 13
  • 看了很多視頻、文章,最后卻通通忘記了,別人的知識依舊是別人的,自己卻什么都沒獲得。此系列文章旨在加深自己的印象,因...
    DCbryant閱讀 1,974評論 0 4
  • CSS3動畫的屬性主要分為三類:transform、transition以及animation。 Transfor...
    may_mico閱讀 12,162評論 1 19
  • 1、屬性選擇器:id選擇器 # 通過id 來選擇類名選擇器 . 通過類名來選擇屬性選擇器 ...
    Yuann閱讀 1,755評論 0 7

友情鏈接更多精彩內容