【问题标题】:Sliding hamburger menu children doesn't slide with parent滑动汉堡菜单子项不会与父项一起滑动
【发布时间】:2023-02-25 09:46:05
【问题描述】:

我目前正在创建一个滑动导航菜单,当您单击汉堡包图标时会出现该菜单。但是,我似乎无法让 <a> 子级与父级 div 一起滑动。

这是它目前的样子的图片。 What it looks like when the menu is openWhat it looks like when the menu is closed

两个<a> 元素留在原地不动。

这是代码看起来像 css

.wrapper {
    position: absolute;
    z-index: 100;
    top: 0;
    left: 0;
    height: 100%;
    width: 0%;
    pointer-events: none;
    transition: 0.5s;
  }

  .wrapper > .BurgerMenu {
    display: block;
    top: 0;
    left: 0;
    height: 100%;
    background-color: rgb(190, 190, 190);
    transition: 0.5s;
    position: relative;
    z-index: 60;
    width: 100%;
  }

  .BurgerMenu > .BurgerContent {
    height: 100%;
    width: 100%;
    display: flex;
    position: absolute;
    flex-direction: column;
    box-sizing: border-box;
    margin: 2rem;
  }

  .BurgerMenu > .BurgerContent > a {
    /* color: rgb(50, 50, 50); */
    color: black;
    box-sizing: border-box;
    position: relative;
  }

和另一个

<div ref={ref} className="wrapper">
  <div className="BurgerMenu">
    <div className="BurgerContent">
      {navItems.map((navItem) => (
        <a key={navItem.name} onClick={(e) => handleClick(navItem.to)(e)}>
          {navItem.name}
        </a>
       ))}
    </div>
  </div>
</div>

【问题讨论】:

    标签: html css reactjs typescript


    【解决方案1】:

    这两个锚标签在带有BurgerContent类的div里面,它有一个绝对位置。这意味着它总是相对于最近定位的祖先处于绝对位置。

    在这种情况下,它可能是可见时具有相对位置的父级(具有类 BurgerMenu 的 div),或者如果没有任何其他定位的祖先,则为文档主体。两者的位置相似,因此您看不出有什么不同。

    您可能不想为此使用绝对定位。

    【讨论】:

      猜你喜欢
      • 2021-12-03
      • 1970-01-01
      • 1970-01-01
      • 2021-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多