搜索
首页CMS教程WordPress简化在 WordPress 中创建超级菜单的过程

简化在 WordPress 中创建超级菜单的过程

在上一篇文章中,我研究了如何确定大型菜单何时适合您的网站以及如何使用插件来创建大型菜单。

但如果您感觉更有雄心,您可能更愿意将自己的大型菜单编码到您的主题中。这给您带来的好处是能够按照您想要的方式设计菜单,并确保它与您的主题一致。

在本教程中,我将向您展示如何编写大型菜单并将其添加到您的主题中。

你需要什么

要学习本教程,您需要以下内容:

  • WordPress 的开发安装(在一切正常运行之前,请勿将其添加到您的实时网站中)。
  • 您自己可以编辑的主题,或者如果您使用的是第三方主题,则为该主题的子主题。
  • 代码编辑器。

我正在使用第三方主题 (ColorMag),因此我将为其创建一个子主题并向其中添加我的样式。

超级菜单如何工作

我们的大型菜单将采用 WordPress 中的菜单系统输出的代码并将其显示为大型菜单。我不会向网站添加额外的菜单:如果您愿意,可以这样做,但由于这个大型菜单无法在较小的屏幕上工作,因此我更喜欢坚持使用相同的菜单。这是因为我喜欢让移动设备和桌面设备上的用户访问相同的导航。

大型菜单的样式将仅适用于较大的屏幕。对于较小的屏幕,我建议使用汉堡菜单,该菜单在用户点击汉堡(三条水平线)图标之前是不可见的。您可以在我们的汉堡菜单编码教程中了解如何编码汉堡菜单。

开始使用

第一步是向菜单中添加大量菜单项。这意味着您将有大量内容来填充您的大型菜单。

我在菜单中添加了很多链接,并具有三个级别的导航。当用户将鼠标悬停在顶级菜单项上时,该菜单项下面的项目将出现在大型菜单中。现在,它们出现在标准布局中:

简化在 WordPress 中创建超级菜单的过程

让我们首先识别网站前端此菜单输出的代码。这是我的菜单的(编辑后的)代码。我取出了一些 li 元素并删除了大部分 CSS 类,以便您可以看到 HTML 的结构:

<nav id="site-navigation" class="main-navigation clearfix" role="navigation">
    <div class="inner-wrap clearfix">
				
        <p class="menu-toggle"></p>
        <div class="menu-primary-container">
            <ul id="menu-main-nav" class="menunav-menu" aria-expanded="false">
                <li><a>Home</a></li>
                <li>
                    <a>Top Level Item</a>
                    <ul class="sub-menu">
                        <li><a>Second Level Item 1</a>
                            <ul class="sub-menu">
                                <li><a>Third Level Item 1</a></li>
                                <!-- more li elements -->
                            </ul>
                        </li>
                        <li>
                            <a>Second Level Item 2</a>
                            <ul class="sub-menu">
                                <li><a>Third Level Item 5</a></li>
                                <!-- more li elements -->
                            </ul>
                        </li>
                        <li><a>Second Level Item 3</a>
                            <ul class="sub-menu">
                                <li>
                                    <a>Third Level Item 7</a>
                                </li>
                                <!-- more li elements -->
                            </ul>
                        </li>   
                    </ul>
                </li>
                <li>
                    <a>Another Top Level Item</a>
                    <ul class="sub-menu">
                        <li>
                            <a>Second Level Item 4</a>
                            <ul class="sub-menu">
                                <li><a>Third Level Item 12</a></li>
                                <!-- more li elements -->
                            </ul>
                        </li>
                    </ul>
                </li>
            </ul>
        </div>
    </div>
</nav>

那里有很多代码,但我建议花点时间研究它,因为它可以帮助我们识别我们需要使用 CSS 来定位的类和元素(以及子元素),以便创建我们的大型菜单。

我们可以使用 WordPress 生成的 CSS 类来设计我们的大型菜单并确保其布局正确。我们将使用媒体查询来确保菜单仅出现在足够大的屏幕上。

