jquery - 无需 jQuery 的响应式水平菜单

标签 jquery css menu responsive-design navbar

我正在寻找一个响应式水平菜单,它可以动态折叠不适合菜单“更多”部分的元素。 非常像这个例子: http://www.jqueryscript.net/demo/Responsive-Horizontal-Nav-Menu-with-jQuery-CSS

因为我要在静态生成的离线页面中使用它,所以我不想在代码中使用整个 jQuery 实现,并寻找一个更简单的解决方案,做同样的事情,但只使用一点或不使用 JS,但使用纯CSS。

这可能吗?或者我必须使用 jQuery 来实现它吗?

最佳答案

[答案已更新,底部添加了 fiddle !]

使用纯 CSS 是很有可能的,问题只是它是否漂亮。由于 CSS 无法知道它何时中断 div(它只是这样做),因此您必须手动放置这些断点。由于您正在谈论离线页面,因此手动跟踪它可能没有问题。

您可能熟悉 CSS 中的 @media 规则。您可能还习惯在页面中放置 2 或 3 个它们来捕获一些不同的分辨率并根据这些分辨率显示您的网页。

解决上述问题的方法是为每个菜单点添加一个 @media 断点。

您有 6 个元素,第 6 个在 600 像素处下降,然后添加以下内容:

@media screen and (max-width: 600px) {
    /*your CSS here to hide menu point 6 in the dropdown*/
}

继续上面的示例:如果第 5 个菜单点在 500 像素处换行到下一行,则添加另一个断点:

@media screen and (max-width: 500px) {
    /*your CSS here to hide menu point 6 AND 5 in the dropdown*/
}

您只需继续此过程,直到菜单完全按照您想要的方式使用react。

编辑:我做了一个看起来很糟糕的 fiddle ,但它很实用,你可以将它用作源 Material 。有两个菜单,根据窗口的宽度,它隐藏或显示元素。

Fiddle

关于jquery - 无需 jQuery 的响应式水平菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31746850/

相关文章:

html - 向 wp 导航菜单添加不同的跨度类

javascript - 我无法使用 javascript 更改内容选项卡

asp.net - jQuery UI 对话框导致 ASP.NET 上打开和关闭时页面跳转

javascript - 将 background-repeat 设置为 repeat-x 时增加了双倍值

css - 为什么我的 Div 不以其父级为中心?

Cocoa - 以编程方式添加菜单项

javascript - 输入的动态修改值未反射(reflect)在 DOM 中

javascript - jQuery 将 page-break-inside in 更改为 break-inside

c# - 从数据库动态改变 CSS 属性

javascript - 垂直 CSS 滑动菜单在点击时将网站向上推