gpt4 book ai didi

html - 防止 flexbox 列表项在悬停在子项上时更改父项的宽度

转载 作者:行者123 更新时间:2023-11-28 14:30:45 25 4
gpt4 key购买 nike

我有一系列列表项,有些有一个子列表,包含子导航链接。我正在使用 CSS 通过 display: none 来创建悬停效果关于 child <ul>然后设置为 display: block悬停时。

然而,这会产生不良影响,使父级成为 <li>在悬停期间成长。有没有办法防止这种情况?当鼠标悬停在 <li> 上时没有子列表的元素则它们的宽度保持不变。

<ul class="flex unstyled-list">
<li><a href="/">link</a></li>
<li><a href="/" target="_blank">link 2</a></li>
<li>
<a href="/">parent 1</a>
<ul class="unstyled-list">
<li><a href="/">Hgdfgdf</a></li>
<li><a href="/">Hgdfgdf</a></li>
</ul>
</li>
<li>
<a href="/">parent 2</a>
<ul class="unstyled-list">
<li><a href="/">Hgdfgdf gdf ggf dfs</a></li>
<li><a href="/">Hgdfgdf gdf gdf gfd</a></li>
</ul>
</li>
</ul>


.unstyled-list {
margin: 0;
padding: 0;
list-style-type: none;
}

.flex {
width: 970px;
height: 37px;
display: flex;
flex: 1 0 auto;
flex-basis: 100%;
background-color: #000;
}

.flex li {
flex-grow: 1;
height: 37px;
line-height: 37px;
color: #fff;
text-align: center;
}

#nav-strip li:hover {
background-color: #000;
}

.flex li:hover ul {
display: block;
}

.flex li a {
display: block;
color: #fff;
font-size: 14px;
font-weight: bold;
}

.flex li ul {
display: none;
width: 200px;
padding: 0;
}

.flex li ul li {
width: 185px;
height: 30px;
line-height: 30px;
padding: 0 0 0 15px;
background: #000;
text-align: left;
}

.flex li ul li:hover {
background: #1e1d3f;
}

.flex li ul li a {
display: block;
font-size: 12px;
font-weight: normal;
}

可运行示例:

https://jsfiddle.net/ndp1y79b/1/

最佳答案

感谢@Temani Afif 和@Pete - 添加

positon: absolute;
top: 100%

关于 child <ul>已修复此问题。谢谢 - 比我想象的要简单得多!

关于html - 防止 flexbox 列表项在悬停在子项上时更改父项的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54184344/

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