2D 转换

css3提供了2D转换功能,能够对元素进行移动、缩放和转动等功能。

2D转换的属性名为transform,使用方法为transform:method(value)。

2D转换方法有

translate()位移

根据给定的left(x坐标)和top(y坐标)位置参数

scale()缩放

scale(2,3)宽度为原来的2倍,高度是原始值的3倍

rotate()旋转

rotate(30deg),给定的度数顺时针旋转,负数就是逆时针

skew()扭曲

kew(30deg,20deg),是绕X轴和Y轴周围20度30度的元素

matrix()矩阵变换

matrix 方法有六个参数,包含旋转,缩放,移动(平移)和倾斜功能。

matrix(a,b,c,d,e,f)

matrix方法是一个综合性的方法,它综合了上述的移动、旋转、缩放等功能,它有6个参数,为了便于理解,以matrix(a,b,c,d,e,f)来进行说明。

参数a:控制横向缩放,作用于元素的宽度,类似于scaleX;

参数b:控制围绕x轴翻转的角度,类似于skewX;

参数c:控制围绕y轴翻转的角度,类似于skewY;

参数d:控制纵向缩放,作用于元素的高度,类似于scaleY;

参数e:控制元素移动,沿x轴进行,类似于translateX;

参数f:控制元素移动,没y轴进行,类似于translateY。

/*rotate方法-----旋转

在一个给定度数顺时针旋转的元素,负值是允许的,表示逆时针旋转

*/

{

background-color:yellow;

/* Rotate div */

transform:rotate(30deg);

-ms-transform:rotate(30deg); /* IE 9 */

-webkit-transform:rotate(30deg); /* Safari and Chrome */

color:#333;

font-weight:bold

}

/*translate------位移

值(50px;100px)从左边元素位移50个像素,并从顶部位移100px

*/

#div2

{

transform:translate(50px,100px);

-ms-transform:translate(50px,100px); /* IE 9 */

-webkit-transform:translate(50px,100px); /* Safari and Chrome */

}

/*scale(2,3)-----放大和缩小

宽度为原来的2倍,高度是原始值的3倍

*/

#div3:hover{

-ms-transform: scale(2,2); /* IE 9 */

-webkit-transform: scale(2,2); /* Safari */

transform: scale(2,2); /* 标准语法 */

}

/*skew()方法

skew(30deg,20deg),是绕X轴和Y轴周围20度30度的元素

*/

#div4:hover

{

transform:skew(30deg,20deg);

-ms-transform:skew(30deg,20deg); /* IE 9 */

-webkit-transform:skew(30deg,20deg); /* Safari and Chrome */

}

/*matrix()方法和2D变换方法合并成一个。

matrix 方法有六个参数,包含旋转,缩放,移动(平移)和倾斜功能。*/

#div5:hover

{

transform:matrix(0.866,0.5,-0.5,0.866,0,0);

-ms-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* IE 9 */

-webkit-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* Safari and Chrome */

}

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>7.2D转换</title>
<style>
.flex-box{
    display: flex;
    margin-top: 100px;
}
.flex-item{
    margin-left: 30px;
}

.div
{
    width:100px;
    height:75px;
    background-color:red;
    border:1px solid black;
}
/*rptate方法-----旋转
在一个给定度数顺时针旋转的元素,负值是允许的,表示逆时针旋转
*/
#div
{
    background-color:yellow;
    /* Rotate div */
    transform:rotate(0deg);
    -ms-transform:rotate(0deg); /* IE 9 */
    -webkit-transform:rotate(0deg); /* Safari and Chrome */
    color:#333;
    font-weight:bold
}
.div {
    -webkit-transition: all 1s ease-in-out;
    -moz-transition: all 1s ease-in-out;
    -o-transition: all 1s ease-in-out;
    transition: all 1s ease-in-out;
    cursor:pointer;
}
#div:hover{
        /* Rotate div */
    transform:rotate(360deg);
    -ms-transform:rotate(360deg); /* IE 9 */
    -webkit-transform:rotate(360deg); /* Safari and Chrome */
}
/*translate------位移
值(50px;100px)从左边元素位移50个像素,并从顶部位移100px
*/
#div2:hover
{
    transform:translate(50px,100px);
    -ms-transform:translate(50px,100px); /* IE 9 */
    -webkit-transform:translate(50px,100px); /* Safari and Chrome */
}

#div3 {
    height: 100px;
    background-color: yellow;
    border: 1px solid black;
}
/*scale(2,3)-----放大和缩小
宽度为原来的2倍,高度是原始值的3倍
*/
#div3:hover{
    -ms-transform: scale(2,2); /* IE 9 */
    -webkit-transform: scale(2,2); /* Safari */
    transform: scale(2,2); /* 标准语法 */
}
/*skew()方法
skew(30deg,20deg),是绕X轴和Y轴周围20度30度的元素
*/
#div4:hover
{
    transform:skew(30deg,20deg);
    -ms-transform:skew(30deg,20deg); /* IE 9 */
    -webkit-transform:skew(30deg,20deg); /* Safari and Chrome */
}
/*matrix()方法和2D变换方法合并成一个。
matrix 方法有六个参数,包含旋转,缩放,移动(平移)和倾斜功能。*/
#div5:hover
{
transform:matrix(1,0.5,-0.5,1,0,0);
-ms-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* IE 9 */
-webkit-transform:matrix(1,0.7,-0.7,1,0,0); /* Safari and Chrome */
}
/*第一个和第四个是放大x和y方向的值*/
/*第五个和第六个是位移变量x和y*/
/*第二个和第三个是旋转 */
</style>
</head>
<body>

