javascript - 如何根据窗口大小添加条件滚动?

标签 javascript html css reactjs

所以我正在开发一个 react 应用程序,我基本上想为较小的窗口尺寸(例如移动设备)添加一个滚动条。因此,当且仅当窗口大小小于菜单本身时,滚动条才会出现。

到目前为止我已经得到了一个 hacky 修复。

    const styles = {

        dropdownContentClass: {
            maxHeight: "15 em",
            overflowY: "auto",
        }
    }

在这里,我在菜单上强制设置最大高度,以便其始终可滚动,但如果用户使用移动设备或窗口尺寸相对较小,我希望可以使用滚动。

编辑:

var mq = window.matchMedia("(max-width: 768px)")
    if (mq.matches){
        var mh = "15em"
        var oy = "scroll"
    }
    return {maxHeight: mh, overflowY: oy}

所以我让它完成了这种黑客修复。对于 Javascript 来说还是比较陌生,但是当有数百万种方法来做某事时,很难确认你的代码。

最佳答案

如果内容超过窗口的高度,浏览器默认会有滚动条,所以这应该已经可以工作了。如果您有一个包裹页面的固定高度容器(例如绝对定位的容器),则还需要向其添加 overflow-y: auto

关于javascript - 如何根据窗口大小添加条件滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58613730/

相关文章:

css - 当打开部署在服务器 tomcat 上的页面时,IE 无法响应屏幕,但在部署前使用 IE 在 eclipse 元素上运行时它工作正常

javascript - 如何在React Web中处理长按事件

css - <header> 中的容器元素未显示

css - 如何使用 CSS 堆叠元素

html - 部分元素的角色属性值无效?

html - 如何将一个div放置到它的父div的高度

javascript - 全尺寸背景图像到 SVG 路径

javascript - 使用 JavaScript 在适当的 HTML 中包装 markdown

JavaScript - 正则表达式匹配不是函数

javascript - 如何使用 jquery 在工具提示上显示 pdf 文件