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 必须相应地设计样式
您好,我正在尝试在切换元素时显示 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 必须相应地设计样式