CSS3 两面翻转的盒子

在这里插入图片描述
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
	body {
		perspective: 400px;
	}
		.box {
			/*翻转的是box*/
			position: relative;
			width: 300px;
			height: 300px;
			margin: 100px auto;
			transition: all .4s;
			/*让背面的紫色盒子保留立体空间*/
			/*开启3D空间*/
			transform-style: preserve-3d;
		}
		.box:hover {
			transform: rotateY(180deg);
		}
		.front,
		.back {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			border-radius: 50%;
			font-size: 30px;
			color: #fff;
			text-align: center;
			line-height: 300px;
		}
		.front {
			background-color: pink;
			z-index: 1;
		}
		.back {
			background-color: purple;
			/*像手机一样,背靠背旋转*/
			transform: rotateY(180deg);

		}
	</style>
</head>
<body>
	<div class="box">
		<div class="front">请翻开</div>
		<div class="back">我爱你</div>
	</div>
</body>
</html>

`


一直有小伙伴说反转不出来,开始有一个人说的时候没觉的奇怪,发现评论区的小伙伴都这样说,自己去试了一下,谷歌是可以的,ie和qq浏览器都是不可以的,于是尝试解决了下。
发现front设置了z-index是1,结果反转过来的时候它的z-index还是1,把紫色的给覆盖掉了,让它反转过来变成-1。让紫色盒子上去就能看到紫色的了。

.front:hover {
			z-index: -1;
		}

评论区大佬们提出了backface-visibility: hidden;属性,尝试了一下果然可以了。
大佬们🐂,看来css还是要重新看一遍。

.front {
			background-color: pink;
			z-index: 1;
			backface-visibility: hidden;
		}
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值