如何解决部分下拉菜单不可见
我正在尝试创建下拉菜单,但是当我添加 sql-mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
和 position: absolute;
时,我看不到所有的第二个 display: block;
元素。我想同时查看 ul
元素,因此我可以添加 ul
和 hover
并完成下拉菜单。
我尝试使用 display
和 z-index
,但没有任何效果。
overflow
@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,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;
}
代码笔:https://codepen.io/ji-nov-ek/pen/KKWMawG
解决方法
下面是一个简化的代码,因为你的代码一团糟;)
你让代码太复杂了。例如,使用错误的 font-weight: 350
字体,但 googleapis.com
声明中只有数百个。
为什么你需要这么多版本的字体,[100,200,...,900] 毕竟,它会令人难以置信地减慢页面速度。您可以使用 html strong
或 b
元素。
: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>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。