CSS之Transform_html/css_WEB-ITnose
我们利用css3中的transform可以实现文字或图像的旋转、缩放、倾斜和移动四种类型的变形处理。
本文使用的是标准的transform,亦可以使用各个浏览器对应私有的属性。对应如下
- -webkit-transform
- -moz-transform
- -o-transform
不过在我的电脑上用transform效果相同,Chrome 49 Firefox 46 IE 10
一、旋转(rotate)
<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style> img:hover{ transform: rotate(90deg); } </style></head><body> <img src="/static/imghw/default1.png" data-src="http://dl.bizhi.sogou.com/images/2012/03/23/107607.jpg?f=download" class="lazy" alt="CSS之Transform_html/css_WEB-ITnose" ></body></html>
语法格式如下:
rotate(angle)
旋转角度单位有:
- deg 指角度制,一周的角度是360°,直角是90°
- grad 指百分度制,一周的角度是400,直角是100
- turn 圈, 1turn代表旋转一圈
- rad 指弧度制,一周的角度是2π,直角是π/2
转换比例为: 90deg = 100grad = 0.25turn ≈ 1.570796326794897rad
二、缩放(scale)
<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style> img:hover{ transform: scale(1,-1) } </style></head><body> <img src="/static/imghw/default1.png" data-src="http://dl.bizhi.sogou.com/images/2012/03/23/107607.jpg?f=download" class="lazy" alt="CSS之Transform_html/css_WEB-ITnose" ></body></html>
语法格式如下:
scale(number,[number2])
number2是可选的,如果未设置,则与默认与number相同。number可以为正数、负数、小数。
我们将number分为两部分,正负号(+,-)和数值(number的绝对值)。负号(-)意味着元素要被旋转180度,数值部分大于1则放大,小于一则缩小,等于一既不放大又不缩小,为零时消失。
三、移动(translate)
<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style> img:hover{ transform: translate(2in,5cm) } </style></head><body> <img src="/static/imghw/default1.png" data-src="http://dl.bizhi.sogou.com/images/2012/03/23/107607.jpg?f=download" class="lazy" alt="CSS之Transform_html/css_WEB-ITnose" ></body></html>
语法格式如下:
translate(value1,[value2])
第一个参数表示相对于原位置X轴偏移距离,第二个参数表示相对于Y轴偏移个距离,如果省略了第二个参数,则默认为0。正数向右和下偏移,负数向左和上偏移。
距离的单位有:
- 绝对长度单位
- px
- in
- cm
- mm
- 相对字体长度单位
- em
- rem
- pt
- pc
- ex
- ch
- 可视区百分比长度单位
- vw
- vh
- vmin
- vmax
- 离奇的长度单位
- %(百分比)
关于这些长度单位,这有一篇很好的介绍链接http://www.w3cplus.com/css/the-lengths-of-css.html,本段也是参照此链接,不过提示大家,浏览器的版本也在不断的迭代,有些特性需要自己去验证,比如vmax属性在我的chrome浏览器下也行正常运行。
四、倾斜(skew)
<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style> img:hover{ transform: skew(30deg,-0.1turn) } </style></head><body> <img src="/static/imghw/default1.png" data-src="http://dl.bizhi.sogou.com/images/2012/03/23/107607.jpg?f=download" class="lazy" alt="CSS之Transform_html/css_WEB-ITnose" ></body></html>
语法格式:
skew(angle,[angle])
第一个参数表示相对于X轴进行倾斜,第二个参数相对于Y轴进行倾斜,如果省略了第二个参数,则默认为0。
rotate函数只是旋转,不改变元素的形状,但skew函数会改变元素的形状。
五、变形
<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style> img:hover{ transform: matrix(1,0.4,0,1,0,0) } </style></head><body> <img src="/static/imghw/default1.png" data-src="http://dl.bizhi.sogou.com/images/2012/03/23/107607.jpg?f=download" class="lazy" alt="CSS之Transform_html/css_WEB-ITnose" ></body></html>
matrix()函数是一个3x3的矩阵,将旧的参数转换成新的参数。
目前,我对此也不是很了解,大家如有兴趣自行Google。
六、Transform-origin
CSS变形的原点默认是对象的中心点,如果要改变这个中心点,可以使用transform-origin属性进行定义。
<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style> img:hover{ /*以左上角为原点旋转*/ transform-origin: top left; transform: rotate(30deg); } </style></head><body> <img src="/static/imghw/default1.png" data-src="http://dl.bizhi.sogou.com/images/2012/03/23/107607.jpg?f=download" class="lazy" alt="CSS之Transform_html/css_WEB-ITnose" ></body></html>
语法格式:
transform-origin:[ [
transform-origin属性的初始值是50%,50%,使用与块状元素和内联元素。transform-origin接受连个参数,他们可以是百分比、em、px等具体值也可以是left、center、right,或者top、middle、bottom等描述性关键字。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

本文讨论了HTML&lt; Progress&gt;元素,其目的,样式和与&lt; meter&gt;元素。主要重点是使用&lt; progress&gt;为了完成任务和LT;仪表&gt;对于stati

本文讨论了html&lt; datalist&gt;元素,通过提供自动完整建议,改善用户体验并减少错误来增强表格。Character计数:159

本文讨论了HTML&lt; meter&gt;元素,用于在一个范围内显示标量或分数值及其在Web开发中的常见应用。它区分了&lt; meter&gt;从&lt; progress&gt;和前

本文讨论了使用HTML5表单验证属性,例如必需的,图案,最小,最大和长度限制,以直接在浏览器中验证用户输入。

本文解释了HTML5&lt; time&gt;语义日期/时间表示的元素。 它强调了DateTime属性对机器可读性(ISO 8601格式)的重要性,并在人类可读文本旁边,增强Accessibilit

本文讨论了视口元标签,这对于移动设备上的响应式Web设计至关重要。它解释了如何正确使用确保最佳的内容缩放和用户交互,而滥用可能会导致设计和可访问性问题。

本文讨论了&lt; iframe&gt;将外部内容嵌入网页,其常见用途,安全风险以及诸如对象标签和API等替代方案的目的。
