In diesem Artikel wird hauptsächlich der Beispielcode von Vue zur Realisierung einer horizontalen Zeitleiste mit zwei Spalten vorgestellt. Er wird wie folgt mit Ihnen geteilt: Schauen wir uns zunächst das Bild an. Es implementiert hauptsächlich eine horizontale Zeitleiste mit zwei Spalten. Ich habe mir angesehen, was viele Leute implementiert haben, und es gibt nur eine horizontale Spalte. Außerdem ist die Zeitleiste von elementUI nur vertikal und unterstützt keine horizontale. Am Ende konnte ich es nur unter Tränen selbst implementieren. Ich hätte nicht erwartet, dass es in Ordnung ist. Wenn jedoch viele Daten vorhanden sind, wurde das Umblättern noch nicht implementiert. Freunde, die dies implementiert haben, können mich markieren. 1. Implementieren Sie die Komponente timelineH.vue Das H in timelineH.vue steht für horizontal. Es ist schwer, es zu benennen, haha. <Vorlage> <ul Klasse="timelineHengBox"> <li Klasse = "timelineHengItem" v-for = "(Item, Index) in TimelineList" :Schlüssel = "Index" :style="{left: index % 2 != 0 ? (liHalf*index)+52+'px':0,'border-right': index == timelineList.length - 2 ?'1px solid #FEFEFE' : 'none'}"> <div class="timeline_dot" :style="{top: index % 2 != 0 ? '-5px' : '93px'}"></div> <div Klasse = "timeline_dot" v-show = "index == timelineList.length - 2" Stil = "rechts: -6px;oben:93px;links: nicht festgelegt;"></div> <div class="timeline_wapper flex" :class="{'mt20': index % 2 != 0}"> <img src="../../static/img/excelIcon.png" class="bjIcon" :style="{'margin': index % 2 != 0 ? '11px 44px 0 42px' :''}"> <div>{{item.content}}</div> </div> <div class="timelineDate_bottom" :style="{'top': index % 2 != 0 ? '-20px' : '103px'}">{{item.dateTime}}</div> </li> </ul> </Vorlage> <Skript> Standard exportieren { Name: "timelineH", Requisiten: { Zeitleistenliste: { Typ: Array, Standard: [] } }, Daten () { zurückkehren { liWidth: 496, //Die Breite des gesamten li, um mit dem Stil des li darunter übereinzustimmen liHalf: 248, //Dies ist die halbe Breite des li, damit der Punkt auf der mittleren horizontalen Linie die richtige Position finden kann} } } </Skript> <Stilbereich> .timelineHengBox { Farbe: #fff; Rand: 0; Polsterung: 0 26px; Breite: 92 %; Polsterung oben: 18px; Polsterung unten: 10px; Rand links: 26px; Höhe: 87px; Rahmen unten: 3px durchgezogen #FEFEFE; } .timelineHengItem { Listenstil: keiner; Höhe: 97px; Breite: 496px; Rahmen links: 1px durchgezogen #FEFEFE; schweben: links; Rahmen unten: 3px durchgezogen #FEFEFE; Position: relativ; } .timelineHengItem:n-tes-Kind(2n) { Position: absolut; links: 248px; Rahmen unten: 0; oben: 115px; } .timeline_dot { Breite: 10px; Höhe: 11px; Hintergrund: #FEFEFE; Position: absolut; links: -5px; oben: 93px; } .timeline_dot:n-tes-Kind(2n) { oben: -7px; } .timeline_wapper { Breite: 400px; Textausrichtung: links; Schriftgröße: 12px; Farbe: #FFFFFF; Zeilenhöhe: 20px; } .mt20 { Rand oben: 20px; } .bjIcon { Breite: 32px; Höhe: 32px; Rand: 31px 44px 0 42px; } .timelineDate_bottom { Breite: 80px; Höhe: 20px; Position: absolut; oben: 103px; links: -60px; Textausrichtung: links; Schriftgröße: 14px; Schriftstärke: fett; Farbe: #FFBA00; Rand links: 77px; } </Stil> Umsetzungsideen:
2. Komponenten aufrufen<div Klasse="timelineHengContainer"> <timelineH :timelineList='Zeitlinienliste' /> </div> javascript - Argumente: importiere timelineH aus "@/components/timelineH.vue"; Komponenten: ZeitleisteH }, Daten() { zurückkehren { Zeitleistenliste: [ { Datum/Uhrzeit: '2021-09', Inhalt: ,,Willkommen beim Bergbau, bau jeden Tag ab und gewinne Erz, hahahaha, Willkommen beim Bergbau, bau jeden Tag ab und gewinne Erz, hahahaha, Willkommen beim Bergbau, bau jeden Tag ab und gewinne Erz, hahahaha, Willkommen beim Bergbau, bau jeden Tag ab und gewinne Erz, hahahaha. ' },{ Datum/Uhrzeit: '2021-10', Inhalt: ,,Bitte halten Sie sich im Winter warm, es ist zu kalt.Bitte halten Sie sich im Winter warm, es ist zu kalt.Bitte halten Sie sich im Winter warm, es ist zu kalt.Bitte halten Sie sich im Winter warm, es ist zu kalt. ' },{ Datum/Uhrzeit: '2021-11', Inhalt: „Die 30-Tage-Post-Challenge hat offiziell begonnen. Ich will einen Projektor. Ich wollte schon immer einen kaufen.“ ' },{ Datum/Uhrzeit: '2021-12', Inhalt: ,,Der Monat ist fast zu Ende, ein neues Jahr beginnt, ein frohes neues Jahr, ein neues Jahr beginnt, ein frohes neues Jahr, ein neues Jahr beginnt, ein frohes neues Jahr. ' } ] } } CSS: .timelineHengContainer { Breite: 100 %; Höhe: 227px; Hintergrundbild: URL('../../static/img/timelineBg.png'); Hintergrundgröße: 100 % 100 %; Hintergrundwiederholung: keine Wiederholung; } OK, damit ist die Zeitleiste mit zwei horizontalen Spalten realisiert. Sie können den Code kopieren und direkt verwenden (mit der CV-Methode~). Ich habe zwei Tage daran gearbeitet. Ich habe mich auf die Methode zum Zeichnen der vertikalen Zeitleiste von Elementui bezogen, aber es hat nicht geklappt. Ich habe es auch nicht mit reinem Div und CSS implementiert. Der Hauptgrund war, dass ich nicht wusste, wie ich die vertikalen Linien der beiden Spalten und der Knoten zeichnen sollte. Schließlich dachte ich daran, li zu verwenden, um direkt einen Rahmen hinzuzufügen und dies zu erreichen. Dies ist das Ende dieses Artikels über den Beispielcode zur Implementierung einer horizontalen Zeitleiste mit zwei Spalten in Vue. Weitere relevante Inhalte zur horizontalen Zeitleiste mit zwei Spalten in Vue finden Sie in früheren Artikeln auf 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:
|
<<: Der IE8-Browser wird vollständig mit Webseitenstandards kompatibel sein
>>: So implementieren Sie die King of Glory-Personal-Ladeseite mit CSS3
COALESCE ist eine Funktion, die sich nacheinander...
CentOS7 herunterladen Das Image, das ich herunter...
Wenn wir in einem Terminal oder einer Konsole arb...
Wenn Menschen zu lange untätig waren, denken sie,...
MySql öffnet regelmäßig ein MySQLInstallerConsole...
Dies ist eigentlich kein offizielles Dokument des ...
Inhaltsverzeichnis Relativer Pfadsprung im Vue-Ro...
Vorwort Bei der täglichen Entwicklung oder Wartun...
Erste Schritte mit Datenvolumes Wenn wir im vorhe...
1. Öffnen Sie Port 2375 Bearbeiten Sie docker.ser...
Heute habe ich eine Aktivität für einen roten Ums...
Erstellen eines Containers [root@server1 ~]# dock...
Code kopieren Der Code lautet wie folgt: <html...
1. Grundlegende Verwendung Es kann über den Mutat...
Das Datenträgerkontingent ist die Speichergrenze ...