第24章 CSS3变形效果(上)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第24章 CSS3变形效果(上)相关的知识,希望对你有一定的参考价值。


第 24章 CSS3变形效果[上]
学习要点:
1.transform
2.transform-origin
3.浏览器版本

本章主要探讨 html5中 CSS3的变形效果,通过变形效果,可以平移、缩放和旋转元
素的功能。

一.transform
CSS3提供了元素变形效果,也叫做变换。它可以将元素实现旋转、缩放和平移的功能。
属性有两个:transform和 transform-origin。
属性 说明
transform 指定应用的变换功能
transform-origin 指定变换的起点

对于 transform的属性值,具体如下表:
属性值 说明
none 无变换
translate(长度值或百分数值) 在水平方向、垂直方向或两个方向上平移元素。
translateX(长度值或百分数值)
translatY(长度值或百分数值)


scale(数值) 在水平方向、垂直方向或两个方向上缩放元素
scaleX(数值)
scaleY(数值)

rotate(角度) 旋转元素

 

skew(角度)
skewX(角度)
skewY(角度) 在水平方向、垂直方向或两个方向上使元素倾斜一定的角度

 

matrix(4~6数值,逗号隔开)
指定自定义变换。
//向水平和垂直各移动 200像素,也可以使用百分比
transform: translate(200px,200px);
//向水平平移 200像素,不加后面的 0也可以



transform: translate(200px,0);
transform: translateX(200px);
//向垂直平移 200像素
transform: translate(0,200px);
transform: translateY(200px);
//水平、垂直方向放大 1.5倍
transform: scale(1.5);
transform: scale(1.5,1.5);
//水平、垂直方向缩小 0.8倍
transform: scale(0.8,0.8);
//水平方向放大 1.5倍
transform: scaleX(1.5);
//垂直方向放大 1.5倍
transform: scaleY(1.5);
//旋转元素,0 ~ 360度之间,负值均可
transform: rotate(-45deg);
//倾斜元素,0 ~ 360度之间,负值均可
transform: skew(45deg, 20deg);
//水平倾斜元素,0 ~ 360度之间,负值均可
transform: skewX(45deg);
//垂直倾斜元素,0 ~ 360度之间,负值均可
transform: skewY(45deg);
//通过六个数值指定矩形,其内部公式计算较为复杂,请百度吧
transform: matrix(1,0,0,1,30,30);
//不同的值可以累计,通过空格分割
transform: rotate(-45deg) scale(1.5);
二.transform-origin
transform-origin属性可以设置变换的起点。默认情况下,使用元素的中心作为起点。
具体设置方案参考如下表:
属性值 说明
百分数值 指定元素 x轴或 y轴的起点
长度值 指定距离

left
center 指定 x轴的位置
right

 

top
center 指定 y轴的位置
bottom


这个属性是用来改变变形的基准点的,默认是在元素的中心位置,如果你改变了基准点。
它就会按照这个基准点进行变形。
//默认值,以中心点变形
transform-origin: center center;
transform-origin: 50% 50%;
//以左上角为基准点变形
transform-origin: left top;
transform-origin: 0px 0px;

 

三.浏览器版本
查找网站
//兼容完整版
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-o-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
-webkit-transform-origin: left top;
-moz-transform-origin: left top;
-o-transform-origin: left top;
-ms-transform-origin: left top;
transform-origin: left top;


<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8">
<title>CSS3变形效果[上]</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>

<div>我是HTML5</div>
111

</body>
</html>

@charset "utf-8";

body {
margin: 100px;
}

div {
width: 200px;
height: 200px;
background-color: green;
box-shadow: 2px 2px 2px gray;

/*平移*/
/*transform: translate(200px, 200px);*/
/*transform: translate(0, 200px);*/
/*transform: translateX(200px);*/
/*transform: translateY(200px);*/

/*缩放*/
/*transform: scale(1.5);*/
/*transform: scale(0.5);*/
/*transform: scale(1.5, 2.0);*/
/*transform: scaleX(0.5);*/
/*transform: scaleY(0.5);*/

/*旋转*/
/*transform: rotate(-45deg);*/

/*倾斜*/
/*transform: skew(45deg, 20deg);*/
/*transform: skewX(45deg);*/
/*transform: skewY(45deg);*/

/*通过六个值自定义矩形*/
/*transform: matrix(1, 0, 0, 1, 30, 30);*/

/*多个属性值空格隔开*/
/*transform: rotate(45deg) scale(1.5);*/

transform: rotate(45deg);

/*transform-origin: center center;*/
/*transform-origin: 50% 50%;*/

/*transform-origin: left top;*/
transform-origin: 0 0;
}

以上是关于第24章 CSS3变形效果(上)的主要内容,如果未能解决你的问题,请参考以下文章

CSS3之变形

第22章 CSS渐变效果

第23章 CSS边框图片效果

CSS3 transform介绍 | 如何设计炫酷的动画效果

怎样在网页上实现3D效果?

css3 2D转换效果