2012-12-17 271 views
0

我试图让导航栏中的子菜单出现转换。但是这不起作用。我正在使用的CSS代码是这样的 -CSS转换不起作用

#navigation li ul { 
    display: none; 
    width: auto; 
    position: absolute; 
    margin: 0; 
    padding: 0; 
    background-color: #F87217; 
    -webkit-transition: 0.7s; 
    -moz-transition: 0.7s; 
    -o-transition: 0.7s; 
    transition: 0.7s; 
} 

#navigation li:hover ul { 
    display: block; 
} 

我该如何获得过渡工作?

+0

请张贴您的HTML。 –

+0

你不能转换'display'。尝试转换'高度'代替。 –

回答

2

您无法转换display。尝试转变heightopacity代替:

#navigation li ul { 
    display: block; 
    width: auto; 
    height: 0; 
    opacity: 0; /* optional */ 
    /* other attributes */ 
    -webkit-transition: 0.7s; 
    -moz-transition: 0.7s; 
    -o-transition: 0.7s; 
    transition: 0.7s; 
} 

#navigation li:hover ul { 
    height: auto; 
    opacity: 1; /* optional */ 
} 
+0

比你非常。有效。 – sdnr1

1

当您使用显示器没有,该项目不渲染...那么你将永远无法盘旋它。使用高度为Jan Dvorak表示可能是更好的选择。但是高度为0的物品也不能被徘徊。

我建议使用透明度。

#navigation li ul { 
opacity: 0; 
... 
} 
#navigation li:hover ul { 
    opacity: 1; 
} 
+0

请注意,父母徘徊,而不是被隐藏的元素。 –

+0

哎呀,错过了......你是对的,那么它取决于你想要一个滑动或褪色的效果:) – Neograph734