<div class="flex-box">
    <div class="flex-item">
        <div class="div" id="div"><p style="text-align:center;">Hello</p></div>
    </div>
    <div class="flex-item">
        <div class="div" id="div2">Hello. This is a DIV element.</div>
    </div>
    <div class="flex-item">
        <div class="div" id="div3">
            div 元素的宽带是原始大小的1倍,高度是原始大小的1倍。
        </div>
    </div>
    <div class="flex-item">
        <div class="div" id="div4">Hello4. This is a DIV element.</div>
    </div>
    <div class="flex-item">
        <div class="div" id="div5">Hello5. This is a DIV element.</div>
    </div>

</div>
</body>
</html>
时间: 2024-07-29 12:21:21

2D 转换的相关文章

css3之2D转换

css3---2D转换 css3中出现了许多新的特性,其中2D转换我觉的非常有意思,通过她,我们能够对元素进行移动.缩放.转动.拉长或者拉伸,所以希望在这里和大家分享以下. 这里,我将会介绍到以下转换方法: translate() rotate() scale() skew() 首先,我们先插入一个简单的html代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-

css3 2d转换3d转换以及动画的知识点汇总

css3 2d转换 2d转换的方法: 1.移动 translate(x, y) 可以改变元素的位置,x.y可为负值: 2.缩放 scale(x, y) 可以对元素进行水平和垂直方向的缩放,x.y的取值可为小数,不可为负值: 4.旋转 rotate(deg) 可以对元素进行旋转,正值为顺时针,负值为逆时针: 5.倾斜 skew(deg, deg) 可以使元素按一定的角度进行倾斜 2d转换的属性: transform transform-origin 用法: 例如: div { transform:

动画,2D转换,,3D转换怎样运用

动画 @keyframes 规则用于创建动画.在 @keyframes 中规定某项 CSS 样式, 就能创建由当前样式逐渐改为新样式的动画效果. 属性{[email protected] 2animation } 如:@keyframes myfirst { from {background: red;} to {background: yellow;} } @-moz-keyframes myfirst /* Firefox */ { from {background: red;} to {b

css3 2d转换

<!DOCTYPE html><html><head> <title>2D转换</title> <style type="text/css"> .box{ width: 400px; height: 400px; margin: 100px auto; position: relative; } img:nth-child(1){ width: 400px; height: 400px; } img:nth-chi

CSS 3学习——transform 2D转换

首先声明一点,transform属性不为none的元素是它的定位子元素(绝对定位和固定定位)的包含块,而且对内创建一个新的层叠上下文. 注意:可以通过 transform-box 属性指定元素的那个盒子发生了变换,该属性的默认值是"border-box",查MDN只有Firefox支持该属性(我试的没效果). CSS 3 中2D转换的实现用到两个属性: 属性 描述 CSS transform 向元素应用 2D 或 3D 转换. 3 transform-origin 指定变换的基点的位置

【Demo】CSS3 2D转换

2D转换: 2D变换方法: translate() 根据左(X轴)和顶部(Y轴)位置给定的参数,从当前元素位置移动. div { transform: translate(50px,100px); -ms-transform: translate(50px,100px); /* IE 9 */ -webkit-transform: translate(50px,100px); /* Safari and Chrome */ } translate值(50px,100px)是从左边元素移动50个像

11.24 2D转换

1 <head> 2 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> 3 <title>2D转换</title> 4 <meta name="keywords" content="关键字列表" /> 5 <meta name="description"

Css3之高级-5 Css转换(简介、2D转换、3D转换)

一.转换简介 转换概述 - 转换是使元素改变形状.尺寸和位置的一种效果 - 又称为变形,即,可以向元素应用2D 或 3D 转换,从而对元素进行旋转.缩放.移动或倾斜 - 2D 转换: 使元素在 X轴 和 Y轴 平面上发生变化,改变其形状.尺寸和位置 - 3D 转换:元素还可以在 Z 轴上发生变化 转换属性 - transform 属性向元素应用 2D 或者 3D 转换 - 指定一组转换函数,取值 - transform: none/transform-function; - none - 默认值

2D转换下的zoom和transfor:scale的区别

一.什么是zoom 在我们做项目和查看别人的网页的时候总会看到在一些元素的样式里,看到有一个家伙孤零零的待在那里,它到底是谁呢? 它的名字叫zoom,zoom的意思是"变焦",虽然在摄影的领域经常被提到,但是在web的世界里也可以这样理解它的意思,就是改变元素的尺寸,进行等比例的缩放. 在最初的那些尴尬的岁月里,zoom只能被IE浏览器兼容,但是现在能被除了FireFox以外的所有浏览器支持,甚至是移动端浏览器. zoom的值的类型可以是: 1.数值:0~1              

CSS3 2D 转换

2D 转换 在本章中,您将学到如下 2D 转换方法: translate() rotate() scale() skew() matrix() 您将在下一章学习 3D 转换. 实例 div { transform: rotate(30deg); -ms-transform: rotate(30deg); /* IE 9 */ -webkit-transform: rotate(30deg); /* Safari and Chrome */ -o-transform: rotate(30deg);