Vue implementiert eine Registerkartennavigationsleiste und unterstützt die Schiebefunktion nach links und rechts

Vue implementiert eine Registerkartennavigationsleiste und unterstützt die Schiebefunktion nach links und rechts

In diesem Artikel werden hauptsächlich die folgenden Themen vorgestellt: Implementierung der Registerkartennavigationsleiste mit Vue, Gleiten nach links und rechts mit Flex-Layout, Berechnen der Schaltflächenposition und automatisches Gleiten zum Anzeigen nicht angezeigter Elemente, wenn auf das zuletzt auf dem ersten Bildschirm angezeigte Element geklickt wird und noch Elemente vorhanden sind, die nicht angezeigt wurden.

Layout der Registerkartennavigationsleiste:

<Abschnitt Klasse="Themenliste">
  <div Klasse="fixed-nav" ref="fixednav">
    <div Klasse="fester Navigationsinhalt">
      <p
        v-for="(Element, Index) im Thema"
        :Schlüssel="Index"
        :Klasse="['Tab-Titel', ActiveId === Index && 'Tab-Auswahl']"
        @click="Tab ändern(index, $ereignis)"
      >
        {{ Artikel }}
      </p>
    </div>
  </div>
</Abschnitt>
Thema: ['CSDN-Blog', 'Blog-Garten', 'Viel Glück bei der College-Aufnahmeprüfung', 'Viel Glück bei der Highschool-Aufnahmeprüfung', 'Kleine Freude', 'Siebzigster Jahrestag'],
Aktive ID: 0

Code für den Stil der Navigationsleiste:

.Themenliste {
  Rand oben: 12px;
}
.feste-Navigation {
  Überlauf-x: scrollen;
  -webkit-overflow-scrolling: berühren;
}
.fixierter-Navigationsinhalt {
  Anzeige: Flex;
}
.tab-Titel {
  Polsterung: 0 13px;
  Rand rechts: 12px;
  Farbe: #141414;
  Rahmenradius: 13px;
  Schriftgröße: 12px;
  Flex-Schrumpfen: 0;
  Höhe: 0,52rem;
  Zeilenhöhe: 0,52rem;
}

An dieser Stelle können wir den folgenden Stil implementieren und die Registerkarte nach links und rechts verschieben:

Bildbeschreibung hier einfügen

Es ist zu beachten, dass im Stilcode flex-shrink : 0 hinzugefügt werden muss, damit die Registerkarte nicht schrumpft, wenn die Breite größer als die Breite des externen Containers ist.

Auf diese Weise wurde unsere grundlegende Tab-Navigationsleiste implementiert. Lassen Sie uns sie nun umsetzen: Wenn Sie auf „Viel Glück bei der Aufnahmeprüfung für die High School“ klicken, wird die gesamte Registerkarte nach links verschoben, um die verbleibenden Registerkartenelemente anzuzeigen.

changeTab(id, Ereignis) {
  // Wenn die ausgewählte nicht mit der aktuell aktiven übereinstimmt if (id !== this.activeId) {
    diese.activeId = ID;
    // Berechnen Sie die Position der aktuellen Schaltfläche, um zu sehen, ob sie verschoben werden muss const spanLeft = event.clientX; // Der linke Abstand des aktuell angeklickten Elements const divBox = document.querySelector(".select-tab").clientWidth / 2; // Die halbe Breite des angeklickten Elements const totalWidths = document.body.clientWidth; // Gesamte Bildschirmbreite const widths = totalWidths / 2; // Die halbe Bildschirmbreite const spanRight = totalWidths - spanLeft; // Der rechte Abstand des Elements const scrollBox = document.querySelector(".fixed-nav"); // Holen Sie das äußerste Element const scrollL = scrollBox.scrollLeft; // Die Distanz, über die die Bildlaufleiste scrollt // Gleiten, wenn der linke oder rechte Abstand des Elements weniger als 100 beträgt if (spanRight < 100 || spanLeft < 100) {
      scrollBox.scrollLeft = scrollL + (spanLeft - Breiten) + divBox;
    }
  }
}

