3D旋转菜单
今天来个3D旋转菜单,是纯css3实现的,主要用到transform,transition,backface-visibility。
主要是transform这个变换,它是今天猪脚。
transform里有transform-style 属性规定如何在 3D 空间中呈现被嵌套的元素。
transform-origin 属性允许您改变被转换元素的位置。
backface-visibility 属性定义当元素不面向屏幕时是否可见。
代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> .nav{margin:0; padding:50px;} .nav li{float:left; list-style:none; padding:0 15px; -webkit-perspective:100px;} .nav a{float:left; position:relative; font:14px/20px "宋体"; text-decoration:none; -webkit-transform-style:preserve-3d; transition:.5s; -webkit-transform-origin:center center -10px;} .nav a:hover{ -webkit-transform:rotateX(-90deg);} .nav span{float:left; width:60px; text-align:center; -webkit-backface-visibility:hidden;} .nav span:nth-of-type(2){ position:absolute; left:0; top:-20px; -webkit-transform-origin:bottom; -webkit-transform:rotateX(90deg);} </style> </head> <body> <ul class="nav"> <a href="#"> <span>选项一</span> <span>选项1</span> </a> <a href="#"> <span>选项二</span> <span>选项2</span> </a> <a href="#"> <span>选项三</span> <span>选项3</span> </a> <a href="#"> <span>选项四</span> <span>选项4</span> </a> </ul> </body> </html>