我构建了以下测试用例: http://www.sassmeister.com/gist/9127157
问题是,一旦布局切换到三列(从 bp 1075px 开始),我必须将类 .follow 和 .newsletter 的间隙切换为无,否则侧翼框 .contact 和 .thank 会被推送。但是现在,.newsletter 框堆叠在 .follow 框上方。
有没有办法只用 CSS 解决这个问题(我已经尝试过 clearfix mixins,但没有运气),或者 html 标记中的包装div 对于两个类 .newsletter 和 .follow 是必需的?我没主意了。:(
提前感谢拉尔夫
不幸的是,浮动的工作方式,目前无法使用您拥有的 HTML。幸运的是,修复相当简单:包装<div>
!
查看更新的 SassMeister 要点以获取完整的解决方案。
基本上,要完成此操作,您需要做的是将包装.follow
并.newsletter
包装div 中,该包装div 没有任何属性,直到您需要将这两个项目堆叠在中间。然后,它们不是使用 Singularity 来定位这些项目,而是简单地 100% 宽度,.follow
left
或right
浮动,.newsletter
清除.follow
浮动(或both)
)的方向。最后,使用奇点定位包含<div>
。这会将它们堆叠在该区域内,并允许.contact
和.newsletter
正常定位。