iT邦幫忙

2025 iThome 鐵人賽

DAY 29
0
Modern Web

HTML&CSS30天修煉系列 第 29

day29Html transform

  • 分享至 

  • xImage
  •  

transform函數可以讓物件進行,移動或放大等操作,透過transform:來使用
transform: translateX(數值),物件往右方向移動,如果數值會負數會變成向左移動
transform:translateY(數值),物件往下方移動,如果數值是負數,變成往上移動
transform:translate(x方向,y方向)透過translate可以合併兩者,移動方式會變成往右上,右下,左下,或左上,如果其中一個設0,就變成正常的translateY或translateX

div {
            width: 100px;
            height: 100px;
            background-color: rgb(0,154,255);
            color: #ff00a6;
            transition: all 1s 0.2ms;
            border: 1px solid black;
            align-items: center;
            display: inline-block;
            margin: 1vw;
        }
.box{width:100vw; background-color: skyblue;height:70vh;}
.box:hover{background-color: skyblue;}
.box:hover div{
            background-color: yellow;
            border: 1px double violet;
        }
.box:hover .div1{

            transform: translateX(200px);
        }
.box:hover .div2{
            transform: translateX(-200px);
            
        }
.box:hover .div3{
            transform: translateY(200px);
        }
.box:hover .div4{
           transform: translateY(-200px);
        }
.box:hover .div5{
           transform: translate(200px, 200px);
        }
    <div class="box">
        <div class="div1">
          translateX(200px);
        </div>
        <div class="div2">
          translateX(-200px);
        </div>
        <div class="div3">
          translateY(200px);
        </div>
        <div class="div4">
         translateY(-200px);
        </div>
        <div class="div5">
          translate(200px, -200px);
        </div>
    </div>

透過給父容器hover來讓全部一起移動,不然transform會改變物件位置,如果單給各個物件hover可能會有重複判定,導致不斷抖動的問題

https://ithelp.ithome.com.tw/upload/images/20251013/20178696jxwD3mV142.png
scale-x:左右縮放
scale-y:上下縮放
scale:等比放大

.box:hover .div1{transform:scaleX(1.5);}
.box:hover .div2{transform: scaleY(1.5);}
.box:hover .div3{transform: scaleX(-0.5);}
.box:hover .div4{transform: scaleY(0.5);}
.box:hover .div5{transform: scale(1.5);}

scale以比例來放大或縮小,1是原比例,1.5就是放大1.5倍,0.5縮小0.5倍,如果加負數會反轉
https://ithelp.ithome.com.tw/upload/images/20251013/20178696EkydloDCe9.png
rotate,旋轉,rotate的使用單位是deg,表示角度的意思,360是轉一圈,
rotate-x:上下翻轉
rotate-y:左右翻轉
rotate:旋轉,正常是順時針轉,如果加負數就變逆時針轉

.box:hover .div1{transform:rotate(720deg);}
.box:hover .div2{transform: rotate(-720deg);}
.box:hover .div3{transform:rotateX(720deg)}
.box:hover .div4{transform: rotateY(720deg);}

https://ithelp.ithome.com.tw/upload/images/20251013/20178696SzZsDtjRzZ.png


上一篇
DAY28Html grid3
系列文
HTML&CSS30天修煉29
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言