【发布时间】:2012-08-07 17:22:47
【问题描述】:
我正在尝试使用专门用于动画和布局的 CSS 来实现水平手风琴的效果。所以我设置了 4 个列,与经典手风琴的主要区别在于,当我单击一个列时,它应该在两个方向上展开,而不是在一个方向上展开,然后左右推动其他列。
这是我现在的代码的精简版:http://jsfiddle.net/4ZGmj/183/
如果您单击红色列,它会完全按照预期工作:该列在两个方向上展开,所有其他列都被推到右侧。现在,如果您单击绿色列,您会注意到一些不同的情况:该列按预期在两个方向上扩展,但它只会将列推到右侧,同时将列重叠到左侧。我想要的是每列在展开时推动所有相邻的列。
我想这可能与我的列向左浮动有关。你们对导致这种行为的原因以及我能做些什么来解决它有任何见解吗?
提前致谢
【问题讨论】:
-
不太确定如何修复它,但我认为你在浮动的正确轨道上:左。如果将其更改为 float: 对,则行为会发生显着变化。
-
@Stano,你是对的,负边距似乎是原因。只有当我删除它时,div 才会在两个方向上展开,这是主要的预期效果。我实际上也在使用 Firefox,但代码是为了在 iPad 上运行,所以我必须为 Safari 编写代码,这就是我使用 -webkit- 的原因
-
@DrunkenBeard 好吧,我只推荐 Firefox,因为它有很棒的 Web 开发工具。试着做了一些modification,它并不完美,也没有看起来那么容易。
标签: css css-float css-animations