css3通过scale()、rotate()实现放大、旋转


Posted in HTML / CSS onMarch 19, 2020

一、scale()方法

缩放,指的是“缩小”和“放大”。在CSS3中,我们可以使用scale()方法来将元素根据中心原点进行缩放。

跟translate()方法一样,缩放scale()方法也有3种情况:

(1)scaleX(x):元素仅水平方向缩放(X轴缩放);
(2)scaleY(y):元素仅垂直方向缩放(Y轴缩放);
(3)scale(x,y):元素水平方向和垂直方向同时缩放(X轴和Y轴同时缩放);

1、scaleX(x)

语法:

transform:scaleX(x)

说明:

x表示元素沿着水平方向(X轴)缩放的倍数,如果大于1就代表放大;如果小于1就代表缩小。
大家想想倍数是怎样一个概念就很好理解了。

2、scaleY(y)

语法:

transform:scaleY(y)

说明:

y表示元素沿着垂直方向(Y轴)缩放的倍数,如果大于1就代表放大;如果小于1就代表缩小。

3、scale(x,y)

语法:

transform:scale(x,y)

说明:

x表示元素沿着水平方向(X轴)缩放的倍数,y表示元素沿着垂直方向(Y轴)缩放的倍数。
注意,Y是一个可选参数,如果没有设置Y值,则表示X、Y两个方向的缩放倍数是一样的(同时放大相同倍数)。

举例:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head> 
    <title>CSS3缩放scale()用法</title>
    <style type="text/css">
        /*设置原始元素样式*/
        .main
        {
            margin:100px auto;/*水平居中*/
            width:300px;
            height:200px;
            border:1px dashed gray;
        }
        /*设置当前元素样式*/
        #3water
        {
            width:300px;
            height:200px;
            color:white;
            background-color: #3EDFF4;
            text-align:center;
            transform:scaleX(1.5);
            -webkit-transform:scaleX(1.5);  /*兼容-webkit-引擎浏览器*/
            -moz-transform:scaleX(1.5);     /*兼容-moz-引擎浏览器*/
        }
		/*普通方便对比*/
		 #jbzj
        {
            width:300px;
            height:200px;
            color:white;
            background-color: #3EDFF4;
            text-align:center;
        }
    </style>
</head>
<body>
    <div class="main">
        <div id="3water">三水点靠木1</div>
    </div>
    <div class="main">
        <div id="jbzj">三水点靠木2</div>
    </div>
</body>
</html>

在chrome浏览器预览效果如下:

css3通过scale()、rotate()实现放大、旋转

分析:

从上图可以看出,元素沿着X轴方向放大了1.5倍(两个方向同时延伸,整体放大1.5倍)。

transform:scaleY (1.5);
-webkit-transform:scaleY(1.5); /*兼容-webkit-引擎浏览器*/
-moz-transform:scaleY(1.5); /*兼容-moz-引擎浏览器*/

当使用上面代码时,在浏览器预览效果如下:

css3通过scale()、rotate()实现放大、旋转

css3通过scale()实现放大功能

通过rotate()实现旋转功能

旋转rotate()函数通过指定的角度参数使元素相对原点进行旋转。它主要在二维空间内进行操作,设置一个角度值,用来指定旋转的幅度。如果这个值为正值,元素相对原点中心顺时针旋转;如果这个值为负值,元素相对原点中心逆时针旋转。如下图所示:

css3通过scale()、rotate()实现放大、旋转

HTML代码:

<div class="wrapper">
  <div></div>
</div>

CSS代码:

.wrapper {
  width: 200px;
  height: 200px;
  border: 1px dotted red;
  margin: 100px auto;
}
.wrapper div {
  width: 200px;
  height: 200px;
  background: orange;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

演示结果

css3通过scale()、rotate()实现放大、旋转

而transition则可设置元素变化所需的时间

html中的结构代码

<ul>
<li><img src="image/1.jpg" ></li>
<li><img src="image/2.jpg" ></li>
<li><img src="image/3.jpg" ></li>
</ul>

css3样式

ul{ 
margin-top:50px; 
list-style:none; 
} 
ul li{ 
width:200px; 
height:150px; 
float:left; 
margin-left:10px; 
-webkit-transition:all 1s; 
-moz-transition:all 1s; 
-o-transition:all 1s; 
} 
ul li:hover{ 
-webkit-transform:scale(1.5) rotate(10deg); 
-moz-transform:scale(1.5) rotate(10deg); 
-o-transform:scale(1.5) rotate(10deg); 
} 
li img{ 
width:100%; 
height:100%; 
}

以上就是css3通过scale()、rotate()实现放大、旋转的详细内容,更多关于css3放大、旋转的资料请关注三水点靠木其它相关文章!

HTML / CSS 相关文章推荐
CSS实现鼠标滑过鼠标点击代码写法
Dec 26 HTML / CSS
css3实现信纸/同学录效果的示例代码
Dec 11 HTML / CSS
CSS3实现类似翻书效果的过渡动画的示例代码
Sep 06 HTML / CSS
45个非常奇妙的CSS3 特性应用示例
Jan 01 HTML / CSS
css3实现的多级渐变下拉菜单导航效果代码
Aug 31 HTML / CSS
CSS3实现图片抽屉式效果的示例代码
Nov 06 HTML / CSS
HTML5 b和i标记将被赋予真正的语义
Jul 16 HTML / CSS
HTML5 解析规则分析
Aug 14 HTML / CSS
HTML5之WebGL 3D概述(上)—WebGL原生开发开启网页3D渲染新时代
Jan 31 HTML / CSS
H5 canvas实现贪吃蛇小游戏
Jul 28 HTML / CSS
html5开发三八女王节表白神器
Mar 07 HTML / CSS
Html5基于canvas实现电子签名并生成PDF文档
Dec 07 HTML / CSS
CSS3属性 line-clamp控制文本行数的使用
Mar 19 #HTML / CSS
CSS3实现文字描边的2种方法(小结)
Feb 14 #HTML / CSS
用css3实现转换过渡和动画效果
Mar 13 #HTML / CSS
利用CSS3的3D效果制作正方体
Mar 10 #HTML / CSS
css3 transform导致子元素固定定位变成绝对定位的方法
Mar 06 #HTML / CSS
CSS3颜色值RGBA与渐变色使用介绍
Mar 06 #HTML / CSS
CSS3实现水平居中、垂直居中、水平垂直居中的实例代码
Feb 27 #HTML / CSS
You might like
UTF-8正则表达式如何匹配汉字
2015/08/03 PHP
JavaScript Prototype对象
2009/01/07 Javascript
修改jquery里的dialog对话框插件为框架页(iframe) 的方法
2010/09/14 Javascript
JavaScript中switch判断容易犯错的一个细节
2014/08/27 Javascript
jquery判断单选按钮radio是否选中的方法
2015/05/05 Javascript
微信小程序 加载 app-service.js 错误解决方法
2016/10/12 Javascript
jQuery弹出窗口简单实现代码
2017/03/09 Javascript
ES6新特性三: Generator(生成器)函数详解
2017/04/21 Javascript
jQuery创建及操作xml格式数据示例
2018/05/26 jQuery
在create-react-app中使用css modules的示例代码
2018/07/31 Javascript
vuejs点击class变化的实例
2018/09/05 Javascript
vue axios数据请求get、post方法及实例详解
2018/09/11 Javascript
vue使用keep-alive保持滚动条位置的实现方法
2019/04/09 Javascript
VueJS 取得 URL 参数值的方法
2019/07/19 Javascript
浅谈vue中组件绑定事件时是否加.native
2019/11/09 Javascript
jQuery实现轮播图效果demo
2020/01/11 jQuery
javascript用defineProperty实现简单的双向绑定方法
2020/04/03 Javascript
vue组件实现移动端九宫格转盘抽奖
2020/10/16 Javascript
[49:43]VG vs FNATIC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
使用Python编写Linux系统守护进程实例
2015/02/03 Python
Python中设置变量作为默认值时容易遇到的错误
2015/04/03 Python
详解Python的Lambda函数与排序
2016/10/25 Python
Python 列表理解及使用方法
2017/10/27 Python
python实现redis三种cas事务操作
2017/12/19 Python
详解Python中正则匹配TAB及空格的小技巧
2019/07/26 Python
python系统指定文件的查找只输出目录下所有文件及文件夹
2020/01/19 Python
python MultipartEncoder传输zip文件实例
2020/04/07 Python
介绍CSS3使用技巧5个
2009/04/02 HTML / CSS
Linux面试题LINUX系统类
2014/11/19 面试题
毕业生多媒体设计求职信
2013/10/12 职场文书
阳光体育活动实施方案
2014/05/25 职场文书
会计专业自荐信
2014/06/03 职场文书
员工培训协议书
2014/09/15 职场文书
运动会广播稿200字
2014/10/18 职场文书
2015年村级财务管理制度
2015/08/04 职场文书
2016简单的租房合同范本
2016/03/18 职场文书