gpt4 book ai didi

html - 为什么 li 元素与 `block` 显示重叠?

转载 作者:太空宇宙 更新时间:2023-11-04 02:14:14 28 4
gpt4 key购买 nike

我正在尝试创建一个响应式菜单,如下所示。

.menu {
margin: auto;
text-align: center;
margin-top: 10px;
padding: 10px;
}
.menu ul {
list-style-type: none;
padding-left: 0;
}
.menu li {
display: inline;
}
.menu li a {
border: 1px solid #eee;
padding: 10px 15px;
text-transform: uppercase;
transition: background 0.5s ease;
}
.menu li a:focus {
text-decoration: none;
}
.menu li a:hover {
text-decoration: none;
background: #ddd;
}
@media (max-width: 620px) {
.menu li {
display: block;
width: 100%;
}
}
<div class="menu">
<ul>
<li><a href="#/home">Home</a>
</li>
<li><a href="#/experience">Experience</a>
</li>
<li><a href="#/education">Education</a>
</li>
<li><a href="#/opensource">Open Source</a>
</li>
<li><a href="#/contact">Contact</a>
</li>
</ul>
</div>

但是菜单项在小屏幕上是重叠的。为什么会出现这个问题?此外,我已将宽度设置为 100%,但条目不会按预期在小屏幕上更改大小。

最佳答案

您需要为 anchor 标签设置display:inline-block

.menu li a {
display: inline-block;
}

.menu {
margin: auto;
text-align: center;
margin-top: 10px;
padding: 10px;
}
.menu ul {
list-style-type: none;
padding-left: 0;
}
.menu li {
display: inline;
}
.menu li a {
border: 1px solid #eee;
padding: 10px 15px;
text-transform: uppercase;
transition: background 0.5s ease;
display: inline-block;
}
.menu li a:focus {
text-decoration: none;
}
.menu li a:hover {
text-decoration: none;
background: #ddd;
}
@media (max-width: 620px) {
.menu li {
display: block;
}
}
<div class="menu">
<ul>
<li><a href="#/home">Home</a>
</li>
<li><a href="#/experience">Experience</a>
</li>
<li><a href="#/education">Education</a>
</li>
<li><a href="#/opensource">Open Source</a>
</li>
<li><a href="#/contact">Contact</a>
</li>
</ul>
</div>

关于html - 为什么 li 元素与 `block` 显示重叠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39164562/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com