我想實現一個按鈕將從其當前位置移動到頂部的動畫,我在這裏創建了一個示例,它不完全是我正在尋找的,而是它只是已經淡入/淡出。圓形菜單與動畫/轉換的垂直切換
這裏是JSFiddle的工作例子,我想要展示的是當任何一個圓形導航項被點擊時,所有的導航都會從中心頂部移動到頂部,所以用戶可以理解當前菜單已經從中心轉移到頂部
下面是代碼我有嘗試至今
編輯:當按下圓形菜單,然後在頂部菜單將出現,循環將隱藏,但它應該這樣過渡效果移動中心到頂部。
HTML
<div class="header noDisplay">
<div class="logo"> </div>
<div class="nav">
<ul>
<li><a href="javascript:;">Button Title</a></li>
<li><a href="javascript:;">Button Title</a></li>
<li><a href="javascript:;">Button Title</a></li>
<li><a href="javascript:;">Button Title</a></li>
<li><a href="javascript:;">Button Title</a></li>
<li><a href="javascript:;">Button Title</a></li>
<li><a href="javascript:;">Button Title</a></li>
</ul>
</div>
</div>
<div class="selector">
<ul>
<li> <span><i>Button Title</i></span> </li>
<li> <span><i>Button Title</i></span> </li>
<li> <span><i>Button Title</i></span> </li>
<li> <span><i>Button Title</i></span> </li>
<li> <span><i>Button Title</i></span> </li>
<li> <span><i>Button Title</i></span> </li>
<li> <span><i>Button Title</i></span> </li>
</ul>
</div>
CSS
body{padding:0; margin:0;}
.selector {position: absolute; left: 50%; top: 50%; width: 450px; height: 450px; margin-top: -225px; margin-left: -225px;}
.selector ul {position: absolute; list-style: none; padding: 0; margin: 0; top: 50px; right: 50px; bottom: 50px; left: 50px;}
.selector li {position: absolute; width: 0; height: 100%; margin: 0 50%; -webkit-transform: rotate(-360deg); transition: all 0.8s ease-in-out;}
.selector li span {position: absolute; left: 50%; bottom: 100%; width: 0; height: 0; line-height: 1px; margin-left: 0; background: #fff; border-radius: 50%; text-align: center; font-size: 1px; overflow: hidden; cursor: pointer; box-shadow: none; transition: all 0.8s ease-in-out, color 0.1s, background 0.1s;}
.selector li span:hover { background: #fff; }
.selector.open li span {width: 150px; height: 150px; line-height: 150px; margin-left: -75px; box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1); border:1px solid #b1b1b1; font-size: 14px;
}
.noDisplay{display:none;}
.selector.open li span:hover{background:#fff;}
.circle-bg{background:#f4f4f4; border-radius:50%;}
.selector li span > i{display:block; position:absolute; top:0; padding:60px 0 0 0; background:#fff; color:#000; width:100%; font-size:24px; font-weight:bold; line-height:normal; height:100%;}
.header{float:left; width:100%; padding:5px 0 0 3%; height:75px; box-sizing:border-box; box-shadow:0 0 5px rgba(0, 0, 0, 0.5);}
.header > .logo{float:left; width:auto;}
.header > .nav{float:right; width:75%;}
.header > .nav > ul{list-style:none; margin:0; padding:0; text-align:right;}
.header > .nav > ul > li{list-style:none; display:inline-block;}
.header > .nav > ul > li > a {color: #231f1f; display: block; padding: 23px 0; margin:0 15px; font-size: 14px; text-transform: uppercase; text-decoration: none; font-family: Arial; border-bottom:2px solid #fff;}
.header > .nav > ul > li > a:hover{border-bottom:2px solid #771421; color:#771421;}
很難理解你想在這裏實現什麼。 –
當你點擊圓形菜單項,其它菜單將出現在頂部和圈將隱藏,它會顯示從圓形菜單項移動到頂部。希望其明確 –