jquery - 在html中创建圆形菜单
问题描述
我正在使用 html 和 css 创建圆形菜单。基本上我想像这样实现我已经使用了codepen中的演示。现在基本上它包含带有 5 个图像的一级菜单。我想在该级别上再创建一个级别。我应该在这个 codepen 演示中编辑什么来实现这一点?
html和css代码如下。请帮助我实现这件事。
body,html{margin:0;padding:0;height:100%;}
body{background:#E3DFD2;box-shadow: inset 0 0 20vmin 0 #585247;}
.wrap{
position:relative;
width:80vmin; height:80vmin;
margin:0 auto;
background:inherit;
transform:scale(0.2) translatez(0px);
opacity:0;
transition:transform .5s, opacity .5s;
}
a{
position:absolute;
left:0; top:0;
width:47.5%; height:47.5%;
overflow:hidden;
transform:scale(.5) translateZ(0px);
background:#585247;
}
a div{
height:100%;
background-size:cover;
opacity:.5;
transition:opacity .5s;
border-radius:inherit;
}
p{
position:absolute;
margin:0; padding:0;
font-size:8vmin;
color:#E3DFD2;
text-decoration:none;
}
a:nth-child(1){
border-radius:40vmin 0 0 0;
transform-origin: 110% 110%;
transition:transform .4s .15s;
}
a:nth-child(1) div{
background-image:url('https://farm3.staticflickr.com/2827/10384422264_d9c7299146.jpg');
}
a:nth-child(1) p{
left:30%;
top:30%;
transform:rotate(-45deg);
}
a:nth-child(2){
border-radius:0 40vmin 0 0;
left:52.5%;
transform-origin: -10% 110%;
transition:transform .4s .2s;
}
a:nth-child(2) div{
background-image:url('https://farm7.staticflickr.com/6083/6055581292_d94c2d90e3.jpg');
}
a:nth-child(2) p{
right:30%;
top:30%;
transform:rotate(45deg);
}
a:nth-child(3){
border-radius:0 0 0 40vmin;
top:52.5%;
transform-origin: 110% -10%;
transition:transform .4s .25s;
}
a:nth-child(3) div{
background-image:url('https://farm7.staticflickr.com/6092/6227418584_d5883b0948.jpg');
}
a:nth-child(3) p{
left:30%;
bottom:30%;
transform:rotate(45deg);
}
a:nth-child(4){
border-radius:0 0 40vmin 0;
top:52.5%; left:52.5%;
transform-origin: -10% -10%;
transition:transform .4s .3s;
}
a:nth-child(4) div{
background-image: url('https://farm8.staticflickr.com/7187/6895047173_d4b1a0d798.jpg');
}
a:nth-child(4) p{
right:30%;
bottom:30%;
transform:rotate(-45deg);
}
a:nth-child(5){
width:55%;height:55%;
left:22.5%; top:22.5%;
border-radius:50vmin;
box-shadow:0 0 0 5vmin #E3DFD2;
transform:scale(1);
}
a:nth-child(5) div{
background-image: url('https://farm4.staticflickr.com/3766/12953056854_b8cdf14f21.jpg');
}
a:nth-child(5) p{
left:35%;
top:35%;
}
span{
position:relative;
display:block;
margin:0 auto;
top:45vmin;
width:10vmin; height:10vmin;
border-radius:100%;
background:#585247;
transform:translateZ(0px);
}
span span{
position:absolute;
width:60%;height:3px;
background:#ACA696;
left:20%; top:50%;
border-radius:0;
}
span span:after, span span:before{
content:'';
position:absolute;
left:0; top:-1.5vmin;
width:100%; height:100%;
background:inherit;
}
span span:after{
top:1.5vmin;
}
span:hover + .wrap, .wrap:hover{
transform:scale(.8) translateZ(0px);
opacity:1;
}
span:hover + .wrap a, .wrap:hover a{
transform:scale(1) translatez(0px);
}
a:hover div{
opacity:1;
transform:translatez(0px);
}
<span><span></span></span>
<div class="wrap">
<a href="#"><div><p>text</p></div></a>
<a href="#"><div><p>text</p></div></a>
<a href="#"><div><p>text</p></div></a>
<a href="#"><div><p>text</p></div></a>
<a href="#"><div><p>text</p></div></a>
</div>
解决方案
推荐阅读
- neo4j - Cypher 查询以查找连接的聚合总和
- elasticsearch - 在无痛脚本的 Array contains 方法的引擎盖下,painless 到底做了什么
- single-page-application - 使用 Web API 和 SPA 为 Identity Server 设置数据库
- twitter-bootstrap - 如何在 bootstrap v4 中为标题设置不同的字体粗细
- node.js - NodeJS 无法正确安装
- c++ - 在 malloc 之后和调用 free() 之前检查
- excel - 为什么 DateDiff 返回日期而不是分钟数?
- ios - ios 13 Urban Airship后台推送失败
- android - Kotlin 片段重叠问题
- here-api - 这里地理编码 API 不可预测的端点结果