我们将针对的具体元素是:

  • .main-navigation
  • ul 元素(包括 ul ulul ul ul
  • liaa 元素位于 ul 元素内。

在较小的屏幕上,我将使默认菜单可见,尽管我建议在非常小的屏幕上使用移动替代方案,例如汉堡菜单。我的主题已经为小屏幕编码了一个汉堡菜单,所以我不需要担心这一点。

注意:您的主题的 HTML 输出将与我的类似,因为它是由 WordPress 生成的。但也会有差异,例如主导航元素的类或 ID。为了确保万无一失,最好先检查一下。

设置媒体查询

第一步是为大型菜单样式添加媒体查询(如果需要)。在主题的样式表中,添加以下内容:

@media screen and ( min-width: 500px ) {

}

您可以将 min-width 值更改为适用于您的主题并对应于任何汉堡菜单已存在的媒体查询的值。

设置布局样式

我现有的菜单的样式是这样的,只有当我将鼠标悬停在紧邻其上方的第二级项目上时,才会显示第三级项目。我想更改此设置以便显示所有菜单项。然后我将对它们进行样式设置,以便它们正确布局。

让我们首先在用户将鼠标悬停在顶级菜单项上时使第二级和第三级菜单项可见。

将其添加到媒体查询内的样式表中:

.main-navigation ul:hover li ul,
.main-navigation ul:hover li ul li ul {
    display: inherit;
}

现在,当您刷新页面并将鼠标悬停在菜单项上时,它看起来有点像这样:

简化在 WordPress 中创建超级菜单的过程

第二层和第三层的项目是可见的,但说得客气一点,它们看起来很乱。让我们解决这个问题。

我们首先将每个顶级项目下的 li 元素设置为全宽。为了实现这一点,我们必须通过将其设置为静态来删除上面元素的任何相对或绝对定位。我们还将添加 display:inherit 以确保当顶级菜单项悬停在上方时,下级菜单项可见。

将其添加到您的样式表中:

.main-navigation {
    position: relative;
}
.main-navigation li {
    position: static;
}
.main-navigation ul li:hover ul {
    display: inherit;
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
}
.main-navigation ul li:hover ul li ul {
    display: inherit;
    position: relative;
    left: 0;
}

菜单现在看起来像这样:

简化在 WordPress 中创建超级菜单的过程

它是全宽的,但我们需要做一些改进布局。让我们向二级列表添加一个浮动,以便它们彼此相邻显示。

将其添加到您的样式表中:

.main-navigation ul li:hover ul li {
    float: left;
    position: static;
    display: block;
    padding-top: 1em;
}
.main-navigation ul li:hover ul li ul li {
    float: none;
    padding-top: 0;
}

现在菜单看起来更好了:

简化在 WordPress 中创建超级菜单的过程

浮动正在工作,但背景颜色已关闭。编辑 .main-navigation ul li:hover ul 元素的样式以添加背景样式。您使用的具体颜色取决于您使用的主题。

.main-navigation ul li:hover ul {
    display: inherit;
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    background-color: #bababa;
}

现在菜单看起来更好了:

简化在 WordPress 中创建超级菜单的过程

让我们为各个列表添加一些颜色和布局样式,以使第二级项目更加突出。将其添加到您的样式表中:

.main-navigation ul:hover ul li a:link,
.main-navigation ul:hover ul li a:visited {
    color: #b01b1b;
    text-decoration: underline;
}
.main-navigation ul:hover ul li ul li a:link,
.main-navigation ul:hover ul li ul li a:visited {
    color: #fff;
    text-decoration: none;
}

这使得列表看起来更好,第二级项目带有下划线和红色。请随意修改这些颜色以适合您的主题。

简化在 WordPress 中创建超级菜单的过程

最后,让我们删除第三级项目的上边距,以便它们更紧密地聚集在一起。编辑它们的代码如下:

.main-navigation ul:hover ul li ul li a {
    padding-left: 1em;
    padding-top: 0;
}

现在菜单看起来更加整洁:

简化在 WordPress 中创建超级菜单的过程

我们现在有了一个功能强大的大型菜单,使用我们主题中的主导航菜单。

您不需要插件来创建简单的超级菜单

如果您想使用 WordPress 导航菜单的内容创建一个简单的大型菜单,这种技术可以让您将一个菜单添加到您的主题中,而无需太多额外的代码。

但是,如果您想添加额外的功能,例如自定义样式和图像,使用插件可能会更快。您一定会在我们的顶级大型菜单插件列表中找到满足您需求的一款。

以上是简化在 WordPress 中创建超级菜单的过程的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
我可以在3天内学习WordPress吗?我可以在3天内学习WordPress吗?Apr 09, 2025 am 12:16 AM

能在三天内学会WordPress。1.掌握基础知识,如主题、插件等。2.理解核心功能,包括安装和工作原理。3.通过示例学习基本和高级用法。4.了解调试技巧和性能优化建议。

WordPress是CMS吗?WordPress是CMS吗?Apr 08, 2025 am 12:02 AM

WordPress是内容管理系统(CMS)。它提供内容管理、用户管理、主题和插件功能,支持创建和管理网站内容。其工作原理包括数据库管理、模板系统和插件架构,适用于从博客到企业网站的各种需求。

WordPress有什么用?WordPress有什么用?Apr 07, 2025 am 12:06 AM

wordpressgood forvortalyanewebprojectDuetoItsAsatilityAsacms.itexcelsin:1)用户友好性,允许Aeserywebsitesetup; 2)sexibility andcustomized andcustomization and numerthemesandplugins; 3)seoop timigimization; and4)and4)

