RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1370503
Accepted
dbUser11
dbUser11
Asked:2022-06-11 22:40:51 +0000 UTC2022-06-11 22:40:51 +0000 UTC 2022-06-11 22:40:51 +0000 UTC

如何在导航栏中正确定位菜单?

  • 772

我有一个导航栏。

导航栏具有多级下拉列表。一切似乎都很好,但是在设置了 5 个像素的边框后,我意识到我的定位有误……因为我没有得到预期的结果。

这是导航栏在我的屏幕上的显示方式: 我屏幕上的导航栏视图

列表显示不均匀已经很明显了。

第三级的列表一般会在错误的地方打开...

为了让它看起来像我需要的那样,我用了一个拐杖:

/* Меню третьего уровня (модификатор, который открывает меню вправо) */
.sub-nav-list-right {
  left: 100%;
  top: -1px;
}

这是没有这个拐杖的打开方式(我相信女人): 当悬停在 wooman 上时

这个问题可以解决:设置正确的填充,它应该是,但我想弄清楚定位......我定位错了什么?

导航栏的各个部分应如何打开: 我想要的是

代码如下。

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: Arial, Helvetica, sans-serif;
}

.nav-list {
  font-size: 0;
  margin: 15px 30px;
}

.nav-list-item {
  position: relative;
  font-size: 18px;
  display: inline-block;
  border: 10px solid #367452; /* 0.1 */
  background-color: #47986d;
  
  /* !!!!! */
  width: 150px;
  text-align: center;
  color: white;
  text-transform: capitalize;
}

.link {
  display: block;
  padding: 10px 20px;
  text-decoration: none;
  color: inherit;
}

.sub-nav-list {
  position: absolute;
  display: none;
  left: 0;
  right: 0;
}

/* Меню третьего уровня (модификатор, который открывает меню вправо) */
.sub-nav-list-right {
  left: 100%;
  top: -1px;
}

.sub-nav-item {
  display: block;
}

.nav-list-item:hover > .sub-nav-list {
  display: block;
}

.nav-list-item:hover {
  background-color: #3c805b;
}

