部分下拉菜单不可见

Part of drop-down menu is not visible

我正在尝试创建下拉菜单,但是当我添加 position: absolute;display: block; 时,我看不到第二个 ul 元素的全部。我想看到两个 ul 元素,所以我可以添加一个 hover 和一个 display 并完成下拉菜单。

我尝试使用 z-indexoverflow,但没有任何效果。

@import url("https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@100;200;300;400;500;600;700;800;900&display=swap");
* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-decoration: none;
  font-family: 'Roboto Slab', serif;
}

html {
  font-size: 10px;
}

body {
  background-color: #1C1B1A;
}

ul {
  list-style: none;
}

a {
  text-decoration: none;
  color: #fff;
}

h1,
h2,
h3 {
  color: #fff;
}

header nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
  width: 100%;
  font-size: 2rem;
}

header nav h1 {
  font-size: 3.5rem;
  font-weight: 350;
  text-transform: uppercase;
  padding-left: 5rem;
}

header nav .links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: #6B653C;
  height: 100%;
  padding: 1rem;
  padding-left: 5rem;
  padding-right: 5rem;
  -webkit-clip-path: polygon(2.75rem 0, 100% 0, 100% 100%, 0 100%);
  clip-path: polygon(2.75rem 0, 100% 0, 100% 100%, 0 100%);
}

header nav .links ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

header nav .links ul li {
  margin: 1rem;
  text-transform: uppercase;
  position: relative;
}

header nav .links ul li ul {
  display: block;
  position: absolute;
  top: 2.2rem;
  background: #6B653C;
}

header nav .links ul li ul li {
  margin-left: 0;
  color: #ffffff;
}
<body>
  <header>
    <nav>
      <h1>logo</h1>
      <div class="links">
        <ul>
          <li><a href="#">link</a></li>
          <li><a href="#">link</a></li>
          <li><a href="#">link</a></li>
          <li><a href="#">link</a></li>
          <li><a href="#">link</a>
            <ul>
              <li><a href="#">link</a></li>
              <li><a href="#">link</a></li>
              <li><a href="#">link</a></li>
            </ul>
          </li>
          <li><a href="#"><i class="fas fa-user"></i></a></li>
        </ul>
      </div>
    </nav>
  </header>
</body>

代码笔:https://codepen.io/ji-nov-ek/pen/KKWMawG

下面是一个简化的代码,因为你的代码太乱了;)
你让代码太复杂了。例如,使用了错误的font-weight: 350字体,但googleapis.com decalaration中只有数百个。
为什么需要这么多版本的字体,毕竟 [100,200, ..., 900],它会极大地降低页面速度。您可以使用 html strongb 元素。

:root {
  --olive: #6b653c;
}

@import url("https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@100;200;300;400;500;600;700;800;900&display=swap");
*,
:after,
:before {
  box-sizing: border-box;
}

html {
  height: 100%;
}

body {
  background-color: #1c1b1a;
  text-decoration: none;
  margin: 0;
  font-size: 1rem;
  font-family: "Roboto Slab", serif;
}

ul {
  list-style: none;
  padding: 0;
}

a {
  text-decoration: none;
  color: #fff;
}

h1,
h2,
h3 {
  color: #fff;
}

header {
  height: 78px;
}

nav {
  display: flex;
  align-items: center;
}

h1 {
  font-size: 2.5rem;
  font-weight: 500;
  text-transform: uppercase;
  padding-left: 40px;
  margin: 0;
}

.links {
  position: relative;
  margin-left: auto;
  background: var(--olive);
  padding-right: 20px;
}

.links:before {
  content: "";
  position: absolute;
  left: -30px;
  border-right: 0px solid transparent;
  border-left: 30px solid transparent;
  border-bottom: 50px solid var(--olive);
}

.links ul li {
  display: inline-block;
  position: relative;
  font-size: 1rem;
  text-transform: uppercase;
}

.links ul li {
  margin-left: 20px;
}

.sub-menu ul {
  display: none;
  position: absolute;
  left: -20px;
  background: var(--olive);
  padding: 10px 20px;
}

.sub-menu ul li {
  margin: 0;
}

.sub-menu:hover ul {
  display: block;
}
<header>
  <nav>
    <h1>logo</h1>
    <div class="links">
      <ul>
        <li><a href="#">link</a></li>
        <li><a href="#">link</a></li>
        <li><a href="#">link</a></li>
        <li><a href="#">link</a></li>
        <li class="sub-menu"><a href="#">link</a>
          <ul>
            <li><a href="#">link</a></li>
            <li><a href="#">link</a></li>
            <li><a href="#">link</a></li>
          </ul>
        </li>
        <li><a href="#"><i class="fas fa-user"></i>last</a></li>
      </ul>
    </div>
  </nav>
</header>