reactjs - 滚动时背景被剪裁
问题描述
在我的 React 应用程序中,我在小高度屏幕上遇到问题:当我滚动侧边栏菜单时,背景(背景颜色)被剪裁并且不会拉伸到完全滚动高度
解决方案
问题是高度设置为100vh。
在大屏幕上是完美的作品。但是在小屏幕上,我们现在没有真正的滚动高度——它取决于浏览器窗口的分辨率
我们需要使用 useRef Hook 并观察元素的滚动高度变化
const appMenuRef = useRef(null)
const [fullHeight, setFullHeight] = useState('100vh')
useEffect(() => {
if (!isNull(appMenuRef.current)) {
setFullHeight(`calc(${appMenuRef.current.scrollHeight - appMenuRef.current.scrollTop}px)`)
}
}, [appMenuRef])
现在我们可以将此 fullHeight 设置为有问题的元素的 css 内联属性
推荐阅读
- java - Quarkus REST API with Hibernate/Panache - 端点查询 Postgres 存储过程
- gitversion - GitVersion 会根据 Mainline 模式下的分支以不同方式递增
- jira - 有没有一个很好的例子来递归 Jira 宏的结果在汇合和有条件地格式化行?
- r - 为“加载”和“保存”进程创建循环
- flutter - 需要使用 Expanded 小部件以避免溢出,但没有得到所需的大小
- c - 如何从 libxml2 中删除 '&'-words 编码?
- sql - 如何使用 sql 在数据块上创建带有嵌套映射的表
- c++ - QGraphicsItemGroup 和子级调整大小
- windows - 根据结果更改颜色的 Ping 监控批处理脚本?
- sql - 使用“匿名”表值参数执行存储查询