.main-article {
  margin: 30px;
  font-size: 18px;
}
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Главная страница</title>
    <link rel="stylesheet" href="./assets/css/reset.css" />
    <link rel="stylesheet" href="./assets/css/style.css" />
  </head>
  <body>

    <header>
      <nav>

        <ul class="nav-list">
          <li class="nav-list-item">
            <a href="https://youtube.com" target="_blank" class="link">Home</a>
          </li>
          <li class="nav-list-item">
            <a href="#" class="link">Categories</a>
            
            <!-- Drop-down list -->
            <ul class="sub-nav-list">
              <li class="sub-nav-item nav-list-item">
                <a href="#" class="link">Man</a>
              </li>
              <li class="sub-nav-item nav-list-item">
                <a href="#" class="link">Woman</a>
                
                <!-- Drop-down list -->
                <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
                <ul class="sub-nav-list sub-nav-list-right">
                  <li class="sub-nav-item nav-list-item">
                    <a href="#" class="link">Dress</a>
                  </li>
                  <li class="sub-nav-item nav-list-item">
                    <a href="#" class="link">Pants</a>
                  </li>
                  <li class="sub-nav-item nav-list-item">
                    <a href="#" class="link">Shoes</a>
                  </li>
                </ul>
                <!-- END drop-down list -->

              </li>
              <li class="sub-nav-item nav-list-item">
                <a href="#" class="link">kids</a>
              </li>
            </ul>
            <!-- END drop-down list -->

          </li>
          <li class="nav-list-item">
            <a href="#" class="link">About</a>
          </li>
          <li class="nav-list-item">
            <a href="#" class="link">Contacts</a>
          </li>
        </ul>

      </nav>
    </header>
    
    <main>

      <article class="main-article">
        Lorem ipsum, dolor sit amet consectetur adipisicing elit. Reiciendis
        aliquam rerum sapiente quas, veniam hic illum qui assumenda numquam magni
        aliquid vitae, asperiores eius nesciunt expedita vero error ducimus enim
        dignissimos ut voluptas esse molestiae ipsum dolores. In delectus ipsa
        possimus. Sequi, tenetur corrupti! Iusto minus cum illum impedit fugiat
        tenetur cupiditate iste veniam natus, aliquid dignissimos consequatur
        magnam voluptate rem enim quisquam nostrum sed! Esse delectus distinctio a
        aliquid libero rem assumenda, error eaque magnam quidem dolorum impedit
        laudantium cupiditate quam! Necessitatibus quibusdam ipsa aspernatur rem
        excepturi delectus voluptatem, quis nihil voluptate harum architecto
        repellat dolorum vero corrupti quam officia similique, sequi sint veniam
        dicta natus amet consequuntur a incidunt? Id ipsam libero minus,
        architecto dolorum harum officiis explicabo ad iure ipsa, possimus
        repellat nisi! Inventore molestiae est magni dolor ut nam sequi quibusdam
        aperiam maiores corporis doloremque beatae ducimus, nihil quam consectetur
        asperiores laudantium maxime vero sit expedita? Architecto eveniet,
        suscipit totam nesciunt tempora voluptatem atque quibusdam vitae est.
        Incidunt quia alias veritatis unde vero vel beatae recusandae ipsum
        aperiam adipisci at officia rerum totam maxime quas et, pariatur aut
        voluptatum, asperiores sit eveniet. Omnis accusamus ad repellendus
        possimus id praesentium sapiente nisi aut exercitationem sequi blanditiis
        itaque repudiandae quidem, ratione quasi dicta in velit ut necessitatibus
        rerum. Corporis aut ut voluptas, doloremque eveniet, repellendus delectus
        iure perspiciatis ratione quos officia illo minus quae expedita quasi
        veritatis quo culpa harum deserunt doloribus fugit dolorem! Repellendus
        sapiente facilis beatae magnam nisi quod voluptate, commodi officia
        recusandae doloremque deserunt provident dicta. Dolores quibusdam magnam
        enim aliquid amet nesciunt, sequi consectetur nihil, ullam aliquam eum?
        Deserunt ipsum necessitatibus cupiditate iure unde similique vero pariatur
        error illo enim dolorem voluptates, expedita, officia facilis quasi
        voluptatibus incidunt. Blanditiis, hic? Possimus exercitationem blanditiis
        fugiat quaerat labore quam consequatur, dolorem ex asperiores odit
        obcaecati maiores laudantium soluta nisi neque alias beatae consectetur
        officia excepturi dignissimos ratione ea assumenda? Fugit minima corporis
        alias tempore reiciendis quas earum, aut necessitatibus voluptatem ipsam
        debitis nemo labore officiis numquam repudiandae recusandae similique,
        totam ipsum maiores perferendis libero. Error vel officia autem vero nihil
        perferendis maiores, laborum maxime quam ab perspiciatis in, ratione
        soluta qui magni quibusdam cumque sed nisi velit rerum ut facilis,
        assumenda odio dolor? Repellat, voluptate non beatae hic expedita amet
        voluptates magni. Placeat nobis laboriosam quas quibusdam odio voluptate
        doloribus doloremque labore repudiandae nulla amet, ipsum eum maxime
        corrupti. Saepe porro nostrum molestiae id alias! Incidunt?
      </article>

    </main>
  </body>
</html>

