Div 设置样式后切换时不显示

Div does not display when toggled when styled

您好,我正在尝试在切换元素时显示 div。函数和事件肯定有效,因为如果我删除样式,元素就会出现,但当我添加它时,它就消失了,我实际上不知道为什么。当我添加 position:absolute 时它会消失,但即使我将高度和宽度设置为 100%,它也不会跟随。这是我的 Sandbox.

这是我的css:

* {
  box-sizing: border-box;
}

html,
body,
#root {
  margin: 0;
  padding: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
  user-select: none;
  background: lightblue;
}
.Main {
  height: 100%;
  width: 100%;
  position: abosolute;
}

.Contain {
  border-radius: 50%;
  box-shadow: 50px rgba(0, 0, 0, 0.05);
  position: absolute;
  height: 50px;
  width: 50px;
  padding-left: 20px;
  margin-bottom: 20px;
  z-index: 998;
  cursor: pointer;
}
.Contain p {
  color: white;
}

.Item {
  width: 100%;
  height: 100%;
  background: white;
  border-radius: 5px 30px 30px 5px;
  will-change: transform, opacity;
  position: absolute;
  display: inline-block;
  bottom: 0.1%;
  box-shadow: 50px rgba(0, 0, 0, 0.05);
}
.Item p {
  color: black;
}

.Buttons {
  top: 20%;
  left: 25%;
  z-index: 998;
  position: absolute;
}



.Overlay {
  background-color: #282c34;
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: calc(10px + 2vmin);
  color: white;
  box-shadow: 0px 10px 10px -5px rgba(0, 0, 0, 0.05);
  z-index: 999;
  position: absolute;
}

我会 post JSX,但它们在不同的页面中,可能更容易看到沙箱

谢谢!

所以我发现导致我的样式出现问题的原因是我的 <a.div> 围绕我的叠加组件减少了样式。所以我将 div 的样式设置为 position: 'sticky'top:0,并将宽度和高度设置为 100%。

另一个 div 的任何子代的样式都会相对于父代 div 设计,因此父代 div 必须相应地设计样式