CSS3地圖展開是一種很酷炫的特效,它可以讓地圖像一塊紙張一樣縮起來,當鼠標滑過的時候再展開。這種效果是通過CSS3中的transition和transform屬性實現的。
/* 地圖區域樣式 */ .map { width: 400px; height: 300px; position: relative; overflow: hidden; } /* 地圖上的紙張樣式 */ .paper { width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: #fff; transform-origin: top left; transform: rotateY(-90deg) translateX(-100%); transition: transform .5s ease-in-out; } /* 鼠標滑過時的樣式 */ .map:hover .paper { transform: rotateY(0) translateX(0); }
在上面的代碼中,我們首先創建了一個容器,這個容器就是我們的地圖區域。然后我們創建了一個紙張,它是絕對定位在地圖上的。這個紙張一開始是縮在地圖左邊的,也就是我們把它用transform屬性旋轉了90度,并且將其translateX(-100%),也就是往左推出去100%的寬度。
當鼠標滑過時,我們通過給地圖加上:hover的偽類來觸發紙張的展開,我們將紙張旋轉回來,同時將其translateX(0),也就是不在左邊推出去了。
這樣就實現了一個簡單的CSS3地圖展開特效,你可以將上面的代碼復制到你自己的項目中實踐。這個特效也可以用在其他類型的網頁設計中,比如展開菜單、展開切換等。希望大家能喜歡。