Rumah >Tutorial CMS >WordTekan >Mendapatkan tajuk melekit dan bar admin WP untuk berkelakuan

Mendapatkan tajuk melekit dan bar admin WP untuk berkelakuan

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌asal
2025-02-17 11:48:15781semak imbas

Selesaikan masalah WordPress WordPress Sticky Head and Management Bar

Dalam tema WordPress, kepala melekit (atau kepala kedudukan tetap) bertindih bar admin. Kedua -dua penggunaan position: fixed; top: 0;, mengakibatkan konflik visual. Oleh kerana bar admin mempunyai Z-indeks 99999, ia biasanya meliputi kepala melekit subjek (dan sebaliknya). Artikel ini akan menerangkan cara menyelesaikan masalah ini menggunakan CSS (dan SASS).

Getting Sticky Headers and the WP Admin Bar to Behave

(Nota: Sesetengah topik menggunakan JavaScript untuk mencari unsur -unsur melekit. Jika JavaScript terus mengemas kini sifat -sifat inline , kaedah berikut tidak sah.) top Gunakan CSS untuk menyesuaikan kedudukan kepala

Untuk kesederhanaan, kami menggunakan kelas

untuk mewakili unsur -unsur yang disematkan di bahagian atas halaman. Anda harus mencari pemilih yang tepat berdasarkan topik anda. Kami mengandaikan bahawa nilai kedudukannya

ialah 0. Jika nilai

telah diimbangi, pengukuran berikut perlu diselaraskan. .sticky-header top Apabila bar admin dapat dilihat di hujung depan, WordPress melekatkan kelas top ke elemen

halaman. (Ini biasanya dikendalikan oleh fungsi

dalam .admin-bar.) Kelas ini membolehkan kita menyesuaikan kedudukan kepala melekit. header.php body_class(); top Ketinggian bar pengurusan adalah 32px, kita hanya perlu menggerakkan kepala melekit ke bawah. Tetapi masalahnya ialah ketinggian bar admin tidak selalunya 32px.

<code class="language-css">/* 原有CSS... */
.sticky-header {
  position: fixed;
  top: 0;
}
/* 新增CSS... */
.admin-bar .sticky-header {
  top: 32px;
}</code>
CSS untuk skrin kecil

pada skrin dengan lebar kurang daripada 783px, ketinggian bar pengurusan adalah 46px. Kita perlu mengubah suai kod untuk mengimbangi:

Jika anda lebih suka CSS mudah alih pertama, gunakan kod berikut:

<code class="language-css">.admin-bar .sticky-header {
  top: 32px;
}
@media screen and (max-width: 782px) {
  .admin-bar .sticky-header {
    top: 46px;
  }
}</code>

Buat mixin yang boleh diguna semula dengan sass

<code class="language-css">.admin-bar .sticky-header {
  top: 46px;
}
@media screen and (min-width: 783px) {
  .admin-bar .sticky-header {
    top: 32px;
  }
}</code>
Jika anda membina tema dengan sass, kami dapat merangkumnya ke dalam campuran yang boleh diguna semula:

Mixin ini menerima parameter pilihan

yang membolehkan nilai
<code class="language-scss">@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;
    }
  }
}</code>
unsur yang ditentukan (bukan 0). Jika tiada offset ditentukan, Mixin akan dianggap sebagai 0. Jika anda secara manual menentukan

, keadaan $offset akan mengubah nilai ketinggian lajur pengurusan lalai. top $offset cara menggunakan: @if

Kesimpulan

<code class="language-scss">.sticky-header {
  position: fixed;
  top: 0;
  @include admin-sticky-fix;
}

.sticky-header-offset {
  position: fixed;
  top: 20px;
  @include admin-sticky-fix(20);
}</code>
Melalui coretan kod di atas, konflik antara kepala melekit dan bar pengurusan WordPress dapat diselesaikan dengan mudah. Sass Mixin meningkatkan kebolehgunaan semula kod.

FAQs (FAQs)

(bahagian FAQ ditinggalkan di sini kerana artikel itu terlalu panjang dan tidak sepadan dengan matlamat asal pseudo. Bahagian FAQ boleh ditambah atau diubahsuai seperti yang diperlukan.)

Atas ialah kandungan terperinci Mendapatkan tajuk melekit dan bar admin WP untuk berkelakuan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn