在我的项目中,我有多个浮动按钮,在默认状态下,我想隐藏未使用的按钮,.hide()
或者display:none
因为我想将它们滚动出来。
这是一个解释一切的小提琴
它在我的脑海中设置得很好(尽管对其他建议持开放态度),我得出的结论是展开按钮的最佳方法不是隐藏它们,而是将包装器设置为 0%,overflow:hidden
然后当我想显示它们时我只是展开包装器,这对一个元素/对象来说很好,但是当多个元素/对象浮动时,它就会中断。我想知道它为什么这样做并且解决方案会很棒。
这里又是一个FIDDLE
只是一些代码,以防你不想看到我制作的美妙小提琴。
CSS:
.container {
background-color: #333;
padding: 10px 20px;
width: 100%;
overflow: hidden;
margin: 25px 0;
transition: 2s all ease;
}
.zero-width {
width: 0%
}
.stationary-object {
background-color: #eee;
width: 200px;
float: left;
margin: 0 0 0 10px;
color: #777;
}
HTML:
<!-- It works with one object, not with two -->
<div class="container">
<div class="stationary-object">I shouldnt move</div>
</div>
<!-- With objects floated it breaks, how do I get the floated objects to stay -->
<div class="container">
<div class="stationary-object button">Button</div>
<div class="stationary-object">I shouldnt move</div>
</div>
<button>Toggle Width</button>
jQuery:
$('button').click(function () {
$(this).prevAll().toggleClass('zero-width')
})
代码是直接的,它只是表示如何用 0% 隐藏浮动元素,overflow: hidden
绝不是这个实时代码。当我可以弄清楚如何防止浮动元素掉落时,我可以将其应用于功能更强大的部分。
谢谢