css - 如何使用 React 组件避免 z-index 错误

标签 css reactjs user-experience

我正在开发一个基于 React 组件的 Web 应用程序,并且正在寻找避免 z-index 问题的任何策略。

传统上,我总是使用共享 SCSS 变量对索引进行分组,但是对于完全封装的 js 组件,这有点棘手。

最佳答案

根据元素的设置方式,可以采用不同的方式来执行此操作。您是在构建步骤中使用 sass/sass-files 还是在 js 解决方案(styled-components、emotion 等)中使用 css?

如果你使用 sass,你仍然可以使用你的共享变量。只需确保通过导入包含 scss 变量声明的文件将这些变量暴露给组件的 scss 文件。

如果您使用 css-in-js,那么您正在使用的库可能有一个解决方案。您也可以像这个人那样寻求或多或少的自定义解决方案:https://fatfisz.com/blog/solving-z-index-with-styled-components

如果你使用 vanilla css,你总是可以使用 css 自定义属性并添加你的 z-index 层:

:root {
  --overlay-layer: 2;
  --sidebar-layer: 3;
  --modal-layer: 4;
}

这些只是解决问题的一些建议。没有更多的上下文,很难得到更具体的答案。

关于css - 如何使用 React 组件避免 z-index 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57389631/

相关文章:

reactjs - React 状态仍未定义

android - 如何在 flutter 中制作不透明的教程屏幕?

javascript - 如何让用户在不单击 "ok"或 "close"的情况下阅读弹出窗口

html - 在 svg 元素内对齐 use 元素

html - 使用基于屏幕分辨率的媒体查询从多个 css 文件中进行选择

javascript - 使用计算对象属性名称进行嵌套对象解构 - react 状态

html - 在链接中包装 block 级元素的 SEO 效果

html - 当第一个里面有绝对定位时,如何让外部 div 正确堆叠?

html - MS Edge 无法正确呈现嵌套的 Flex 布局

javascript - React Bootstrap 按钮看起来褪色了