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
Inhaltsverzeichnis 1 Was ist eine Container-Cloud...
In diesem Artikel wird der spezifische Code des W...
Vue-Gerüst -> vue.cli Erstellen Sie schnell ei...
1. Caches - Abfrage-Cache Die folgende Abbildung ...
Inhaltsverzeichnis Datenvolumen des Docker-Contai...
Ist Leistung wirklich wichtig? Leistung ist wicht...
brauchen Vor Kurzem mussten wir die Node-Onlinedi...
Inhaltsverzeichnis 1. Installationsumgebung 2. In...
Kurzes Tutorial Dies ist ein CSS3-Farbfortschritt...
Inhaltsverzeichnis Überblick So nutzen Sie die Mu...
Inhaltsverzeichnis Überblick Formularvalidierung ...
Obwohl ich bereits einige Projekte in einer Docke...
Grammatikregeln SELECT Spaltenname(n) FROM Tabell...
1: Installation eines privaten Docker-Warehouses ...
Rendern Definieren Sie das Skelett, schreiben Sie...