CSS3中的变形功能-transform功能

CSS3中的变形功能:在CSS3中可以利用transform功能来实现文字或图像的旋转、缩放、倾斜、移动着四种类型的变形功能。

1、如何使用transform功能:

(1)在CSS3中通过transform属性来实现transform功能:

(2)transform功能使用方法:
transform:功能;
-ms-transform:功能;/*IE9*/   
-moz-transform:功能;/*Firefox*/
-webkit-transform:功能;/*Safari和chrome*/
-o-transform:功能;/*Opera*/

2、rotate旋转,在参数中规定角度(rotate表示的是顺时针旋转,deg是CSS3中的角度单位):

(1)使用方法:
-ms-transform:rotate(角度);/*IE9*/   
-moz-transform:rotate(角度);/*Firefox*/
-webkit-transform:rotate(角度);/*Safari和chrome*/
-o-transform:rotate(角度);/*Opera*/

(2)rotate旋转的应用:

1)HTML代码:

<div></div>

2)CSS代码:

div{
	width: 300px;
	height: 300px;
	background-color: lightblue;
	-ms-transform:rotate(45deg);/*IE9*/   
	-moz-transform:rotate(45deg);/*Firefox*/
	-webkit-transform:rotate(45deg);/*Safari和chrome*/
	-o-transform:rotate(45deg);/*Opera*/
}

3)效果图如下:


3、scale缩放转换:

(1)使用方法:transform:scale(值),他的值是指定的缩放倍率,比如0.5就是缩放50%,1就是缩放100%,1.5就是缩放150%;

-ms-transform:scale(值);/*IE9*/   
-moz-transform:scale(值);/*Firefox*/
-webkit-transform:scale(值);/*Safari和chrome*/
-o-transform:scale(值);/*Opera*/

(2)可能的值:
1)scale(x,y)使元素X轴和Y轴同时缩放;
2)scale(x)使元素仅X轴缩放;
3)scale(y)使元素仅Y轴缩放;

(3)scale缩放转换的应用:

1)HTML代码:

<div></div>

2)CSS代码:

div{
	width: 300px;
	height: 300px;
	background-color: lightblue;
	/*缩放值X与Y为正整数时*/
	-ms-transform:scale(2,2);/*IE9*/   
	-moz-transform:scale(2,2);/*Firefox*/
	-webkit-transform:scale(2,2);/*Safari和chrome*/
	-o-transform:scale(2,2);/*Opera*/
	
	/*缩放值X与Y均为小于1的浮点数时*/
	/*-ms-transform:scale(0.5,0.5);*//*IE9*/   
	/*-moz-transform:scale(0.5,0.5);*//*Firefox*/
	/*-webkit-transform:scale(0.5,0.5);*//*Safari和chrome*/
	/*-o-transform:scale(0.5,0.5);*//*Opera*/
	
	/*缩放值仅X为小于1的浮点数时*/
	/*-ms-transform:scaleX(0.5);*//*IE9*/   
	/*-moz-transform:scaleX(0.5);*//*Firefox*/
	/*-webkit-transform:scaleX(0.5);*//*Safari和chrome*/
	/*-o-transform:scaleX(0.5);*//*Opera*/
	
	/*缩放值仅Y为小于1的浮点数时*/
	/*-ms-transform:scaleY(0.5);*//*IE9*/   
	/*-moz-transform:scaleY(0.5);*//*Firefox*/
	/*-webkit-transform:scaleY(0.5);*//*Safari和chrome*/
	/*-o-transform:scaleY(0.5);*//*Opera*/
}

3)效果图如下:

①未缩放时的效果图:


②缩放值X与Y为正整数时的效果图:


③缩放值X与Y均为小于1的浮点数时的效果图:


④缩放值仅X为小于1的浮点数时的效果图:


⑤缩放值仅Y为小于1的浮点数时的效果图:


4、倾斜skew:

(1)使用方法:

transform:skew(角度);它的值是角度;
-ms-transform:skew(角度);/*IE9*/   
-moz-transform:skew(角度);/*Firefox*/
-webkit-transform:skew(角度);/*Safari和chrome*/
-o-transform:skew(角度);/*Opera*/

(2)可能的值:
1)skew(x,y)使元素在水平方向和垂直方向同时扭曲(X轴和Y轴同时按一定的角度值进行扭曲变形)只有一个参数的时候,只在水平方向上倾斜;
2)skewX(x)仅使元素在水平方向上扭曲变形(X轴扭曲变形)
3)skewY(y)仅使元素在垂直方向上扭曲变形(Y轴扭曲变形)

(3)倾斜skew的应用:

1)HTML代码:

<div></div>

2)CSS代码:

