我們先來(lái)看看完成之后的效果圖如下:
Html的部分就不多說(shuō)了,使用5個(gè)<li>標(biāo)簽來(lái)排版。從效果圖可以看出來(lái),從最上面一層(1)開(kāi)始到最下面一層(5)每一層都像懸浮在下一層上面(除5外),主要使用了css的定位屬性(position: relative;)、層級(jí)屬性(z-index)、外邊距(margin-top)、外陰影(box-shadow)、旋轉(zhuǎn)(transform: rotate())。Css如圖:
從圖可以看出,沒(méi)有設(shè)置層級(jí)z-index,因?yàn)槿绻ㄟ^(guò)css來(lái)設(shè)置層級(jí),就需要設(shè)置每一個(gè)li的層級(jí),一旦li過(guò)多,就需要設(shè)置過(guò)多z-index太不方便了,所以z-index需要通過(guò)js來(lái)設(shè)置。如圖:
先獲取li的總個(gè)數(shù)然后賦值給c_Size,通過(guò)for循環(huán)設(shè)置i的初始值為0,每循環(huán)一次i的值加1,i的值為li的下標(biāo),s的值為層級(jí)(z-index)的值,而s的值為每次循環(huán)c_Size減i的值得出,從而li的層級(jí)從上到下是遞減的,最高值是5,最低值是1。
鼠標(biāo)懸浮的效果:
當(dāng)鼠標(biāo)懸浮到某一個(gè)li時(shí),給與當(dāng)前l(fā)i設(shè)置一個(gè)最高的層級(jí)值(如:9999),當(dāng)前l(fā)i上面的所有l(wèi)i設(shè)置透明度(opacity)為0.3,鼠標(biāo)離開(kāi)時(shí)執(zhí)行一遍level()方法重新設(shè)置一遍li的層級(jí)值。Js如圖:
如沒(méi)特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請(qǐng)注明來(lái)自http://m.oulysa.com/news/5924.html