效果图



CSS样式
@keyframes _fade-in_mkmxd_1 {
0% {
filter: kabur(20 piksel);
opacity: 0
}
ke {
penyaring: tidak ada;
opacity: 1
}
}
@keyframes _drop-in_mkmxd_1 {
0% {
transformasi: var(--transform) TranslateY(-100px) TranslateZ(400px)
}
ke {
transformasi: var(--transformasi)
}
}
._examples_mkmxd_3 {
margin-atas:200px;
posisi: relatif;
lebar:1000 piksel;
tinggi: 640 piksel;
transisi: transformasi kemudahan 0,15 detik;
filter: drop-shadow(0 4px 18px rgba(0,0,0,1));
--lebar kisi: 140 piksel;
kiri: 50%;
transformasi: terjemahkan(-50%, 0px);
}
._examples_mkmxd_3 div {
posisi: relatif;
transisi: filter kemudahan 0,25 detik;
animasi: _fade-in_mkmxd_1 .35s kubik-bezier(.215,.61,.355,1) var(--delay) mundur;
}
._examples_mkmxd_3 div: arahkan kursor {
filter: drop-shadow(0 4px 8px rgba(0,0,0,.4));
indeks-z: 3;
}
._examples_mkmxd_3 a {
posisi: mutlak;
--transformasi: perspektif(75em) putarX(0deg) putarZ(-0deg) terjemahan(kalk(var(--x) * 100%), kalk(var(--y) * 86,67%)) skala(1,145);
transformasi: var(--transform);
animasi: _drop-in_mkmxd_1 .35s kubik-bezier(.215,.61,.355,1) var(--delay) mundur;
transisi: transformasi kemudahan 0,25 detik;
/*jalur klip: poligon(50% 100%,93,3% 75%,93,3% 25%,50% 0%,6,7% 25%,6,7% 75%);*/
/*jalur klip: poligon(25% 93,3%,75% 93,3%,93,3% 50%,75% 6,7%,25% 6,7%,6,7% 50%);*/
jalur klip: poligon(25% 87%,75% 87%,98,3% 50%,75% 13%,25% 13%,1,7% 50%);
}
._examples_mkmxd_3 a:arahkan{
transformasi: var(--transform) TranslateZ(10px) skala(1.1);
}
._examples_mkmxd_3 img {
rasio aspek: 1;
kesesuaian objek: penutup;
tinggi: 64 piksel;
lebar: 64 piksel;
transformasi: terjemahkan(-50%, 40px);
kiri: 50%;
posisi: mutlak;
/*filter: drop-shadow(2px 2px 0px #00BFFF);*/
}
gambar {
lebar maksimal: 100%;
tinggi: otomatis;
tampilan: blok;
}
*{
ukuran kotak: kotak perbatasan;
}
.kotak menu{
tampilan: blok;
lebar:200 piksel;
tinggi:200 piksel;
/*latar belakang:rgba(84, 109, 231,.6);*/
latar belakang: ungu sedang;
posisi: relatif;
}
.menu-teks{
warna: #fff;
posisi: mutlak !penting;
atas: 120 piksel;
kiri: 50%;
berat font: tebal;
transformasi: terjemahkan(-50%, 0px);
/*filter: drop-shadow(2px 2px 0px #00BFFF);*/
ukuran font: 16px;
perataan teks: tengah;
}
.kembali-img{
lebar: 64px !penting;
posisi: mutlak;
kiri: 50%;
transformasi: terjemahkan(-50%, 20px);
/*filter: drop-shadow(2px 2px 0px #00BFFF);*/
}
a:hover+.kotak menu .menu-teks{
warna: #00BFFF;
filter: drop-shadow(2px 2px 0px #fff);
}html
<div kelas="_examples_mkmxd_3" >
<div v-for="(item,index) di tempData" :key="index" :style="{'--delay': item.showTime}">
<a href="#" :title="item.name" @mouseenter="menuEnter(item)" @mouseleave="menuLeave(item)" @click="menuClick(item,tempData)" :style="{' --x': item.x, '--y': item.y}">
<span class="menu-box" :style="{'background':item.color}">
<img v-if="item.name!=='上一层'" :src="item.imgPath?item.imgPath:'../img/navigation/火车站.png'" >
<img v-if="item.imgPath&&item.name==='上一层'" :src="item.imgPath" class="back-img">
<span class="menu-text">{{item.name}}</span>
</span>
</a>
</div>
</div>vue代码
Vue baru({
el:'#aplikasi',
data(){
kembali {
menuData:[
{
x:0,y:0,jalur:'https://observablehq.com/@d3/bar-chart/2?intent=fork',nama:'A系统',img:'',anak-anak:[
{
x:0,y:0, jalur:'https://observablehq.com/@d3/bar-chart/2?intent=fork',nama:'B系统',img:'',anak-anak:[
{
x:0,y:0,jalur:'https://observablehq.com/@d3/bar-chart/2?intent=fork',nama:'E系统',img:'',anak-anak:[]
},
{
x:0,y:0,jalur:'https://observablehq.com/@d3/bar-chart/2?intent=fork',nama:'A系统',img:'',anak-anak:[]
},
]
},
{
x:0,y:0,jalur:'https://observablehq.com/@d3/bar-chart/2?intent=fork',nama:'C系统',img:'',anak-anak:[]
},
{
x:0,y:0,jalur:'https://observablehq.com/@d3/bar-chart/2?intent=fork',nama:'D系统',img:'',anak-anak:[]
},
]
},
{
x:0,y:0, jalur:'https://observablehq.com/@d3/bar-chart/2?intent=fork',nama:'B系统',img:'../img/navigation/火车站.png',anak-anak:[]
},
{
x:0,y:0,jalur:'https://observablehq.com/@d3/bar-chart/2?intent=fork',nama:'C系统',img:'',anak-anak:[]
},
{
x:0,y:0,jalur:'https://observablehq.com/@d3/bar-chart/2?intent=fork',nama:'D系统',img:'',anak-anak:[]
},
{
x:0,y:0,jalur:'https://observablehq.com/@d3/bar-chart/2?intent=fork',nama:'E系统',img:'',anak-anak:[]
},
{
x:0,y:0,jalur:'https://observablehq.com/@d3/bar-chart/2?intent=fork',nama:'A系统',img:'',anak-anak:[]
},
{
x:0,y:0, jalur:'https://observablehq.com/@d3/bar-chart/2?intent=fork',nama:'B系统',img:'',anak-anak:[]
},
{
x:0,y:0,jalur:'https://observablehq.com/@d3/bar-chart/2?intent=fork',nama:'C系统',img:'',anak-anak:[]
},
{
x:0,y:0,jalur:'https://observablehq.com/@d3/bar-chart/2?intent=fork',nama:'D系统',img:'',anak-anak:[]
},
{
x:0,y:0,jalur:'https://observablehq.com/@d3/bar-chart/2?intent=fork',nama:'E系统',img:'',anak-anak:[]
},
{
x:0,y:0,jalur:'https://observablehq.com/@d3/bar-chart/2?intent=fork',nama:'A系统',img:'',anak-anak:[]
},
{
x:0,y:0, jalur:'https://observablehq.com/@d3/bar-chart/2?intent=fork',nama:'B系统',img:'',anak-anak:[]
},
{
x:0,y:0,jalur:'https://observablehq.com/@d3/bar-chart/2?intent=fork',nama:'C系统',img:'',anak-anak:[]
},
{
x:0,y:0,jalur:'https://observablehq.com/@d3/bar-chart/2?intent=fork',nama:'D系统',img:'',anak-anak:[]
},
],
Data sementara:[],
warna:[
'#1874CD', '#3CB371', '#FF7F50', '#CD1076', '#CD00CD',
'#1C86EE', '#00FF7F', '#FF8C00', '#EE1289', '#EE00EE',
'#1E90FF', '#00FF00', '#FFA500', '#FF1493', '#FF00FF',
]
}
},
jam tangan:{
menuData(){
ini.initCoor()
}
},
terpasang(){
misalkan _ini = ini
ini.getUser()
// ini.getMenuData()
ini.tempData = ini.menuData
ini.initCoor()
this.timer = setInterval(fungsi(){
_this.localDate = _this.dateFormat(Tanggal baru(),'yyyy-MM-dd jj:mm:ss')
},1000)
},
hancur(){
clearInterval(ini.timer)
},
metode:{
menuMasuk(item){
if(item.nama==='上一层')
kembali
this.msgData = barang
this.msgShow = benar
},
menuKeluar(item){
ini.msgShow = salah
},
waktu pertunjukan(item){
if(item.nama==='上一层')
kembalikan '0'
kembalikan Matematika.acak()+'s'
},
menuKlik(item,parant){
biarkan arr =[]
if(nama.item==='上一层'){
this.changeMenu(item.anak-anak)
}else if(item.anak.panjang>0){
arr.push({x:0,y:0,path:'',name:'上一层',imgPath:'../img/navigation/icon-返回上一级.png',children:parant} )
item.anak-anak.forEach(t=>{
arr.push(t)
})
ini.perubahanMenu(arr)
}kalau tidak{
window.location.href = item.jalur
}
},
ubahMenu(data){
misalkan _ini = ini
ini.tempData = []
setTimeout(fungsi(){
_ini.tempData = data
_ini.initCoor()
},10)
},
initCoor(){
this.tempData.forEach((t,index)=>{
t.warna = ini.warna[indeks]
t.showTime = ini.showTime(t)
if(!t.anak-anak){
t.anak-anak = []
}
jika(indeks<5){
kamu=0
tx=indeks*0,86
jika(indeks%2!==0){
kamu += 0,5
// tx = (indeks-1)+0,8
}
}lainnya jika(indeks>4&&indeks<10){
kamu=1
tx=(indeks-5)*0,86
jika(indeks%2===0){
kamu += 0,5
// tx = (indeks-1)+0,8
}
}lainnya jika(indeks>9&&indeks<15){
kamu=2
tx=(indeks-10)*0,86
jika(indeks%2!==0){
kamu += 0,5
// tx = (indeks-1)+0,8
}
}
})
},
}
})到此这篇关于html实现蜂窝菜单的示例代码的文章就介绍到这了,更多相关html蜂窝菜单内容请搜索dow ncodes.com以前的文章或继续浏览下面相关文章,希望大家以后多多支持downcodes.com!