我正在尝试从www.wove.com菜单中构建一个响应式旋转圆圈,类似于此屏幕截图中的http://grab.by/PRrw。
到目前为止,我有一个响应圆圈,使用百分比填充顶部和宽度使圆圈适合最小100vh div,并且元素放置在该圆圈上。问题是确保在调整浏览器大小时圆圈上的元素保持不变。关于实现这一目标的最佳方法的任何想法?
jsFiddle:https://jsfiddle.net/szjkrbut/1/
CSS
.radial-menu {
border: solid 1px #999;
border-radius: 50%;
height: auto;
padding-top: 105%;
position: absolute;
right: -50%;
top: 50%;
-webkit-transform: translateY(-50%);
-moz-transform: translateY(-50%);
transform: translateY(-50%);
width: 105%;
z-index: 1;
}
.radial-item {
display: block;
left: 50%;
margin: 0;
position: absolute;
top: 50%;
width: 35%;
max-width: 290px;
&:after {
background: #999;
border-radius: 50%;
content: '';
height: 8px;
position: absolute;
right: -40px;
top: 50px;
transition: 300ms all ease;
width: 8px;
}
&.item-1 {
transform: rotate(22deg) translate(-231%, 35px);
}
&.item-2 {
transform: rotate(0deg) translate(-237%, 35px);
}
&.item-3 {
transform: rotate(-22deg) translate(-240%, 35px);
}
}