CSS3动画3D

作者: 大小伍 | 来源:发表于2016-12-01 21:44 被阅读12次

3D效果

给需要做3D动画的元素的父元素开启3D效果

transform-style: preserve-sd;

设置距离值:舞台深度

perspective: 2000px;

设置舞台中心点(基准点的位置)

默认父元素的中心
perspective-origin: 100px 0;
无论是开启3D模式,还是设置舞台深度,还是设置基准点,都是设置给父级元素的
只有设置元素背面不可见,是设置给元素自身的
backface-visibility:hidden;

CSS3 transform都有哪些常用属性

transform的属性包括:rotate() / skew() / scale() / translate() ,分别还有x、y之分,比如:rotatex()rotatey() ,以此类推。

transform:rotate():

含义:旋转;其中deg是“度”的意思,如10deg表示10度下同。

/*transform: rotateY(45deg);*/
/*transform: rotateZ(45deg);*/
 /*transform: rotate(45deg, 45deg, 45deg);*/
/*transform: rotate3d(1, 0, 0, 60deg);*/```

>`transform:skew()`:
含义:倾斜;

#####tansform:scale():
>含义:比例;`1.5`表示`以1.5的比例放大`,如果要放大2倍,须写成`2.0`,缩小则为负`-`。
```/*transform: scaleX(1.5);*/
/*transform: scaleY(1.5);*/
/*transform: scaleZ(1.5);   厚度变大:无效*/
/*transform: scale(1.5, 0.5);*/
/*transform: scale3d(1.5, 0.5, 1);*/```

#####transform:translate():
>含义:`变动,位移`;如下表示`向右位移120像素`,如果向上位移,把后面的`0`改个值就行,向左向下位移则为负`-`。
```/*transform: translate(100px, 100px);*/
 /*transform: translate3d(100px, 100px, 1000px);*/```

#元素拖动
> 在网页中,`链接、文字、图片`都可以被拖动
默认情况下,`文字不可以拖动`,需要添加`draggable="true"`属性,方可拖动 .


<div class="box"></div>
var img = document.querySelector(".img");
var box = document.querySelector(".box");
//绑定事件
//开始拖拽元素的时候执行
img.ondragstart = function(e){
console.log('drag start');
//保存被拖拽元素信息
e.dataTransfer.setData("type/img",this.className);
//通过事件对象的dataTransfer 属性对象的setData()方法可以保存一个键值对
//使用e.dataTransfer把当前对象的class值保存进去,为了在其他地方使用
}
//结束拖拽元素的时候执行
img.ondragend = function(){
console.log('drag end');
}
// 拖拽中,鼠标进入目标区域的时候执行
box.ondragenter = function(){
console.log('drag enter');
}
// 拖拽中,鼠标在目标区域时,持续执行
box.ondragover = function(e){
console.log('drag over');

    // 如果想要drop方法执行,需要清除默认事件(dragover)
    // return false;
        //只可以清除用'on'绑定的事件
    e.preventDefault();
}
// 拖拽中,鼠标离开目标区域的时候执行
box.ondragleave = function(){
    console.log('drag leave');
}
// 拖拽中,鼠标在目标区域松开的时候执行,默认不执行
box.ondrop = function(e){
    console.log('drop');
    //获取保存的class值,然后根据class找到元素,然后把元素拼接到当前元素内部
    var classValue = e.dataTransfer.getData("type/img");
    var img = document.querySelector("."+classValue);
    this.appendChild(img);
}```

相关文章

  • css动画

    css3动画 过渡:transition 2D 转换 transform 3D 转换 transform 动画:a...

  • CSS3动画

    CSS3之2D/3D动画 2D的变换3D的变换动画 2D动画的变换 基本说明 注意:一般要写不同浏览器的适配 移动...

  • CSS(二)

    css3动画 2D,3D转换方法 translate()向x,y轴移动 rotate()旋转180度 scale(...

  • 网页高级知识点(三)

    CSS3 transition动画 CSS3 transform变换 CSS3 animation动画

  • 10.3D动画(animation)&过渡(transition

    1. 3D动画(animation) 「动画」是CSS3中最具颠覆性的特征之一,可通过设置多个节点来精确的控制一...

  • CSS3

    一、CSS3 css:层叠样式表。 css3的组成模块:选择器盒模型背景和边框文字特效2D/3D转换动画多列布局用...

  • 3D立方体

    CSS3确实很强大,很多高大上的动画都可以实现,这里来实现下3D立方体,效果图如下: html 其实,实现3D立方...

  • 07day

    CSS3动画 CSS3 @keyframes 规则如需在 CSS3 中创建动画,您需要学习 @keyframes ...

  • css3基础点(1)

    css3选择器 *css3新增的样式 3d作品展示 3d 立方体

  • 08_dayCSS动画

    CSS3新增的功能有:过渡和动画,阴影和圆角 css3过渡动画: css3都有哪些新增的东西 : 过度,动画,阴影...

网友评论

    本文标题:CSS3动画3D

    本文链接:https://www.haomeiwen.com/subject/rfffmttx.html