div{
	width: 300px;
	height: 300px;
	background-color: lightblue;
	
	/*X轴与Y轴均倾斜*/
	-ms-transform:skew(30deg,30deg);  
	-moz-transform:skew(30deg,30deg);
	-webkit-transform:skew(30deg,30deg);
	-o-transform:skew(30deg,30deg);
	
	/*设置一个值相当于仅X轴倾斜*/
	/*-ms-transform:skew(30deg);*//*IE9*/   
	/*-moz-transform:skew(30deg);*//*Firefox*/
	/*-webkit-transform:skew(30deg);*//*Safari和chrome*/
	/*-o-transform:skew(30deg);*//*Opera*/
	
	/*仅X轴倾斜*/
	/*-ms-transform:skewX(30deg);*//*IE9*/   
	/*-moz-transform:skewX(30deg);*//*Firefox*/
	/*-webkit-transform:skewX(30deg);*//*Safari和chrome*/
	/*-o-transform:skewX(30deg);*//*Opera*/
	
	/*仅Y轴倾斜*/
	/*-ms-transform:skewY(30deg);*//*IE9*/   
	/*-moz-transform:skewY(30deg);*//*Firefox*/
	/*-webkit-transform:skewY(30deg);*//*Safari和chrome*/
	/*-o-transform:skewY(30deg);*//*Opera*/
}

3)效果图如下:

①未倾斜的效果图:


②X轴与Y轴均倾斜的效果图:


③设置一个值相当于仅X轴倾斜的效果图:


④仅X轴倾斜的效果图:


⑤仅Y轴倾斜的效果图:


5、移动translate:

(1)使用方法:

transform:translate(值);它的值是指定移动的距离;
-ms-transform:translate(值);/*IE9*/   
-moz-transform:translate(值);/*Firefox*/
-webkit-transform:translate(值);/*Safari和chrome*/
-o-transform:translate(值);/*Opera*/

(2)可能的值:
1)translate(x,y)水平方向与垂直方向同时移动(也就是X轴和Y轴同时移动)只有一个参数的时候,只在水平方向上移动;
2)translateX(x)仅水平方向(X轴移动)
3)translateY(y)仅垂直方向(Y轴移动)

(3)移动translate的应用:

1)HTML代码:

<div class="main">
	<div class="div"></div>
</div>

2)CSS代码:

.main{
	width: 100%;
	height: 500px;
	background-color: lightcoral;
}
.div{
	width: 300px;
	height: 300px;
	background-color: lightblue;
	
	/*在X轴与Y轴上均移动*/
	-ms-transform:translate(50px,50px);/*IE9*/   
	-moz-transform:translate(50px,50px);/*Firefox*/
	-webkit-transform:translate(50px,50px);/*Safari和chrome*/
	-o-transform:translate(50px,50px);/*Opera*/
	
	/*设置一个值相当于仅在X轴上移动*/
	/*-ms-transform:translate(50px);*//*IE9*/   
	/*-moz-transform:translate(50px);*//*Firefox*/
	/*-webkit-transform:translate(50px);*//*Safari和chrome*/
	/*-o-transform:translate(50px);*//*Opera*/
	
	/*仅在X轴上移动*/
	/*-ms-transform:translateX(50px);*//*IE9*/   
	/*-moz-transform:translateX(50px);*//*Firefox*/
	/*-webkit-transform:translateX(50px);*//*Safari和chrome*/
	/*-o-transform:translateX(50px);*//*Opera*/
	
	/*仅在Y轴上移动*/
	/*-ms-transform:translateY(50px);*//*IE9*/   
	/*-moz-transform:translateY(50px);*//*Firefox*/
	/*-webkit-transform:translateY(50px);*//*Safari和chrome*/
	/*-o-transform:translateY(50px);*//*Opera*/
}

3)效果图如下:

①未移动的效果图:


②在X轴与Y轴上均移动时的效果图:


③设置一个值相当于仅在X轴上移动时的效果图:


④仅在X轴上移动时的效果图:


⑤仅在Y轴上移动时的效果图:


6、对一个元素使用多种变形方法:(同样的方法只能使用一次)

(1)使用方法:

transform:方法1 方法2 方法3 方法4;
-ms-transform:方法1 方法2 方法3 方法4;/*IE9*/   
-moz-transform:方法1 方法2 方法3 方法4;/*Firefox*/
-webkit-transform:方法1 方法2 方法3 方法4;/*Safari和chrome*/
-o-transform:方法1 方法2 方法3 方法4;/*Opera*/

(2)对一个元素使用多种变形方法的应用:

1)HTML代码:

<div class="main">
	<div class="div"></div>
</div>

2)CSS代码:

