热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

优化后的标题:WordPress子菜单显示在主菜单项下方的布局调整方法

在WordPress中,为了实现一个更加用户友好的导航菜单,我尝试了一种方法,使父级菜单项在全屏状态下始终可见,而当用户点击或悬停在父级菜单项上时,子菜单会以下拉形式展开,从而提供清晰且直观的导航体验。这种方法不仅提升了网站的可访问性,还增强了用户体验。

我试图创建一个下拉导航,其中父项在全屏上可见,然后单击父项时,子菜单从右侧滑入并覆盖整个屏幕。我已经设法做到了这一点,但是子菜单位于其他父菜单项的下面。

我尝试了z-index以及各种方法,但无法正常工作。请帮忙。

基本HTML设置:



我目前对Walker的上课太多了:

class PB_Walker_Nav_Menu extends Walker_Nav_Menu {
public function start_lvl( &$output,$depth = 0,$args = array() ) {
$output .= '

';
}
}

我的菜单:

function header_menu() {
wp_nav_menu(
array(
'theme_location' => 'header-menu','menu' => '','container_class' => '','container_id' => '','menu_class' => 'head__nav_inner','menu_id' => '','echo' => true,'fallback_cb' => 'wp_page_menu','before' => '','after' => '','link_before' => '','link_after' => '','depth' => 0,'walker' => new Clean_Walker_Nav_Menu(),'container' => false,'items_wrap' => '

'
)
);
}

我的风格:

.nav-container {
background-color: base-colour(black);
position: absolute;
top: 80px;
left: 0;
height: 0;
width: 100vw;
transition: ease 0.4s;
display: flex;
flex-direction: column;
overflow-y: auto;
@include bp(min-width break(lg)) {
position: fixed;
top: 0;
overflow-y: hidden;
}
.menu-logo {
position: fixed;
top: 32px;
left: 64px;
z-index: 1000;
}
.head__nav {
background-color: base-colour(black);
position: relative;
top: 0;
height: 60%;
#primary-menu {
width: 50%;
position: absolute;
top: calc(50% + 21px);
left: 190px;
transform: translateY(-50%);
columns: 2;
li {
line-height: 2em;
a {
display: block;
}
.sub-menu {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
}
}
}
}

您可以在此处看到蓝色是主菜单,绿色是子菜单。子菜单包含2个链接,如您所见,位于主菜单链接的后面(右侧)。

WordPress子菜单位于菜单项下方





推荐阅读
  • 使用 Vue 集成 iScroll 实现移动端表格横向滚动与固定列功能 ... [详细]
  • 本文初步探讨了PHP中基于JWT(JSON Web Token)的身份验证机制。具体流程包括:1. 客户端通过用户名和密码发起登录请求;2. 服务器接收并验证用户凭证的合法性,若验证通过,则生成并返回一个JWT令牌;3. 客户端接收该令牌,并在后续请求中携带此令牌以完成身份验证。这一机制不仅提高了安全性,还简化了会话管理。 ... [详细]
  • 本文探讨了在 SQL 中将中文字符转换为拼音首字母的有效方法和技巧。通过使用特定的函数和算法,可以实现中文名称的快速拼音首字母提取,从而提高数据处理的效率和准确性。文中还提供了具体的示例和代码片段,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 在处理大文件上传时,服务端为何无法直接接收?这主要与 PHP 配置文件 `php.ini` 中的几个关键参数有关,如 `upload_max_filesize` 和 `post_max_size`。这些参数分别限制了单个文件的最大上传大小和整个 POST 请求的数据量。为了实现大文件的高效上传,可以通过文件分割与分片上传的方法来解决。本文将详细介绍这一实现方法,并提供相应的代码示例,帮助开发者更好地理解和应用这一技术。 ... [详细]
  • 网站前端开发的核心理念与必备技能解析 ... [详细]
  • 注:写博客或者项目的README文档经常用到markdown语法,所以markdown的语法做了一个总结,本文是基于【markdown】基 ... [详细]
  • 本文深入探讨了Google Guava库中的Optional类,详细解析了其设计原理和使用方法,并结合实际应用场景展示了如何有效避免空指针异常,提高代码的健壮性和可读性。通过具体示例,文章还介绍了Optional类在数据处理、函数式编程等方面的优势,为开发者提供了实用的参考。 ... [详细]
  • Oracle程序包基础入门:了解核心概念与基本结构
    本文旨在为初学者介绍 Oracle 程序包的基础知识,涵盖其核心概念和基本结构。通过详细解析程序包的组成元素,如过程、函数和变量,帮助读者理解如何在实际应用中有效使用 Oracle 程序包。此外,文章还提供了实例代码,以便读者更好地掌握这些关键概念。 ... [详细]
  • AngularJS uirouter模块下的状态管理机制深入解析
    本文深入探讨了 AngularJS 中 ui-router 模块的状态管理机制。通过详细分析状态配置、状态转换和嵌套状态等核心概念,结合实际案例,帮助开发者更好地理解和应用这一强大工具,提升单页面应用的开发效率和用户体验。 ... [详细]
  • 教程:使用Source Monitor进行代码质量分析
    Source Monitor 是一款强大的代码分析工具,能够对 Java、C++、C、C# 和 Delphi 等多种编程语言进行复杂度分析,帮助开发者有效评估和提升代码质量。通过详细的指标和报告,该工具可辅助团队识别潜在问题并优化代码结构。 ... [详细]
  • 触发器是数据库中一种特殊类型的存储过程,其执行依赖于预定义的事件,而非直接调用。在数据库管理中,触发器主要用于实现数据完整性、自动化日志记录及复杂业务规则的执行。当对数据库中的表、视图等对象进行插入、更新或删除操作时,系统将自动激活相关的触发器,以确保数据的一致性和安全性。此外,通过合理设计和优化触发器,还可以显著提升数据库性能和响应速度。 ... [详细]
  • 本文深入探讨了Linux内核网络协议栈中sk_buff结构体的操作函数,详细解析了其在数据包处理过程中的关键作用与实现机制,为开发者提供了深入了解和优化网络性能的宝贵资源。 ... [详细]
  • 在PHP编程中,合理配置会话(SESSION)的生命周期是确保应用性能和安全性的关键。本文将探讨如何通过 `session.gc_maxlifetime` 参数来有效管理会话的有效期,并介绍一些最佳实践,以帮助开发者避免常见问题并提升应用的整体性能。此外,还将讨论如何结合使用 `session.cookie_lifetime` 和 `session.cache_expire` 参数,以实现更精细的会话控制。 ... [详细]
  • CSS3 实现鼠标悬停时滚动菜单的流畅过渡效果 ... [详细]
  • 使用Cordova FileTransfer插件下载图片成功,但在手机文件系统中无法找到下载路径 ... [详细]
author-avatar
噬天1986
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有