首頁 CMS教程 &#&按 獲得粘頭標題和WP管理欄的行為

獲得粘頭標題和WP管理欄的行為

Feb 17, 2025 am 11:48 AM

解決WordPress粘性頭部與管理欄重疊問題

WordPress主題中,粘性頭部(或固定位置頭部)與管理欄重疊是一個常見問題。兩者都使用position: fixed; top: 0;,導致視覺衝突。由於管理欄的z-index為99999,它通常會覆蓋主題的粘性頭部(反之亦然)。本文將介紹如何使用CSS(和Sass)解決此問題。

Getting Sticky Headers and the WP Admin Bar to Behave

(注意:某些主題使用JavaScript來定位粘性元素。如果JavaScript持續更新內聯top屬性,以下方法無效。)

使用CSS調整頭部位置

為簡化起見,我們使用.sticky-header類來表示固定在頁面頂部的元素。您應根據您的主題找到正確的選擇器。我們假設其top位置值為0。如果top值已偏移,則需要調整以下測量值。

當管理欄在前端可見時,WordPress會將.admin-bar類附加到頁面的元素。 (這通常由header.php中的body_class();函數處理。)此類允許我們調整粘性頭部的top位置。

/* 原有CSS... */
.sticky-header {
  position: fixed;
  top: 0;
}
/* 新增CSS... */
.admin-bar .sticky-header {
  top: 32px;
}
登入後複製

管理欄高度為32px,我們只需將粘性頭部向下移動即可。但問題是,管理欄高度並非總是32px。

針對小屏幕的CSS

在寬度小於783px的屏幕上,管理欄高度為46px。我們需要修改代碼以進行補償:

.admin-bar .sticky-header {
  top: 32px;
}
@media screen and (max-width: 782px) {
  .admin-bar .sticky-header {
    top: 46px;
  }
}
登入後複製

如果您更喜歡移動優先CSS,請使用以下代碼:

.admin-bar .sticky-header {
  top: 46px;
}
@media screen and (min-width: 783px) {
  .admin-bar .sticky-header {
    top: 32px;
  }
}
登入後複製

使用Sass創建可複用的mixin

如果使用Sass構建主題,我們可以將其封裝到一個可複用的mixin中:

@mixin admin-sticky-fix( $offset: 0 ) {
  $narrow-offset: 46px;
  $wide-offset: 32px;
  @if $offset != 0 and type-of($offset) == 'number' {
    $narrow-offset: $narrow-offset + $offset;
    $wide-offset: $wide-offset + $offset;
  }
  .admin-bar & {
    top: $narrow-offset;
    @media screen and (min-width: 783px) {
      top: $wide-offset;
    }
  }
}
登入後複製

此mixin接受一個可選參數$offset,允許指定元素的top值(非0)。如果沒有指定偏移量,mixin將假設為0。如果手動指定$offset@if條件將修改默認的管理欄高度值。

使用方法:

.sticky-header {
  position: fixed;
  top: 0;
  @include admin-sticky-fix;
}

.sticky-header-offset {
  position: fixed;
  top: 20px;
  @include admin-sticky-fix(20);
}
登入後複製

結論

通過以上代碼片段,可以輕鬆解決粘性頭部與WordPress管理欄的衝突問題。 Sass mixin提高了代碼的可重用性。

常見問題解答 (FAQs)

(此處省略了FAQ部分,因為篇幅過長,且與偽原創目標不符。FAQ部分內容可以根據需要自行添加或修改。)

以上是獲得粘頭標題和WP管理欄的行為的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

WordPress開發的5個最佳ID(以及原因) WordPress開發的5個最佳ID(以及原因) Mar 03, 2025 am 10:53 AM

WordPress開發的5個最佳ID(以及原因)

使用OOP技術創建WordPress插件 使用OOP技術創建WordPress插件 Mar 06, 2025 am 10:30 AM

使用OOP技術創建WordPress插件

如何將PHP數據和字符串傳遞給WordPress中的JavaScript 如何將PHP數據和字符串傳遞給WordPress中的JavaScript Mar 07, 2025 am 09:28 AM

如何將PHP數據和字符串傳遞給WordPress中的JavaScript

如何使用WordPress插件嵌入和保護PDF文件 如何使用WordPress插件嵌入和保護PDF文件 Mar 09, 2025 am 11:08 AM

如何使用WordPress插件嵌入和保護PDF文件

See all articles