.main{
	width: 100%;
	height: 500px;
	background-color: lightcoral;
}
.div{
	width: 300px;
	height: 300px;
	background-color: lightblue;
	-ms-transform:translateX(200px) rotate(30deg) skew(30deg,30deg) scaleY(0.5);/*IE9*/   
	-moz-transform:translateX(200px) rotate(30deg) skew(30deg,30deg) scaleY(0.5);/*Firefox*/
	-webkit-transform:translateX(200px) rotate(30deg) skew(30deg,30deg) scaleY(0.5);/*Safari和chrome*/
	-o-transform:translateX(200px) rotate(30deg) skew(30deg,30deg) scaleY(0.5);/*Opera*/
}

3)效果图如下:

①未添加方法时的效果图:


②添加了多种方法时的效果图:


7、改变元素基点transform-origin:

(1)可能的值:

top lefttopright top
leftcenterright
bottom leftbottombottom right

(2)默认情况下transform属性变化的基点是center,但是可以通过transform-origin改变transform属性变化的基点;

(3)改变元素基点transform-origin的应用:

1)HTML代码:

<div class="main">
	<div class="div"></div>
</div>

2)CSS代码:

.main{
	width: 100%;
	height: 500px;
	background-color: lightcoral;
	margin-left: 140px;
	margin-top: 180px;
}
.div{
	width: 300px;
	height: 300px;
	background-color: lightblue;
	-ms-transform:rotate(30deg);/*IE9*/   
	-moz-transform:rotate(30deg);/*Firefox*/
	-webkit-transform:rotate(30deg);/*Safari和chrome*/
	-o-transform:rotate(30deg);/*Opera*/
	
	transform-origin: center;
	/*transform-origin: top;*/
	/*transform-origin: top left;*/
	/*transform-origin: right top;*/
	/*transform-origin: left;*/
	/*transform-origin: right;*/
	/*transform-origin: bottom left;*/
	/*transform-origin: bottom;*/
	/*transform-origin: bottom right;*/	
}

3)效果图如下:

①未添加变形功能的效果图:


②添加旋转功能的效果图:


③以center为基点旋转的效果图:


④以top为基点旋转的效果图:


⑤以top left为基点旋转的效果图:


⑥以right top为基点旋转的效果图:


⑦以left为基点旋转的效果图:


⑧以right为基点旋转的效果图:


⑨以bottom left为基点旋转的效果图:


⑩以bottom为基点旋转的效果图:


⑪以bottom right为基点旋转的效果图:


  • 7
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
CSS3变形(transform)、过渡(transition)、动画(animation)是CSS3非常重要的特性,可以为网页设计带来更加丰富的交互效果和视觉体验。 1. 变形(transform) 变形是指通过CSS3transform属性对元素进行平移、旋转、缩放、倾斜等操作,从而改变元素的形状和位置。具体的变形方式包括: 平移(translate):移动元素的位置。 旋转(rotate):以元素心点为轴心进行旋转。 缩放(scale):缩放元素的大小。 倾斜(skew):倾斜元素。 矩阵变形(matrix):通过矩阵变换实现复杂的变形效果。 示例代码: ``` div { transform: translate(50px, 50px); } ``` 2. 过渡(transition) 过渡是指在元素属性改变时,通过CSS3的transition属性设置过渡时间和过渡效果,从而实现平滑的转换效果。具体的过渡方式包括: 过渡时间(transition-duration):设置过渡动画的时间,单位可以是秒(s)或毫秒(ms)。 过渡效果(transition-timing-function):设置过渡效果,常用的有linear、ease-in、ease-out、ease-in-out等。 过渡属性(transition-property):设置需要过渡的属性,可以是单个属性或多个属性。 过渡延迟(transition-delay):设置过渡动画的延迟时间。 示例代码: ``` div { transition: all 1s ease-in-out; } ``` 3. 动画(animation) 动画是指通过CSS3的animation属性对元素进行动画效果的设置。具体的动画方式包括: 关键帧动画(@keyframes):定义一组动画序列,可以设置元素在不同时间点上的样式。 动画时间(animation-duration):设置动画持续时间,单位可以是秒(s)或毫秒(ms)。 动画速度(animation-timing-function):设置动画速度,常用的有linear、ease-in、ease-out、ease-in-out等。 动画延迟(animation-delay):设置动画延迟时间。 动画方向(animation-direction):设置动画播放方向,可以是正方向(normal)、反方向(reverse)、交替播放(alternate)等。 动画次数(animation-iteration-count):设置动画播放次数,可以是无限次(infinite)。 示例代码: ``` div { animation: myanimation 2s ease-in-out infinite; } @keyframes myanimation { 0% { transform: scale(1); } 50% { transform: scale(1.5); } 100% { transform: scale(1); } } ``` 以上就是CSS3变形、过渡、动画的基本介绍和示例代码,希望对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值