我应该使用Wix或WordPress吗?我应该使用Wix或WordPress吗?Apr 06, 2025 am 12:11 AM

Wix适合没有编程经验的用户,WordPress适合希望有更多控制和扩展能力的用户。1)Wix提供拖放式编辑器和丰富模板,易于快速搭建网站。2)WordPress作为开源CMS,拥有庞大社区和插件生态,支持深度自定义和扩展。

WordPress的成本是多少?WordPress的成本是多少?Apr 05, 2025 am 12:13 AM

WordPress本身免费,但使用需额外费用:1.WordPress.com提供从免费到付费的套餐,价格从每月几美元到几十美元不等;2.WordPress.org需购买域名(每年10-20美元)和托管服务(每月5-50美元);3.插件和主题多数免费,付费的价格在几十到几百美元之间;通过选择合适的托管服务、合理使用插件和主题、定期维护和优化,可以有效控制和优化WordPress的成本。

WordPress仍然免费吗?WordPress仍然免费吗?Apr 04, 2025 am 12:06 AM

WordPress核心版本是免费的,但使用过程中可能产生其他费用。1.域名和托管服务需要付费。2.高级主题和插件可能需要付费。3.专业服务和高级功能可能需要付费。

对于初学者来说,WordPress容易吗?对于初学者来说,WordPress容易吗?Apr 03, 2025 am 12:02 AM

WordPress对初学者来说容易上手。1.登录后台后,用户界面直观,简洁的仪表板提供所有必要功能链接。2.基本操作包括创建和编辑内容,所见即所得的编辑器简化了内容创建。3.初学者可以通过插件和主题扩展网站功能,学习曲线存在但可以通过实践掌握。

为什么有人会使用WordPress?为什么有人会使用WordPress?Apr 02, 2025 pm 02:57 PM

人们选择使用WordPress是因为其强大和灵活性。1)WordPress是一个开源的CMS,易用性和可扩展性强,适合各种网站需求。2)它有丰富的主题和插件,生态系统庞大,社区支持强大。3)WordPress的工作原理基于主题、插件和核心功能,使用PHP和MySQL处理数据,支持性能优化。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。