transform属性是变形的意思,可运用在2D及3D变形,可以对网页元素做旋转、缩放、平移、倾斜、矩阵变形的效果。但不适用於「行内元素」
transform: none|transform-function;
transform-function转换效果共有五种
为了让浏览器有良好的支援,需使用浏览器前缀前缀
-moz- /* firefox浏览器 */
-webkit- /* Safari, google浏览器 */
-o- /* Opera浏览器(早期) */
-ms- /* Internet Explorer */
以下来各别介绍每个使用方法
将元素或物件设定水平或垂直方向移动
<div class="box">
transform
<div class="transform block">
</div>
</div>
.transform{
transform: translate(50px,100px);
background-color: #3f51b5;
width: 100px;
height: 100px;
}
单一边设置,transformX(50),向右移动50px
.transform{
transform: translateX(50px);
}
将元素放大或缩小。预设为1,大於1代表放大;小於1代表缩小
范例:左边是预设宽度100px,高度100px,右边class="transform"设置了scale(1.5),原本元素放大了1.5倍,宽度变150px
.transform{
transform: scale(1.5);
width: 100px;
height: 100px;
}
右边class="transform"设置了scale(0.5),原本元素缩小了0.5倍,宽度变50px
.transform{
transform: scaleX(0.5);
}
单一边设置,scaleX(1.5),X轴(水平轴)放大1.5倍,宽度150px,高度维持100px
.transform{
transform: scaleX(1.5);
width: 100px;
height: 100px;
}
将元素设定旋转
范例:左边是预设,右边旋转20度
.transform{
transform: rotate(20deg);
}
rotate为-20度,会逆时针旋转
.transform{
transform: rotate(-20deg);
}
将元素倾斜
.transform{
transform: skewX(60deg);
}
x,y轴一起设定倾斜
.transform{
transform: skew(30deg, 30deg)
}
把6种变形函式组合成一个矩阵进行的变形组合
transform:matrix(scaleX(),skewY(),skewX(),scaleY(),translateX(),translateY())
使用transform可以一次套用多个变形函式(旋转、缩放...)
范例:一次设置角度、倾斜、平移
transform:rotate(20deg) skew(50deg) translateX(20px);
变形时,预设的变形原点都是物件或DOM元素的中心点,使用transform-origin可以改变变型的基准点
范例:旋转角度设置transform-origin 位置
<div class="box">
<div class="transform1 block">
roate:60deg <br/>
left top
</div>
</div>
<div class="box">
<div class="transform2 block">
roate:60deg <br/>
center center
</div>
</div>
<div class="box">
<div class="transform3 block">
roate:60deg <br/>
right bottom
</div>
</div>
.block{
background-color: #3f51b5;
width: 100px;
height: 100px;
box-sizing: border-box;
padding: 10px;
color: #fff;
}
.transform1{
transform-origin: left top;
transform: rotate(60deg);
}
.transform2{
transform-origin: center center;
transform: rotate(60deg);
}
.transform3{
transform-origin: right bottom;
transform: rotate(60deg);
}
<<: DAY26 - 展现成果,建立 firestore 动态与复杂的查询
Docker-compose 一个专案由多个container组成,如前几天的Web,前端由apac...
设计大纲 今天要来设计「方案」,外面的网站通常会有3个方案供使用者选择。另外如果要吸引使用者注册的话...
前言 今天来学习SwiftUI 的按钮 — Button。 实作 宣告一个 text 按钮 打开一个...
图 23-1: 设定页面 昨天已经完成了永丰金流信用卡收款 API 所需要的设定选项页面,并填入 ...
Day 28 Work With Elastic Cloud 前言 昨天我们讲解完了若是希望能够蒐集...