我构建了一个nav,其中我有一个由一组较小的无序列表组成的无序列表。这些要素被归类为"次国家一级"。
当在较小的屏幕上查看导航时,导航会"折叠",菜单会堆叠在一起。我希望导航保持"完整性",而不会在屏幕变化时改变形状。
这是一个jsfiddle:http://jsfiddle.net/Cyc4n/
如果你在jsfiddle中调整窗口的大小,你可以看到菜单在跳舞——我该如何保持它的静止和完整?
任何方向都非常欣赏
您可以使用.navigation{min-width:900px;}
来确保您的导航宽度至少为900px。这将防止浮动行为。请注意,实际金额取决于字体大小、边框/填充/边距值和浏览器特定的边距(如果您没有重置它们)。如果您使用的是相对值(例如em
),那么也可以尝试在min-width:...
中使用em
。
您可以将display: table-cell;
用于.subnav
,将display: table;
用于其父级.navigation
(或者更好的table-row
用于其父级,将table
用于后者的父级,但它已经这样工作了;)
这是一把小提琴:http://jsfiddle.net/Cyc4n/1/
编辑:在我的例子中,我添加了table-layout: fixed
和徽标右侧的一个大填充。如果你想精确控制你的物品,它就在那里作为例子。如果你想让浏览器尽最大努力管理项目的宽度,请随时删除这两个选项。
您也可以使用CSS3 Flexible Box Layout,但它的支持比CSS2 display: table;
差!尽管如果你专门针对媒体查询的"移动"(窄屏幕)应该没问题:支持媒体查询的浏览器也应该支持Flexbox(这是桌面优先的响应式设计,而不是移动优先)
EDIT2:对display: table*;
的支持是IE8+。您已经有了IE7的后备方案-使用inline-block
;)