卡片翻动
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>动画效果示例</title>
<style>
/** style.css **/
.app{
width: 100%;
height: 100vh;
background-color: #ffffff;
position: relative;
display: flex;
justify-content: center;
align-items: center;
}
.card{
width: 100px;
height: 46px;
cursor: pointer;
box-sizing: border-box;
font-weight: 800;
letter-spacing: 2px;
color: #ffffff;
}
.card::before,.card::after{
width: 100px;
height: 46px;
border-radius: 9px;
border: 1px dashed #ffffff;
display: flex;
align-items: center;
justify-content: center;
position: absolute;
content: 'before';
background-color: #36AFCA;
box-shadow: 0 0 0 4px #36AFCA;
transition: transform 0.5s ease;
backface-visibility: hidden;
}
.card::after{
content: 'after';
background-color: #F89C6B;
box-shadow: 0 0 0 4px #F89C6B;
transform: rotateY(180deg);
}
.card:hover::before{
transform: rotateY(180deg);
}
.card:hover::after{
transform: rotateY(0deg);
}
</style>
</head>
<body>
<div class="app">
<div class="card"></div>
</div>
</body>
<script>
</script>
</html>
backface-visibility
是 CSS 中的一个属性,用于控制当元素背面朝向观察者时是否可见
backface-visibility: visible | hidden;
属性值
- visible(默认值)
元素的背面在旋转后仍然可见
当元素旋转到背面时,内容会以镜像方式显示
- hidden
元素的背面在旋转后不可见
当元素旋转到背面时,内容将完全隐藏