实现导航栏图标悬停时下拉菜单显示效果


实现导航栏图标悬停时下拉菜单显示效果

本文旨在解决导航栏中,当鼠标悬停在特定图标上时,下拉菜单无法正确显示的问题。通过调整 CSS 样式,特别是 `position` 和 `top` 属性,以及利用 `:hover` 伪类,可以实现期望的交互效果,并确保下拉菜单在导航栏下方正确显示。

实现导航栏下拉菜单在图标悬停时显示的关键在于正确设置 CSS 样式,特别是 position 和 top 属性,以及巧妙运用 :hover 伪类。以下将详细介绍如何实现这一效果。

HTML 结构分析

首先,我们需要一个包含导航栏和下拉菜单的 HTML 结构。根据提供的代码,导航栏包含左侧、中间和右侧三个部分,其中右侧部分包含一个用户图像和一个图标(lines)。下拉菜单 n*-dropdown 位于导航栏的外部。

<n* class='n*'>
  <div class="n*-left">
    <span class="logo"></span>
  </div>
  <!--n* left-->

  <div class="n*-middle">
    <ul class="n*-list">
      <li class="n*-item"><a class="n*-link" href="#">About Project</a></li>
      <li class="n*-item"><a class="n*-link" href="#">Portfolio</a></li>
      <li class="n*-item"><a class="n*-link" href="#">Shop</a></li>
      <li class="n*-item"><a class="n*-link" href="#">Collections</a></li>
    </ul>
  </div>
  <!--n* middle-->

  <div class="n*-right">
    <div class="user-image">
      @@##@@
    </div>
    <!--user image-->

    <div class="lines">
      <span class="line line-1"></span>
      <span class="line line-2"></span>
    </div>
    <!--lines-->

  </div>
  <!--n* right-->

  <div class="n*-dropdown">
    dropdown n* bar
  </div>
  <!--n* dropdown-->

</n*>

CSS 样式调整

问题的核心在于 n*-dropdown 的定位。原始代码中,n*-dropdown 的 position 设置为 absolute,top 设置为 0。这导致下拉菜单相对于最近的已定位祖先元素进行定位,如果没有已定位的祖先元素,则相对于初始包含块(通常是 html> 元素)。

为了使下拉菜单显示在导航栏下方,需要将 n*-dropdown 的 top 值设置为导航栏的高度。假设导航栏的高度为 70px,则可以将 top 设置为 70px。但根据最终答案,top设置为了100px,可以根据实际情况进行调整。

.n* .n*-dropdown {
  width: 100%;
  display: none;
  position: absolute;
  top: 100px; /* 修改此处 */
  height: 100px;
  background-color: #000;
  color: #fff;
  border: solid 3px green;
  box-sizing: border-box;
}

利用 :hover 伪类

厉害猫AI 厉害猫AI

遥遥领先的AI全职业办公写作平台

厉害猫AI 137 查看详情 厉害猫AI

为了在鼠标悬停在 .n*-right 上时显示下拉菜单,可以使用 CSS 的 :hover 伪类和相邻兄弟选择器 +。 .n*-right:hover + .n*-dropdown 表示当鼠标悬停在 .n*-right 元素上时,选择紧随其后的 .n*-dropdown 元素。

.n* .n*-right:hover + .n*-dropdown {
  display: block;
}

完整 CSS 代码

以下是修改后的完整 CSS 代码:

.n* {
  height: auto;
  width: 100%;
  position: fixed;
  top: 0;
  align-items: center;
  z-index: 1;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  padding: 0 80px;
  box-sizing: border-box;
  border: solid 1px red;
}

.n* .n*-left {
  display: flex;
  flex-basis: 15%;
  justify-content: left;
  align-items: center;
  height: 70px;
  border: solid 1px green;
}

.n* .n*-left span {
  height: 30px;
  width: 30px;
  background-color: #000;
}

.n* .n*-middle {
  height: 70px;
  flex-basis: 65%;
  display: flex;
  align-items: center;
  border: solid 1px blue;
}

.n* .n*-middle ul {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
}

.n* .n*-middle ul li {
  margin-right: 70px;
  border: Solid 1px red;
}

.n* .n*-right {
  display: flex;
  height: 70px;
  border: solid 1px purple;
  flex-basis: 20%;
  align-items: center;
  justify-content: right;
}

.n* .n*-right .user-image {
  height: 40px;
  width: 40px;
  background: #000;
  border-radius: 50%;
  margin-right: 40px;
}

.n* .n*-right .lines .line {
  background-color: #000;
  width: 30px;
  height: 2px;
  display: block;
  margin-bottom: 5px;
}

.n* .n*-dropdown {
  width: 100%;
  display: none;
  position: absolute;
  top: 100px; /* 修改此处 */
  height: 100px;
  background-color: #000;
  color: #fff;
  border: solid 3px green;
  box-sizing: border-box;
}

.n* .n*-right:hover + .n*-dropdown {
  display: block;
}

