In diesem Artikel wird der spezifische Code von Vue2.0 zur Erzielung einer adaptiven Auflösung zu Ihrer Information bereitgestellt. Der spezifische Inhalt ist wie folgt 1. Front-End-Framework: Vue2.0+elementUI 2.15.7 2. Entwicklungstools: VS Code 3. Installieren Sie das erforderliche Rack-Paket:
Überprüfen Sie, ob das „flexible“ Paket installiert ist. Wenn es installiert ist, deinstallieren Sie es oder brechen Sie den Verweis ab. Die Paketdatei steht in Konflikt mit der geänderten „flexiblen“ Datei. 4. Erstellen Sie die Datei flexibleEx.js (diese Datei ist die flexible.js-Datei, die das flexible Paket ändert, das nach Bedarf geändert werden kann) und platzieren Sie sie an einem beliebigen Ort, beispielsweise im Verzeichnis „/src/utils“. Führen Sie dann „flexibleEx.js“ in „main.js“ ein, etwa: importiere '@/utils/flexibleEx.js' Dateicode: (Funktion(win, lib) { var doc = win.document var docEl = doc.documentElement var metaEl = doc.querySelector('meta[name="viewport"]') var flexibleEl = doc.querySelector('meta[name="flexible"]') var dpr = 0 var Skala = 0 var tid var flexible = lib.flexible || (lib.flexible = {}) wenn (MetaEl) { console.warn('Der Zoomfaktor wird entsprechend den vorhandenen Meta-Tags eingestellt.') var match = metaEl .getAttribute('Inhalt') .match(/initial\-scale=([\d\.]+)/) wenn (Übereinstimmung) { Skala = parseFloat(Übereinstimmung[1]) dpr = parseInt(1 / Skala) } } sonst wenn (flexibleEl) { var Inhalt = flexibleEl.getAttribute('Inhalt') wenn (Inhalt) { var initialDpr = Inhalt.match(/initial\-dpr=([\d\.]+)/) var maximumDpr = content.match(/maximum\-dpr=([\d\.]+)/) wenn (initialDpr) { dpr = parseFloat(initialDpr[1]) Skala = parseFloat((1 / dpr).toFixed(2)) } wenn (maximalDpr) { dpr = parseFloat(maximumDpr[1]) Skala = parseFloat((1 / dpr).toFixed(2)) } } } wenn (!dpr && !scale) { var isAndroid = win.navigator.appVersion.match(/android/gi) var isIPhone = win.navigator.appVersion.match(/iphone/gi) var devicePixelRatio = win.devicePixelRatio wenn (istIPhone) { // Unter iOS verwenden Sie für 2 und 3 Bildschirme die 2x-Lösung und für den Rest die 1x-Lösung if (devicePixelRatio >= 3 && (!dpr || dpr >= 3)) { dpr = 3 } sonst wenn (Gerätepixelverhältnis >= 2 und (!dpr || dpr >= 2)) { dpr = 2 } anders { dpr = 1 } } anders { // Für andere Geräte wird weiterhin die 1x-Lösung verwendet dpr = 1 } Maßstab = 1 / dpr } docEl.setAttribute('data-dpr', dpr) wenn (!metaEl) { metaEl = doc.createElement('meta') metaEl.setAttribute('Name', 'Ansichtsfenster') metaEl.setAttribute( 'Inhalt', 'Anfangsmaßstab=' + Maßstab + ', maximaler Maßstab =' + Maßstab + ', Mindestmaßstab=' + Maßstab + ', benutzerskalierbar=nein' ) wenn (docEl.erstesElementKind) { docEl.firstElementChild.appendChild(metaEl) } anders { var wrap = doc.createElement('div') wrap.appendChild(metaEl) doc.write(innerHTML umschließen) } } Funktion refreshRem() { const weiße Liste = [ '/managementKanban', '/ProduktionKanban', '/Bedienfeld', '/hauptsächlich' ] // Whitelist-Routen nicht umleiten var width = docEl.getBoundingClientRect().width var rem = 0 var hrefList = window.location.href.split('/') var url = hrefList[hrefList.Länge - 1] var url0 = url.split('?') var urlEnd wenn (url0.Länge > 0) { urlEnd = url0[0] } wenn (!whiteList.includes('/' + urlEnd)) { wenn (Breite / dpr <= 1980 und Breite / dpr > 768) { Breite = 1980 * dpr rem = Breite / 48 } sonst wenn (Breite / dpr >= 5760) { Breite = 5760 * dpr rem = Breite / 48 } anders { Breite = 540 * dpr rem = Breite / 20 } docEl.style.fontSize = rem + 'px' flexible.rem = win.rem = rem } } win.addEventListener( 'Größe ändern', Funktion() { Zeitüberschreitung löschen(tid) tid = setzeTimeout(refreshRem, 300) }, FALSCH ) win.addEventListener( "DOMNodeEingefügt", Funktion() { Zeitüberschreitung löschen(tid) tid = setzeTimeout(refreshRem, 50) }, FALSCH ) win.addEventListener( 'Seitenshow', Funktion(e) { wenn (e.persistent) { Zeitüberschreitung löschen(tid) tid = setzeTimeout(refreshRem, 300) } }, FALSCH ) wenn (doc.readyState === 'abgeschlossen') { doc.body.style.fontSize = 12 * dpr + 'px' } anders { doc.addEventListener( „DOMContentLoaded“, Funktion(e) { doc.body.style.fontSize = 12 * dpr + 'px' }, FALSCH ) } aktualisierenRem() flexible.dpr = win.dpr = dpr flexible.refreshRem = aktualisierenRem flexible.rem2px = Funktion(d) { var val = parseFloat(d) * this.rem wenn (Typ von d === 'Zeichenfolge' und d.match(/rem$/)) { Wert + = "px" } Rückgabewert } flexible.px2rem = Funktion(d) { var val = parseFloat(d) / dies.rem wenn (Typ von d === 'Zeichenfolge' und d.match(/px$/)) { Wert + = "rem" } Rückgabewert } })(Fenster, Fenster['lib'] || (Fenster['lib'] = {})) 5. Ändern Sie die Datei „build/utitls.js“ und fügen Sie den folgenden Code hinzu: Funktion generateLoaders(loader, loaderOptions) { const loaders = options.usePostCSS ? [cssLoader] : [cssLoader]; wenn (Lader) { loaders.push({ Lader: Lader + "-Lader", Optionen: Objekt.assign({}, loaderOptions, { Quellkarte: Optionen.Quellkarte }) }); } // CSS extrahieren, wenn diese Option angegeben ist // (was während der Produktionserstellung der Fall ist) wenn (Optionen.extrahieren) { returniere ExtractTextPlugin.extract({ Einsatz: Lader, Fallback: „Vue-Style-Loader“, öffentlicher Pfad: "../../" }); } anders { Geben Sie ["vue-style-loader"].concat(loader) ein. } } 6. Ändern Sie die Datei "postcssrc.js" im Verzeichnis modul.exporte = { Plugins: { 'Autoprefixer': { Browserliste überschreiben: [ „Android 4.1“, „iOS 7.1“, 'Chrome > 31', 'ff > 31', 'dh >= 8' ] }, 'postcss-pxtorem': { Wurzelwert: 37,5, Eigenschaftenliste: ['*'] } } } 7. Hinweis: Das Problem der Schnittstellenanpassung wurde gelöst, es gibt jedoch immer noch einige Probleme mit der Schnittstellendarstellung. Jetzt müssen Sie die abnormale Schnittstelle selbst ändern. Versuchen Sie, rem für die Schnittstellenentwicklung zu verwenden, und versuchen Sie, keine Inline-Stile zu verwenden. Diese müssen alle manuell geändert werden. Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Einführung mehrerer benutzerdefinierter Schriftarten in CSS3
>>: So fügen Sie Bilder in HTML-Seiten ein und fügen Kartenindexbeispiele hinzu
Überblick Lassen Sie uns einige SQL-Anweisungen z...
Zur Aufzeichnung: Es kann in Zukunft verwendet we...
In diesem Artikel wird der spezifische Code für J...
Inhaltsverzeichnis Abfrage-Cache-Optimierung Über...
HTML besteht aus zwei Teilen: Kopf und Text ** Da...
Inhaltsverzeichnis Implementierung einer Suchmasc...
Wie oben gezeigt, sind Füllwerte zusammengesetzte...
Inhaltsverzeichnis Vorwort 1. Verwenden Sie for.....
Vorwort In diesem Artikel werden wir weitere Verw...
Klicken Sie auf die Schaltfläche, um den Text in ...
MongoDB-Installationsprozess und Problemaufzeichn...
Als ich vor ein paar Tagen ein dreispaltiges Layou...
Wenn Sie mit der Arbeit an einem Projekt beginnen...
MySQL-Gruppensortierung, um die obersten N zu fin...
Problembeschreibung: Nachdem das Front-End Daten ...