【发布时间】:2021-02-02 07:51:58
【问题描述】:
我正在开发一个导航栏(在桌面布局中),它在一行中显示其所有元素。它永远不会包裹。我只是设置了flex-flow: row nowrap;,它工作正常:
现在在移动设备上,其中一些项目将放置在上方的第二行中,仅在悬停/单击底行时显示。
到目前为止,我的进展是用.hide-on-mobile; 标记这些隐藏项目并在它们上设置order: 2; 和display: none;,以便始终显示的项目在前面。
我的计划是在最后一个 .hide-on-mobile 之后创建某种“换行符”,并将剩余的元素 flexwrap: wrap-reverse; 放在顶部。据我了解,使用伪元素可能会出现这样的“换行符”。
但我的主要问题是,我必须启用换行,这可能会弄乱导航栏。我的客户希望以后能够在导航栏上添加/删除项目。因此,将移动断点设置在发生此类换行之前并不是一个解决方案。
有没有一种方法可以在 flexbox 中创建手动换行,但要防止它自动换行?或者 flexbox 不是解决这个布局问题的合适方法?
【问题讨论】: