百科狗-知识改变命运!
--

backface-visibility - 元素背面朝向观察者时是否可见 - css 变形(2D 3D 转化)

是丫丫呀1年前 (2023-11-21)阅读数 24#技术干货
文章标签背面

backface-visibility

版本:CSS3

CSS 属性 backface-visibility 指定当元素背面朝向观察者时是否可见。

示例

/* keyword values */
backface-visibility: visible;
backface-visibility: hidden;

/* global values */
backface-visibility: inherit;
backface-visibility: initial;
backface-visibility: unset;

浏览器支持

IE10以上版本的浏览器都支持backface-visibility

语法

backface-visibility:visible| hidden

取值:

  • visible:背面朝向用户时可见。
  • hidden:背面朝向用户时不可见。

说明:

指定元素背面面向用户时是否可见。

  • 决定一个元素背面面向用户时是否可见,需要直接在该元素上定义backface-visibility属性,而不能在其父元素上,因为该属性默认为不可继承。
  • 对应的脚本特性为backfaceVisibility

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

默认值visible
适用于变换元素
继承性
动画性
计算值指定值

举例

//HTML 
backface-visibility: visible; backface-visibility: hidden;
1
2
3
4
5
6

since all faces are partially transparent, the back faces (2, 4, 5) are visible through the front faces (1, 3, 6).

1
2
3
4
5
6

the three back faces (2, 4, 5) are hidden.

//CSS /* classes that will show or hide the three back faces of the "cube" */ .showbf div { backface-visibility: visible; } .hidebf div { backface-visibility: hidden; } /* define the container div, the cube div, and a generic face */ .container { width: 150px; height: 150px; margin: 75px 0 0 75px; border: none; } .cube { width: 100%; height: 100%; perspective: 550px; perspective-origin: 150% 150%; transform-style: preserve-3d; } .face { display: block; position: absolute; width: 100px; height: 100px; border: none; line-height: 100px; font-family: sans-serif; font-size: 60px; color: white; text-align: center; } /* define each face based on direction */ .front { background: rgba(0, 0, 0, 0.3); transform: translatez(50px); } .back { background: rgba(0, 255, 0, 1); color: black; transform: rotatey(180deg) translatez(50px); } .right { background: rgba(196, 0, 0, 0.7); transform: rotatey(90deg) translatez(50px); } .left { background: rgba(0, 0, 196, 0.7); transform: rotatey(-90deg) translatez(50px); } .top { background: rgba(196, 196, 0, 0.7); transform: rotatex(90deg) translatez(50px); } .bottom { background: rgba(196, 0, 196, 0.7); transform: rotatex(-90deg) translatez(50px); } /* make the table a little nicer */ th, p, td { background-color: #eeeeee; margin: 0px; padding: 6px; font-family: sans-serif; text-align: left; }
backface-visibility: visible;backface-visibility: hidden;
1
2
3
4
5
6

Since all faces are partially transparent, the back faces(2, 4, 5)are visible through the front faces(1, 3, 6).

1
2
3
4
5
6

The three back faces(2, 4, 5)are hidden.

.demo1 .showbf div{backface-visibility: visible;}.demo1 .hidebf div{backface-visibility: hidden;}.demo1 .container{width: 150px; height: 150px; margin: 75px 0 0 75px; border: none;}.demo1 .cube{width: 100%; height: 100%; perspective: 550px; perspective-origin: 150% 150%; transform-style: preserve-3d;}.demo1 .face{display: block; position: absolute; width: 100px; height: 100px; border: none; line-height: 100px; font-family: sans-serif; font-size: 60px; color: white; text-align: center;}.demo1 .front{background: rgba(0, 0, 0, 0.3); transform: translateZ(50px);}.demo1 .back{background: rgba(0, 255, 0, 1); color: black; transform: rotateY(180deg)translateZ(50px);}.demo1 .right{background: rgba(196, 0, 0, 0.7); transform: rotateY(90deg)translateZ(50px);}.demo1 .left{background: rgba(0, 0, 196, 0.7); transform: rotateY(-90deg)translateZ(50px);}.demo1 .top{background: rgba(196, 196, 0, 0.7); transform: rotateX(90deg)translateZ(50px);}.demo1 .bottom{background: rgba(196, 0, 196, 0.7); transform: rotateX(-90deg)translateZ(50px);}.demo1 th,.demo1 p,.demo1 td{background-color:#EEEEEE; margin: 0px; padding: 6px; font-family: sans-serif; text-align: left;}
div
{
position:relative;
	height:100px;
	width:100px;
	text-align:center;
	line-height:100px;
	background-color:pink;
	transform:rotatey(180deg);
	-webkit-transform:rotatey(180deg);/*chromeandsafari*/
	-moz-transform:rotatey(180deg);/*firefox*/
}
#div1
{
	-webkit-backface-visibility:hidden;
	-moz-backface-visibility:hidden;
	-ms-backface-visibility:hidden;
}
#div2
{
	-webkit-backface-visibility:visible;
	-moz-backface-visibility:visible;
	-ms-backface-visibility:visible;
} 
盒一
盒二

效果图:

backface-visibility - 元素背面朝向观察者时是否可见 - css 变形(2D 3D 转化)

在上面的案例中设置盒一的背面是不可见的,所以当它旋转180度就会消失;而盒二设置的背面可见因此旋转180度后仍然可见

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)