Mit dieser Methode lässt sich zwar ein automatisches Scrollen der Registerkarte realisieren, es besteht jedoch immer noch ein Problem: Beim Gleiten wird die Bildlaufleiste angezeigt, was offensichtlich nicht sehr schön ist.

/*Definieren Sie die Höhe und Breite der Bildlaufleiste und die Höhe und Breite des Hintergrunds entsprechend der Größe der horizontalen und vertikalen Bildlaufleiste*/
::-webkit-scrollbar {
  Breite: 0,01rem;
  Deckkraft: 0;
  Anzeige: keine;
}
/*Definieren Sie den inneren Schatten + die abgerundeten Ecken der Bildlaufleiste*/
::-webkit-scrollbar-track {
  Hintergrundfarbe: #fff;
  Deckkraft: 0;
}
/*Definieren Sie den inneren Schatten + die abgerundeten Ecken des Schiebereglers*/
::-webkit-scrollbar-thumb {
  Breite: 0,01rem;
  Randradius: 0,01rem;
  Deckkraft: 0;
}

Auf diese Weise wird eine Navigationsleiste realisiert, und der Stil der Navigationsleiste kann entsprechend der Geschäftstätigkeit des Unternehmens geändert werden!

Dies ist das Ende dieses Artikels über die Implementierung einer Tab-Navigationsleiste durch Vue, die Links- und Rechtsgleiten unterstützt. Weitere relevante Inhalte zur Links- und Rechtsgleitnavigationsleiste von Vue finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Vue implementiert eine gleitende Navigation oben links und rechts
  • Vue implementiert Beispielcode für Links- und Rechtsgleiteffekte
  • Vue + Swiper implementiert die Testfragefunktion zum Schieben nach links und rechts
  • Vue verwendet den Swiper zum Wechseln von Bildern durch Wischen nach links und rechts
  • Vue verwendet Better-Scroll, um Gleiten und Links-Rechts-Verknüpfung zu erreichen
  • Detaillierte Erläuterung der Links- und Rechtsschiebeereignisse auf dem Vue-Mobilterminal
  • Das mobile Terminal von Vue realisiert die Animation des nach links und rechts gleitenden Mobiltelefons
  • So realisieren Sie einen Links- und Rechts-Gleiteffekt auf mobilen Endgeräten in Vue
  • Implementierung des Links- und Rechtsschiebeeffekts beim Seitenwechsel basierend auf Vue
  • Detaillierte Erläuterung der Verwendung der linken und rechten Schiebetastengruppenkomponente von Vue

<<:  Implementierung von Zugriffskontrolle und Verbindungsbeschränkung basierend auf Nginx

>>:  Erläuterung der Truncate Table-Verwendung

Artikel empfehlen

Teilen Sie 8 sehr nützliche CSS-Entwicklungstools

CSS3-Mustergalerie Diese CSS3-Musterbibliothek ze...

Einfache Verwendung von temporären MySQL-Tabellen

Temporäre MySQL-Tabellen sind sehr nützlich, wenn...

Implementierung der Multisite-Konfiguration von Nginx auf Mac M1

Hinweis: nginx über brew installiert Stammverzeic...

HTML-Grundlagen - Einfaches Beispiel zum Festlegen des Hyperlink-Stils

*** Beispiel für das Festlegen des Stils eines Hy...

CSS realisiert Div vollständig zentriert, ohne Höhe festzulegen

Erfordern Das Div unter dem Körper ist vertikal z...

Tutorial zur Installation von Ubuntu Server in Vmware

In diesem Artikel finden Sie das grafische Tutori...

Der Unterschied zwischen Datenzeit und Zeitstempel in MySQL

In MySQL gibt es drei Datumstypen: Datum (Jahr-Mo...

CentOS8-Installationstutorial für JDK8/Java8 (empfohlen)

Vorwort Zuerst wollte ich es mit wget auf CentOS8...

So installieren Sie schnell eine Tensorflow-Umgebung in Docker

Installieren Sie schnell die Tensorflow-Umgebung ...

So installieren Sie MySQL 8.0.17 und konfigurieren den Fernzugriff

1. Vorbereitung vor der Installation Überprüfen S...