登录  /  注册

backface-visibility:hidden的作用是什么

PHPz
发布: 2016-06-06 20:06:54
原创
5006人浏览过
backface-visibility:hidden的作用是:用于定义当元素不面向屏幕时是不可见的。通过该样式我们可以使一个元素在翻转之后消失,此时我们可以把另一个元素放在它的背面,从而实现翻转效果。

backface-visibility:hidden的作用是什么

backface-visibility: hidden是干什么用的?

使用CSS3 backface-visibility属性我们可以制作出许多有趣的动画效果。当你翻转一个元素的时候,你看到的是什么?通常情况下,我们应该看到的是元素的背面,这是正常的情况,但是有时候我们希望翻转一个元素后看到的是另一个元素。

通过backface-visibility:hidden;样式,我们可以使一个元素在翻转之后消失,这时可以使用另一个元素放在它的背面,从而制作出一种元素翻转之后出现另一个元素的效果。

例子的演示地址:http://www.htmleaf.com/Demo/201504151687.html

源码下载:http://down.htmleaf.com/1504/201504152003.zip

什么是backface-visibility

backface-visibility属性和3D transform效果相关,它用于决定当一个元素的背面面向用户的时候是否可见。例如下面图片展示的两个圆形元素,前面一个是正面,后面一个是背面。当它翻转到背面的时候,上面的文字应该是正面的镜像,这是默认的行为。

1.png

浏览器兼容

所有的现代浏览器都支持backface-visibility属性。Chrome、Safari和Opera浏览器需要使用-webkit-的厂商前缀。IE10+的IE浏览器都支持该属性。关于浏览器对animations和transforms的支持,可以查看Can I Use获取相关信息。

应用举例

我们在这篇文章中将会列举4个元素使用backface-visibility翻转的例子。

 旋转的甜甜圈

2.png

这个demo时理解backface-visibility属性的很好的例子。当我们翻转了甜圈后,不希望再看到它的front面。因此我们需要另一幅代表甜圈背面的图片来取代原来的背面。我们会将"front"面和"back"main放置在相同的位置上,"front"面位于"back"面的前面。"front"面使用backface-visibility: hidden;来隐藏背面。它们会沿Y轴同步旋转,转动背面时,"front"面消失,另一幅图片被展示出来。

css</a>;toolbar:false">img {
  position: absolute;
  animation: turn 2s infinite;
}
  
.donut-front {
  z-index: 5;
  backface-visibility: hidden;
}
  
@keyframes turn {
  to {
    transform: rotateY(360deg);
  }
}
登录后复制

两张图片都使用相同的动画,只是第一张图片在旋转到背面时就被隐藏起来,这是第二张图片就自然的展示出来。

洒落的咖啡

3.png

img {
  position: absolute;
  animation: turn-over 2s 700ms infinite;
}
  
.cup-front {
  z-index: 3;
  backface-visibility: hidden;
}
  
.coffee-drip {
  position: absolute;
  transform: rotateX(180deg);
  backface-visibility: hidden;
  animation: spill 2s infinite;
  animation-delay: 700ms;
}
  
@keyframes turn-over {
  to {
    transform: rotateX(-180deg);
  }
}
  
@keyframes spill {
  to {
    transform: translateY(200px);
  }
}
登录后复制

商店的门

4.png

这里有三幅图片:一幅是不带牌子的门的正面,一幅是不带牌子的门的背面(颜色上有区别),还有一幅是挂在门上的牌子。在两个门的图片上都带有相同大小的窗口,这个设置时的门在翻转到背面时窗口也能正常显示。

img {
  position: absolute;
  transform: perspective(600px) rotateY(45deg);
  transform-origin: right;
  animation: open 4s infinite;
}
  
.front {
  z-index: 2;
  backface-visibility: hidden;
}
  
@keyframes open {
  50% {
    transform: perspective(600px) rotateY(-140deg);
  }
}
登录后复制

 当门打开的时候,“front”面消失,“back”展示出来,而门上的窗口保持不变。

更多相关知识,请访问 PHP中文网!!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
相关标签:
css
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 //m.sbmmt.com/ All Rights Reserved | php.cn | 湘ICP备2023035733号