HTML+CSS實現選單的3D翻轉特效
HTML+CSS實現選單的3D翻轉特效
效果圖如下:
HTML部分原始碼如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>翻轉特效</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<nav>
<div class="item">
<a href="#">
<p class="cn">首頁</p>
<p class="en">INDEX</p>
</a>
</div>
<div class="item">
<a href="#">
<p class="cn">部落格</p>
<p class="en">BLOG</p>
</a>
</div>
<div class="item">
<a href="#">
<p class="cn">關於</p>
<p class="en">ABOUT</p>
</a>
</div>
</nav>
</body>
</html>
CSS部分原始碼如下:
:root {
--background-color: #2c3e50;
--color1: #7591AD;
--color2: #9729ad;
--color3: #db2159;
}
* {
margin: 0;
padding: 0;
}
html {
font-size: 14px;
}
body {
width: 100vw;
height: 100vh;
background-color: var(--background-color);
display: flex;
justify-content: center;
align-items: center;
}
nav {
width: 680px;
background-color: var(--color1);
}
.item {
width: 200px;
height: 100px;
margin: 10px;
float: left;
perspective: 4000px;
}
.item a {
display: block;
height: 100px;
text-decoration: none;
color: #fff;
font-size: 1.5em;
/* 開啟3d */
transform-style: preserve-3d;
/* 通過變換角度可以發現剛才的夾角好像一個開啟的膝上型電腦 */
/* transform: rotateX(10deg) rotateY(10deg) translateZ(50px); */
/* 增加z軸上的位移主要是為了讓hover旋轉式沿著夾角形成的 */
/* 虛擬立方體中心軸旋轉而不是當前cn元素的這一面的中心 */
transform: translateZ(50px);
transition: 0.5s;
}
.item a p {
height: 100px;
line-height: 100px;
text-align: center;
}
.item a p.cn {
background-color: var(--color2);
}
.item a p.en {
background-color: var(--color3);
/* en元素沿頂端x軸逆向旋轉90度
形成於cn元素垂直的夾角,類似於形成一個缺兩面的正方體
*/
transform: rotateX(-90deg);
transform-origin: top;
}
.item a:hover{
/* 當滑鼠移動到a元素時旋轉,沿X軸旋轉順時針90度 */
/* 因為當前旋轉基點在夾角形成的虛擬正方體的中心,所有看起來就像旋轉
立方體的兩個面一樣 */
/* 出現偏移問題是因為順序原因,具體的後續查了下文件發現,變換動作的
順序會影響最終呈現的效果 */
transform: rotateX(90deg) translateZ(50px) ;
}
相關文章
- HTML+CSS實現下拉選單HTMLCSS
- css3實現的3D翻滾導航選單CSSS33D
- 用jQuery實現翻書特效jQuery特效
- 高階UI特效之仿3D翻轉切換效果UI特效3D
- .滑鼠點選愛心特效的實現特效
- Vue.js 實現的 3D Tab選單Vue.js3D
- 自繪選單的實現 (轉)
- 一個簡單的選單按鈕的實現 (轉)
- HTML+CSS實現太極旋轉效果HTMLCSS
- 選擇下拉選單項實現跳轉效果
- CSS3 動畫實現的 3D 圖片過渡特效CSSS3動畫3D特效
- 特效實現用查表法實現對水波的模擬(轉)特效
- jQuery實現的簡單焦點圖特效實現過程詳解jQuery特效
- 如何實現一個 滑鼠點選特效的 chrome外掛特效Chrome
- jQuery/CSS3實現滑鼠點選波浪特效jQueryCSSS3特效
- 怎麼實現一個3d翻書效果3D
- PHP 實現字串翻轉(包含中文漢字)的實現PHP字串
- 用VB實現“百葉窗”的圖形特效 (轉)特效
- CSS3 單選框動畫特效CSSS3動畫特效
- 用最簡單的方法實現原生 JS 放大鏡特效JS特效
- 選單中的命令的實現
- 輕鬆實現SINDOWS 98動態選單 (轉)
- 透過ini實現多語言選單 (轉)
- jquery實現的點選返回頂部和底部特效詳解jQuery特效
- iOS實現3D旋轉iOS3D
- Flutter:手把手教你實現一個仿 Flipboard 圖片3D翻轉動畫Flutter3D動畫
- CSS3 3D翻轉動畫CSSS33D動畫
- HTML+CSS實現動態相簿HTMLCSS
- 滑鼠懸浮圖片3D翻轉出現文字說明3D
- 用python實現簡單的線上翻譯程式Python
- jquery動態選單非常漂亮的網站雨刮器特效jQuery網站特效
- WebGL 實現雨水特效實驗Web特效
- Ionic如何實現單選二級選單切換
- 聯動選單的實現方案探索
- CSS3實現的3D旋轉效果CSSS33D
- 如何實現公眾號選單欄跳轉小程式
- 微信小程式選單實現微信小程式
- Qt右鍵選單實現QT