分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

CSS3 Transform

发布时间:2023-09-06 02:13责任编辑:沈小雨关键词:CSS

CSS transform 属性(变形,改变)允许你修改CSS视觉格式模型的坐标空间。使用它,元素可以被 translate(转换),rotate(旋转),scale(缩放),skew(倾斜)

需要特别强调一点:transform 属性只对 块级元素生效(有些大牛博客说对内联元素和块级元素),亲测结果如下:

<h3>块级元素DIV</h3> <div class="img"> ?????<img src="https://mdn.mozillademos.org/files/15157/firefox.png" alt=""></div><h3>行内元素SPAN</h3> ???<span class="img"> ???<img src="https://mdn.mozillademos.org/files/15157/firefox.png" alt=""> ???</span>
.img{ ?width: 80px; ?>img{ ???width: 80px; ?} ?&:hover{ ???transform: rotate(45deg) ?}}

可以看到,transform 属性对块级元素有效,对内联元素无效

语法:

transform: none | transform-function[ transform-function transform-function ...]

none 是默认值,表示不改变

transform-function 是转换函数,以 空格 隔开,也就是说对同一个元素,可以进行多种不同的变形操作,如:

transform: rotate translate skew

transform-origin CSS属性让你更改一个元素转换的原点

transform-origin 属性可以用一个,两个或三个值来指定,其中每一个值表示一个偏移量

  • 一个值     必须是<length>,<percentage> 或 left,center,right,top,bottom 关键字中的一个
  • 两个值     
    • 其中一个必须是 <length>,<percentage> 或 left,center,right 关键字中的一个
    • 另一个必须是 <length>,<percentage> 或 center,top,bottom 关键字中的一个
  • 三个值    
    • 前两个值和只有两个值的用法相同
    • 第三个值必须是 <length> 它始终代表 Z 轴偏移量

1、rotate(旋转)

transform: ?rotate(angle); ??????/* an <angle>, e.g. ?rotate(30deg) */

从转换原点(由 transform-origin 指定,默认是圆中心)开始,按照 顺时针 方向旋转一个特定的角度 (正数:顺时针,负数:逆时针)

2.scale(缩放)

transform: ?scale(sx[, sy]); ????/* one or two unitless <number>s, e.g. ?scale(2.1,4) */

由 [sx, sy] 描述指定一个二维缩放数组。如果 sy 未指定,默认认为和 sx 的值相同

X 方向缩放

transform: ?scaleX(sx); ?????????/* a unitless <number>, e.g. ?scaleX(2.7) */

Y 方向缩放

transform: ?scaleY(sy) ??????????/* a unitless <number>, e.g. ?scaleY(0.3) */

示例效果:(默认转换原点)

3、skew(倾斜)

transform: ?skew(ax[, ay]) ??????/* one or two <angle>s, e.g. ?skew(30deg,-10deg) */

元素在 X 轴 和 Y 轴方向以指定的角度倾斜。如果 ay 未提供,在 Y轴上没有倾斜

X方向倾斜

transform: ?skewX(angle) ????????/* an <angle>, e.g. ?skewX(-30deg) */

Y方向倾斜

transform: ?skewY(angle) ????????/* an <angle>, e.g. ?skewY(4deg) */

示例效果:(默认转换原点)

5、translate(平移)

transform: ?translate(tx[, ty]) ?/* one or two <length> values */

用向量 [tx, ty] 完成 2D 平移,如果没有 ty 指定,它的值默认为 0

X 方向平移

transform: ?translateX(tx) ??????/* see <length> for possible values */

Y 方向平移

transform: ?translateY(ty) ??????/* see <length> for possible values */

示例效果:(默认转换原点)

不同厂商浏览器下的前缀书写规则:

//Mozilla内核浏览器:firefox3.5+ ?-moz-transform: rotate | scale | skew | translate ;//Webkit内核浏览器:Safari and Chrome ?-webkit-transform: rotate | scale | skew | translate ;//Opera ?-o-transform: rotate | scale | skew | translate ;//IE9 ?-ms-transform: rotate | scale | skew | translate ;//W3C标准 ?transform: rotate | scale | skew | translate ;

CSS3 Transform

原文地址:https://www.cnblogs.com/rogerwu/p/9584941.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved