求助:下拉菜单hover背景仅覆盖文本区域的问题排查
解决下拉菜单hover背景不覆盖整个容器的问题
问题根源是你给.BottomNav a设置了max-width: 40%,这个后代选择器会作用到所有嵌套在.BottomNav里的<a>标签,包括下拉菜单里的子项。这直接限制了下拉菜单<a>元素的宽度,导致hover背景只能覆盖到文本所在的有限范围。
你只需要给下拉菜单的<a>标签添加以下样式,覆盖继承的宽度限制并确保填满容器:
.dropdownContent a{ float: none; color: #000; padding: 12px 16px; text-decoration: none; display: block; text-align: left; /* 新增样式 */ max-width: none; width: 100%; box-sizing: border-box; /* 避免padding导致宽度超出容器 */ }
另外补充一个HTML结构规范问题:<ul>的直接子元素必须是<li>,你现在把.dropDown直接放在<ul>里不符合标准,建议调整为如下结构:
<li class="dropDown"> <button class="dropButton"> Adoptions <i class="fa fa-caret-down"></i> </button> <div class="dropdownContent"> <a href="/adoptionDogs.html">Dogs</a> <a href="/adoptionCats.html">Cats</a> </div> </li>
修改后下拉菜单子项hover时的背景就能完全覆盖整个容器宽度了。
内容的提问来源于stack exchange,提问作者Josh A
相关产品推荐
相关产品推荐

