我正在尝试制作一个动画的切换边栏。
当我尝试通过添加hidebar类来隐藏带有CSS3 Transition属性的侧边栏时,它可以完美地工作。但这是一个切换,当我再次展示时,没有过渡。菜单刚刚弹出。
#page-content.hidebar {
transition: margin 0.3s ease;
margin-left: 0;
}
当我将侧边栏切换到可见性时,有人可以建议我如何获得过渡属性吗?
我附上一个小提琴作为例子。
答案 0 :(得分:2)
您根本不需要hide
类,jQuery具有很棒的内置功能,可以执行.toggle()
和.slideToggle
这样的操作!
.toggle
的$("a#menu-trigger").click(function () {
$("#page-sidebar").toggle("fast");
$("#page-content").toggleClass("hidebar");
});
此外,您希望将转换应用于#page-content
,而不是#page-content.hidebar
,以便转换为展开和收缩
如果您仍然希望使用.hide
类而不更改jQuery或HTML,则可以通过切换宽度和高度来this way进行此操作
相关的CSS:
.hide {height:0px; width:0px; color:transparent;}
#page-sidebar {width: 230px; float:left; transition: all 0.3s ease;}
答案 1 :(得分:2)
你需要做几件事:
因为所有规则都是在css中使用id选择器应用的,所以你的类选择器没有效果,因为在css特异性中它具有低点来覆盖在id下指定的先前规则。所以你需要添加!important
。 http://htmldog.com/guides/css/intermediate/specificity/ 了解更多信息......
你需要把white-space:nowrap;
作为第一个div的文本/内容卷曲,因为div会变小。
检查出>>>