CSS for body
body {
.lock & {
overflow: hidden;
touch-action: none;
overscroll-behavior: none;
}
.loaded & {
}
}
当我点击图标时,代码添加了HTML类'lock'
const burgerClick = (e:React.MouseEvent<HTMLDivElement>) => {
if (widthWindow && widthWindow < 991.98) {
dispatch(changeStateMenuBurgerHeader(!stateMenuBurgerHeader))
document.documentElement.classList.toggle('lock');
}
}
我有汉堡菜单组件。我想在菜单激活时滚动。
我点击图标,然后汉堡菜单是活跃的,我添加类'锁'的身体。
return (
<div className= {!stateMenuBurgerHeader
? "header__burger"
: "header__burger menu-open"
}>
<MyButton
className = "header__btn-burger icon-menu"
type = "button"
>
<span></span>
</MyButton>
<nav className="header__nav nav-header">
<ul className="header__list nav-header__list">
{widthWindow && widthWindow >= 950
? burgerMenu.map((item) =>
<LinkBurger
burgerMenuList = {item}
key = {item.text}
className = {item.icon}
/>)
: burgerMenuSecond.map((item) =>
<LinkBurger
burgerMenuList = {item}
key = {item.text}
className = {item.icon}
/>)
}
</ul>
</nav>
</div>
);
组件标题菜单
<div className="header__cover-lines">
<div className = "header__cover-left-block"
onMouseEnter={burgerMouseEnter}
onMouseLeave={burgerMouseLeave}
onClick = {burgerClick}
>
<BurgerMenu/>
<div className="header__menu-block">CinemaGO</div>
</div>
汉堡菜单的CSS。但是当mene处于活动状态时,我不能滚动它,我不明白为什么我试图写溢出隐藏和滚动它。
.nav-header{
background-color: rgba(21, 21, 21, 0.96);
z-index: 4;
@media (min-width: $tablet) {
padding-bottom: rem(10);
padding-top: rem(100);
border-radius: rem(10);
min-width: rem(400);
margin-left: -10px;
position: absolute;
top: 0;
left: 0;
transform: translate(0px,-30px);
}
@media (max-width: $tablet) {
position: fixed;
top: 0;
left: 0;
min-width: 100%;
min-height: 100%;
padding-top: rem(80);
transform:translate(-120%,0%);
transition: transform ease 1s 0s;
overflow: scroll;
.menu-open & {
transform:translate(0%,0%);
transition: transform ease 1s 0s;
}
}
2条答案
按热度按时间qcbq4gxm1#
它的工作后,我写的高度,而不是min-height
变更前代码
新代码
nwlqm0z12#
看起来你想在汉堡菜单打开时在正文中启用滚动。目前,你的CSS代码设置为'overflow:为'.nav-header'元素设置'scroll',当菜单内容超出可用空间时,它应该启用菜单内的滚动。但是,它也设置了'position:菜单的“fixed”,这意味着它脱离了正常的文档流,不会影响正文的滚动行为。
要在菜单打开时启用正文中的滚动,您需要删除“溢出:hidden'属性。当'lock'类添加到'HTML'元素时,此属性会阻止在正文中滚动。
下面是更新后的body的CSS代码:
通过此更改,您应该能够在菜单打开时滚动正文。