簡化在 WordPress 中建立超級選單的過程
#在上一篇文章中,我研究瞭如何確定大型選單何時適合您的網站以及如何使用外掛程式來建立大型選單。
但如果您感覺更有雄心,您可能更願意將自己的大型菜單編碼到您的主題中。這為您帶來的好處是能夠以您想要的方式設計菜單,並確保它與您的主題一致。
在本教程中,我將向您展示如何編寫大型選單並將其添加到您的主題中。
你需要什麼
要學習本教程,您需要以下內容:
- WordPress 的開發安裝(在一切正常運作之前,請勿將其新增至您的即時網站)。
- 您自己可以編輯的主題,或者如果您使用的是第三方主題,則為該主題的子主題。
- 程式碼編輯器。
我正在使用第三方主題 (ColorMag),因此我將為其建立一個子主題並向其中添加我的樣式。
超級選單如何運作
我們的大型選單將採用 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 ul
和ul ul ul
) -
li
和a
元素位於 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; }
現在,當您刷新頁面並將滑鼠懸停在選單項目上時,它看起來有點像這樣:
第二层和第三层的项目是可见的,但说得客气一点,它们看起来很乱。让我们解决这个问题。
我们首先将每个顶级项目下的 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; }
菜单现在看起来像这样:
它是全宽的,但我们需要做一些改进布局。让我们向二级列表添加一个浮动,以便它们彼此相邻显示。
将其添加到您的样式表中:
.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; }
现在菜单看起来更好了:
浮动正在工作,但背景颜色已关闭。编辑 .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; }
现在菜单看起来更好了:
让我们为各个列表添加一些颜色和布局样式,以使第二级项目更加突出。将其添加到您的样式表中:
.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; }
这使得列表看起来更好,第二级项目带有下划线和红色。请随意修改这些颜色以适合您的主题。
最后,让我们删除第三级项目的上边距,以便它们更紧密地聚集在一起。编辑它们的代码如下:
.main-navigation ul:hover ul li ul li a { padding-left: 1em; padding-top: 0; }
现在菜单看起来更加整洁:
我们现在有了一个功能强大的大型菜单,使用我们主题中的主导航菜单。
您不需要插件来创建简单的超级菜单
如果您想使用 WordPress 导航菜单的内容创建一个简单的大型菜单,这种技术可以让您将一个菜单添加到您的主题中,而无需太多额外的代码。
但是,如果您想添加额外的功能,例如自定义样式和图像,使用插件可能会更快。您一定会在我们的顶级大型菜单插件列表中找到满足您需求的一款。
以上是簡化在 WordPress 中建立超級選單的過程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

博客是人們在網上表達觀點、意見和見解的理想平台。許多新手渴望建立自己的網站,卻因擔心技術障礙或成本問題而猶豫不決。然而,隨著平台不斷發展以滿足初學者的能力和需求,現在開始變得比以往任何時候都更容易。 本文將逐步指導您如何建立一個WordPress博客,從主題選擇到使用插件提升安全性和性能,助您輕鬆創建自己的網站。 選擇博客主題和方向 在購買域名或註冊主機之前,最好先確定您計劃涵蓋的主題。個人網站可以圍繞旅行、烹飪、產品評論、音樂或任何激發您興趣的愛好展開。專注於您真正感興趣的領域可以鼓勵持續寫作

WordPress對初學者來說容易上手。 1.登錄後台後,用戶界面直觀,簡潔的儀表板提供所有必要功能鏈接。 2.基本操作包括創建和編輯內容,所見即所得的編輯器簡化了內容創建。 3.初學者可以通過插件和主題擴展網站功能,學習曲線存在但可以通過實踐掌握。

您想了解如何在父分類存檔頁面上顯示子分類嗎?在自定義分類存檔頁面時,您可能需要執行此操作,以使其對訪問者更有用。在本文中,我們將向您展示如何在父分類存檔頁面上輕鬆顯示子分類。為什麼在父分類存檔頁面上顯示子分類?通過在父分類存檔頁面上顯示所有子分類,您可以使其不那麼通用,對訪問者更有用。例如,如果您運行一個關於書籍的WordPress博客,並且有一個名為“主題”的分類法,那麼您可以添加“小說”、“非小說”等子分類法,以便您的讀者可以

最近,我們向您展示瞭如何通過允許用戶將自己喜歡的帖子保存在個性化庫中來為用戶創建個性化體驗。您可以通過在某些地方(即歡迎屏幕)使用他們的名字,將個性化結果提升到另一個水平。幸運的是,WordPress使獲取登錄用戶的信息變得非常容易。在本文中,我們將向您展示如何檢索與當前登錄用戶相關的信息。我們將利用get_currentuserinfo(); 功能。這可以在主題中的任何地方使用(頁眉、頁腳、側邊欄、頁面模板等)。為了使其工作,用戶必須登錄。因此我們需要使用

有四種方法可以調整 WordPress 文章列表:使用主題選項、使用插件(如 Post Types Order、WP Post List、Boxy Stuff)、使用代碼(在 functions.php 文件中添加設置)或直接修改 WordPress 數據庫。

過去,我們分享過如何使用PostExpirator插件使WordPress中的帖子過期。好吧,在創建活動列表網站時,我們發現這個插件非常有用。我們可以輕鬆刪除過期的活動列表。其次,多虧了這個插件,按帖子過期日期對帖子進行排序也非常容易。在本文中,我們將向您展示如何在WordPress中按帖子過期日期對帖子進行排序。更新了代碼以反映插件中更改自定義字段名稱的更改。感謝Tajim在評論中讓我們知道。在我們的特定項目中,我們將事件作為自定義帖子類型。現在

我們的一位用戶詢問其他網站如何在頁腳中顯示查詢數量和頁面加載時間。您經常會在網站的頁腳中看到這一點,它可能會顯示類似以下內容:“1.248秒內64個查詢”。在本文中,我們將向您展示如何在WordPress中顯示查詢數量和頁面加載時間。只需將以下代碼粘貼到主題文件中您喜歡的任何位置(例如footer.php)。 queriesin

能在三天內學會WordPress。 1.掌握基礎知識,如主題、插件等。 2.理解核心功能,包括安裝和工作原理。 3.通過示例學習基本和高級用法。 4.了解調試技巧和性能優化建議。
