## 如何用 HTML 和 CSS 实现点击展开的六等分圆盘效果?
用 html 和 css 实现交互式圆盘
问题:如何使用 html 和 css 创建圆盘效果,点击后弹出一个六等分的圆盘,每个分片都可触发事件?
实现方法:
一个可能的方法是使用 css transform 属性来旋转和倾斜元素:
<div class="circle"> <div class="slice">...</div> <div class="slice">...</div> <!-- ... --> </div>
.circle { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); } .slice { position: absolute; width: 20px; height: 20px; background-color: blue; /* 旋转和倾斜 */ transform: rotate(0deg) skewY(0deg); transition: all 0.2s ease-in-out; } .circle:hover .slice { transform: rotate(60deg) skewY(10deg); }
原理:
- 当鼠标悬停在圆盘上时,会添加 circle:hover 类。
- 该类会应用 transform 规则,将每个分片旋转 60 度并轻微倾斜。
- 这会创建圆盘弹出效果。
- 要添加分片的单独事件处理程序,请向每个分片元素添加不同的 id 或类。