.n*-link {
  color: #000;
  text-decoration: none;
  font-family: selectric, helvetica, arial;
  transition: linear 0.3s;
}

.n*-link:hover {
  color: #484848;
}

注意事项

  • 确保 .n*-dropdown 元素紧跟在 .n*-right 元素之后,这是相邻兄弟选择器 + 生效的前提。
  • 根据实际导航栏的高度调整 n*-dropdown 的 top 值。
  • 可以添加过渡效果,使下拉菜单的显示更加平滑。 例如,在 .n*-dropdown 中添加 transition: display 0.3s ease;。

总结

通过调整 CSS 样式,特别是 position 和 top 属性,并结合 :hover 伪类和相邻兄弟选择器,可以轻松实现导航栏图标悬停时下拉菜单的显示效果。理解 CSS 定位和选择器的原理是解决此类问题的关键。

实现导航栏图标悬停时下拉菜单显示效果

以上就是实现导航栏图标悬停时下拉菜单显示效果的详细内容,更多请关注其它相关文章!


# html  # 蜘蛛屯推广排名优化网站  # 鼠标  # 这一  # 当鼠标  # 这是  # 相对于  # 上时  # 设置为  # 选择器  # 显示效果  # 时下  # red  # go  # css  # 国际网站建设工具  # 眼镜行业销售推广营销方案  # 营口短视频推广营销报价  # 河东区seo推广  # 曲江关键词排名优化软件  # 北京靠谱网站建设  # 河南网络推广营销价格  # 卫浴网站seo优化效果  # 姚村镇seo网站推广 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 猫眼电影app如何筛选支持退改签的影院_猫眼电影退改签影院筛选方法  126手机126邮箱登录_126邮箱手机登录入口官网  《鹿路通》退余额方法  Flash AS3.0简易相册制作  Python实时数据流中高效查找最大最小值  搜狗浏览器如何查找页面中的文字 搜狗浏览器Ctrl+F页面搜索功能  《下一站江湖2》武器获取方法  使用Google服务账号实现Google Drive API无缝集成与文件访问  苹果电脑如何快速查看电池状态 苹果电脑电池信息快捷方法  驱动人生:游戏修复指南  如何快速去除厨房重油污? 2025年最好用的厨房清洁剂推荐  J*aScript与CSS动画:实现平滑顺序淡入淡出效果并解决显示冲突  雨课堂官网在线登录 网页版雨课堂登录链接  谷歌邮箱官方入口链接 谷歌邮箱网页版电脑端快速登录  qq邮箱怎么注册_QQ邮箱注册步骤与注意事项  C++ virtual析构函数作用_C++基类虚析构函数防止内存泄漏  小红书如何引流到私信?引流到私信有用吗?  嘴唇干裂起皮怎么办 唇部护理与预防干裂的方法【详解】  B站怎么快速升级 B站用户等级提升攻略【详解】  CodeIgniter 3 中基于 MySQL 数据高效生成动态图表教程  《律学法考》查看学习数据方法  OPPO手机参数配置如何开启护眼模式_OPPO手机参数配置护眼模式开启指南  小米civi如何设置锁屏时间  小米倒班助手添加日历提醒  抖音号已注销怎么解绑企业认证?不解绑企业认证会怎样?  抖音猜你想搜能说明对方搜过吗  Golang如何初始化module项目_Golang module init使用说明  《海底捞》点外卖方法  泰拉瑞亚网页版在线登录入口 泰拉瑞亚官方正版入口  汽水音乐在线听歌网页版 汽水音乐在线听歌网页版入口  创建快捷方式启动系统保护  秋风萧瑟洪波涌起中的萧瑟指的是什么  优化2xN网格最大路径和的动态规划算法实践  使用document.execCommand实现Web文本编辑器加粗/取消加粗  抖音作品被限流怎么办 抖音内容优化与流量恢复方法  OPPO A3 WiFi频繁断开怎么办 OPPO A3网络优化技巧  如何在 WordPress 前端实现内容提交:古腾堡编辑器的替代方案与实践  智云Q3和Q2有什么升级_智云Q3与Q2手持云台功能与性能对比分析  J*aScript桌面应用_Electron多进程架构实战  J*a中导出MySQL表为SQL脚本的两种方法  steam缓存文件在哪儿_steam缓存文件的路径查找方法与结构说明  获取WooCommerce产品在后台编辑页面的分类ID  抖音如何解除|直播|权限绑定_抖音关闭并解绑|直播|功能的方法  如何在CSS中使用absolute实现登录弹窗居中_transform translate结合  使用TinyButStrong生成HTML并结合Dompdf创建PDF教程  解决jQuery多计算器输入字段冲突的教程  解决SQLAlchemy模型跨文件关联的Linter兼容性指南  电脑桌面图标怎么变大变小_Windows个性化设置第一课【新手入门】  研招网官方网站招生平台入口_中国研究生招生信息网官网登录  PyEZ 配置提交中 RpcTimeoutError 的健壮性处理策略 

 2025-11-02

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.