我们利用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/imghwm/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/imghwm/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/imghwm/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/imghwm/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/imghwm/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/imghwm/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等描述性关键字。

이 기사는 HTML & lt; Progress & Gt에 대해 설명합니다. 요소, 그 목적, 스타일 및 & lt; meter & gt의 차이; 요소. 주요 초점은 & lt; progress & gt; 작업 완료 및 & lt; meter & gt; Stati의 경우

이 기사는 HTML & LT; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

이 기사는 HTML & lt; meter & gt에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex

이 기사는 모바일 장치의 반응 형 웹 디자인에 필수적인 Viewport Meta Tag에 대해 설명합니다. 적절한 사용이 최적의 컨텐츠 스케일링 및 사용자 상호 작용을 보장하는 방법을 설명하는 반면, 오용은 설계 및 접근성 문제로 이어질 수 있습니다.

기사는 HTML5 크로스 브라우저 호환성을 보장하기위한 모범 사례에 대해 논의하고 기능 감지, 점진적 향상 및 테스트 방법에 중점을 둡니다.

이 기사는 html5 & lt; time & gt; 시맨틱 날짜/시간 표현 요소. 인간이 읽을 수있는 텍스트와 함께 기계 가독성 (ISO 8601 형식)에 대한 DateTime 속성의 중요성을 강조하여 Accessibilit를 향상시킵니다.

이 기사에서는 브라우저에서 직접 사용자 입력을 검증하기 위해 필요한, Pattern, Min, Max 및 Length 한계와 같은 HTML5 양식 검증 속성을 사용하는 것에 대해 설명합니다.

이 기사는 & lt; iframe & gt; 외부 컨텐츠를 웹 페이지, 공통 용도, 보안 위험 및 객체 태그 및 API와 같은 대안을 포함시키는 태그의 목적.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

Dreamweaver Mac版
시각적 웹 개발 도구

뜨거운 주제



