当 Parents 元素的位置更改为粘性时导航元素消失
Nav Element Disappears When Parents Element's Position Changed to Sticky
我有一个导航栏 div,它有一个标题和一个导航组件。当 window 变得足够小时,我折叠导航元素,所以有一个汉堡来显示和隐藏导航元素。在不更改 parent 导航栏 div 的位置属性的情况下,它工作正常,但是当我使 parent 导航栏 div 变粘时,我再也看不到导航栏移到屏幕。单击汉堡时,我在 child 导航元素上切换 navbarHidden 和 navbarVisible class。
.navbar {
display: flex;
align-items: center;
justify-content: space-between;
height: 8vh;
border-bottom: 1px solid rgb(220, 220, 220);
position: sticky;
top: 0;
background-color: white;
}
.navbar nav {
position: absolute;
right: 0px;
top: 8vh;
height: 92vh;
display: flex;
flex-direction: column;
justify-content: space-evenly;
padding-right: 0;
font-size: 30px;
width: 40%;
background-color: antiquewhite;
transition: transform 0.5s ease-in;
z-index: 1;
}
.navbarHidden {
transform: translateX(100%);
}
.navbarVisible {
transform: translateX(0);
}
尽管如此,当您检查页面时导航元素仍会显示。
我明白了,您所要做的就是将导航元素上的位置更改为固定位置而不是绝对位置。
我有一个导航栏 div,它有一个标题和一个导航组件。当 window 变得足够小时,我折叠导航元素,所以有一个汉堡来显示和隐藏导航元素。在不更改 parent 导航栏 div 的位置属性的情况下,它工作正常,但是当我使 parent 导航栏 div 变粘时,我再也看不到导航栏移到屏幕。单击汉堡时,我在 child 导航元素上切换 navbarHidden 和 navbarVisible class。
.navbar {
display: flex;
align-items: center;
justify-content: space-between;
height: 8vh;
border-bottom: 1px solid rgb(220, 220, 220);
position: sticky;
top: 0;
background-color: white;
}
.navbar nav {
position: absolute;
right: 0px;
top: 8vh;
height: 92vh;
display: flex;
flex-direction: column;
justify-content: space-evenly;
padding-right: 0;
font-size: 30px;
width: 40%;
background-color: antiquewhite;
transition: transform 0.5s ease-in;
z-index: 1;
}
.navbarHidden {
transform: translateX(100%);
}
.navbarVisible {
transform: translateX(0);
}
尽管如此,当您检查页面时导航元素仍会显示。
我明白了,您所要做的就是将导航元素上的位置更改为固定位置而不是绝对位置。