朋友今天有这么个需求 DIV 放背景图 翻转180deg 且文字不翻转 还要做成动画 直接cv不解释
效果图
源码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<style>
.box {
margin: 0 auto;
width: 400px;
height: 400px;
}
.ys {
content: "";
position: relative;
color: pink;
width: 200px;
height: 200px;
}
.ys::before {
content: "";
position: absolute;
width: 100%;
height: 100%;
background: url('https://github.com/chuan0106/study/blob/main/01-%E5%89%8D%E7%AB%AF%E5%AD%A6%E4%B9%A0%E7%9A%84%E7%AC%AC%E4%B8%80%E5%A4%A9%20HTML/%E6%A1%88%E4%BE%8B/images/%E7%BE%BD%E7%A5%9E3.jpg?raw=true') no-repeat 100% 100%;
transform: rotate(180deg);
z-index: -1;
animation: rotate 10s linear infinite;
}
.sz {
position: relative;
color: pink;
width: 200px;
height: 200px;
}
.sz::before {
content: "";
position: absolute;
width: 100%;
height: 100%;
background: url('https://github.com/chuan0106/study/blob/main/01-%E5%89%8D%E7%AB%AF%E5%AD%A6%E4%B9%A0%E7%9A%84%E7%AC%AC%E4%B8%80%E5%A4%A9%20HTML/%E6%A1%88%E4%BE%8B/images/%E7%BE%BD%E7%A5%9E3.jpg?raw=true') no-repeat 100% 100%;
transform: rotate(180deg);
z-index: -1;
}
@keyframes rotate {
0% {
transform: rotateY(0);
}
100% {
transform: rotateY(360deg);
}
}
</style>
<body>
<div class="box">
<div class="ys">
雨神天下第一
</div>
</div>
<script>
let div = document.querySelector('.ys');
div.addEventListener('mousemove', function () {
div.className = 'sz';
}
)
div.addEventListener('mouseleave', function () {
div.className = 'ys';
}
)
</script>
</body>
</html>
只是增加了个鼠标悬停与鼠标离开事件更换相应的类名