CSS 变形动画 水平,垂直翻转元素

CSS3的2D变形属性,scale:用来缩放元素(放大和缩小),translate:在屏幕上移动元素(上下左右),rotate:按照一定角度旋转元素(单位为度),skew:沿X和Y轴对元素进行斜切,matrix:允许以像素精度来控制变形效果。变形是在文档外发生的。一个变形的元素不会影响它附近未变形元素的位置。

transform-origin:注意在CSS里,默认的变形原点是在正中心:元素X轴的50%和Y轴的50%处。这个和SVG默认的左上角是不同的。使用transform-origin,我们可以修改变形原点。第一个值是水平方向上的偏移量,第二个值是垂直方向上的偏移量。关键字代表方向的数值。如果使用长度,它们会相对元素左上角计算该点位置。

CSS3实现翻转元素

.flipper {
    perspective: 400px;
    position: relative;
    width: 300px;
    height: 44px;
}

.flipper + .flipper {
    margin-top: 1em;
}

.flipper-object {
    position: absolute;
    width: 100%;
    height: 100%;
    transition: transform 1s;
    transform-style: preserve-3d;
}

.panel {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    top: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    backface-visibility: hidden;
}

.flipper-vertical .back {
    transform: rotateX(180deg);
}

.flipper-horizontal .back {
    transform: rotateY(180deg);
}

.back {
    background-color: #CC3232;
}

.front {
    background-color: #739328;
}

.flipper:hover .flipper-vertical {
    transform: rotateX(180deg);
}

.flipper:hover .flipper-horizontal {
    transform: rotateY(180deg);
}

其中比较关键的元素是:transform-styles:preserve-3d;这告诉浏览器,当我们要为这个元素创造变形效果时,它的子元素也保持3D效果。perspective可以给元素设置透视(浏览器支持不好)。backface-visibility:hidden;这个属性定义元素不面向元素时是否隐藏。默认隐藏元素,可以翻转180度。hover时,元素翻转180%。

transform3d这个属性,可以在X,Y,Z轴上移动元素。

transform3d最大用处在于将面板移入移出屏幕,尤其是如“离屏”导航模式。

 

转载于:https://www.cnblogs.com/wlxll/p/8461392.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值