效果如下(示例):
HTML5代码
代码如下(示例):
<!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>折扇</title>
<style>
/* 去除内外边距 */
*{
/* 外边距 */
margin: 0;
/* 内边距 */
padding: 0;
}
/* 扇子区域部分 */
.box{
/* border: 1px solid red; */
width: 600px;
height: 230px;
/* 盒子上下距离 左右居中 */
margin: 50px auto;
position: relative;
border-bottom: 2px solid #000;
}
.box div{
width: 60px;
height: 200px;
border: 1px solid red;
/* 过渡效果 */
transition: all 10s;
position: absolute;
left: 40%;
box-shadow: 3px 3px 5px #333;
/* 作用:设置元素旋转的基点位置,元素旋转前后基点位置不变 水平方向 垂直方向 */
transform-origin: center bottom;
}
/* 设置每一片扇叶 */
.box div:nth-child(1){
background: red;
}
.box:hover div:nth-child(2){
background: orange;
transform: rotate(15deg);
}
.box:hover div:nth-child(3){
background: blue;
transform: rotate(30deg);
}
.box:hover div:nth-child(4){
background: green;
transform: rotate(45deg);
}
.box:hover div:nth-child(5){
background: cyan;
transform: rotate(60deg);
}
.box:hover div:nth-child(6){
background: grey;
transform: rotate(75deg);
}
.box:hover div:nth-child(7){
background: blanchedalmond;
transform: rotate(90deg);
}
.box:hover div:nth-last-child(1){
background: yellow;
transform: rotate(-15deg);
}
.box:hover div:nth-last-child(2){
background: grey;
transform: rotate(-30deg);
}
.box:hover div:nth-last-child(3){
background: cyan;
transform: rotate(-45deg);
}
.box:hover div:nth-last-child(4){
background: green;
transform: rotate(-60deg);
}
.box:hover div:nth-last-child(5){
background: orange;
transform: rotate(-75deg);
}
.box:hover div:nth-last-child(6){
background: yellow;
transform: rotate(-90deg);
}
</style>
</head>
<body>
<div class="box">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>7</div>
<div>6</div>
<div>5</div>
<div>4</div>
<div>3</div>
<div>2</div>
</div>
</body>
</html>