css
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    humster_spb
    2022-06-11T23:12:44Z2022-06-11T23:12:44Z

    如果您完全删除边框,则不需要缩进 - 一切都会顺利。但是如果边界是必要的,那么它们将被考虑在内并按指定的数量缩进:

    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
      font-family: Arial, Helvetica, sans-serif;
    }
    
    .nav-list {
      font-size: 0;
      margin: 15px 30px;
    }
    
    .nav-list-item {
      position: relative;
      font-size: 18px;
      display: inline-block;
      /*border: 2px solid #367452;*/ /* 0.1 */
      background-color: #47986d;
      
      /* !!!!! */
      width: 150px;
      text-align: center;
      color: white;
      text-transform: capitalize;
    }
    
    .link {
      display: block;
      padding: 10px 20px;
      text-decoration: none;
      color: inherit;
    }
    
    .sub-nav-list {
      position: absolute;
      display: none;
      left: 0;
      right: 0;
    }
    
    /* Меню третьего уровня (модификатор, который открывает меню вправо) */
    .sub-nav-list-right {
      left: 100%;
      top: 0;
    }
    
    .sub-nav-item {
      display: block;
    }
    
    .nav-list-item:hover > .sub-nav-list {
      display: block;
    }
    
    .nav-list-item:hover {
      background-color: #3c805b;
    }
    
    .main-article {
      margin: 30px;
      font-size: 18px;
    }
        <header>
          <nav>
    
            <ul class="nav-list">
              <li class="nav-list-item">
                <a href="https://youtube.com" target="_blank" class="link">Home</a>
              </li>
              <li class="nav-list-item">
                <a href="#" class="link">Categories</a>
                
                <!-- Drop-down list -->
                <ul class="sub-nav-list">
                  <li class="sub-nav-item nav-list-item">
                    <a href="#" class="link">Man</a>
                  </li>
                  <li class="sub-nav-item nav-list-item">
                    <a href="#" class="link">Woman</a>
                    
                    <!-- Drop-down list -->
                    <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
                    <ul class="sub-nav-list sub-nav-list-right">
                      <li class="sub-nav-item nav-list-item">
                        <a href="#" class="link">Dress</a>
                      </li>
                      <li class="sub-nav-item nav-list-item">
                        <a href="#" class="link">Pants</a>
                      </li>
                      <li class="sub-nav-item nav-list-item">
                        <a href="#" class="link">Shoes</a>
                      </li>
                    </ul>
                    <!-- END drop-down list -->
    
                  </li>
                  <li class="sub-nav-item nav-list-item">
                    <a href="#" class="link">kids</a>
                  </li>
                </ul>
                <!-- END drop-down list -->
    
              </li>
              <li class="nav-list-item">
                <a href="#" class="link">About</a>
              </li>
              <li class="nav-list-item">
                <a href="#" class="link">Contacts</a>
              </li>
            </ul>
    
          </nav>
        </header>
        
        <main>
    
          <article class="main-article">
            Lorem ipsum, dolor sit amet consectetur adipisicing elit. Reiciendis
            aliquam rerum sapiente quas, veniam hic illum qui assumenda numquam magni
            aliquid vitae, asperiores eius nesciunt expedita vero error ducimus enim
            dignissimos ut voluptas esse molestiae ipsum dolores. In delectus ipsa
            possimus. Sequi, tenetur corrupti! Iusto minus cum illum impedit fugiat
            tenetur cupiditate iste veniam natus, aliquid dignissimos consequatur
            magnam voluptate rem enim quisquam nostrum sed! Esse delectus distinctio a
            aliquid libero rem assumenda, error eaque magnam quidem dolorum impedit
            laudantium cupiditate quam! Necessitatibus quibusdam ipsa aspernatur rem
            excepturi delectus voluptatem, quis nihil voluptate harum architecto
            repellat dolorum vero corrupti quam officia similique, sequi sint veniam
            dicta natus amet consequuntur a incidunt? Id ipsam libero minus,
            architecto dolorum harum officiis explicabo ad iure ipsa, possimus
            repellat nisi! Inventore molestiae est magni dolor ut nam sequi quibusdam
            aperiam maiores corporis doloremque beatae ducimus, nihil quam consectetur
            asperiores laudantium maxime vero sit expedita? Architecto eveniet,
            suscipit totam nesciunt tempora voluptatem atque quibusdam vitae est.
            Incidunt quia alias veritatis unde vero vel beatae recusandae ipsum
            aperiam adipisci at officia rerum totam maxime quas et, pariatur aut
            voluptatum, asperiores sit eveniet. Omnis accusamus ad repellendus
            possimus id praesentium sapiente nisi aut exercitationem sequi blanditiis
            itaque repu

    • 2

相关问题

  • 几何形状的阴影

  • 如何制作这样的人物组合?

  • 如何在css中制作一个图形

  • 如何制作阴影(投影)渐变

  • 网格项目传输不起作用

  • 更改屏幕宽度时换行。引导程序

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5