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
Inhaltsverzeichnis Wo werden die Protokolle gespe...
Die Verwendung der internen Funktion instr in MyS...
Voraussetzungen Git muss installiert werden Insta...
Schnelle Lösung zum Vergessen des MySQL-Datenbank...
Genau wie bei Code können Sie den Tabellen und Sp...
Es gibt zu viele Artikel über Webstandards zur We...
Bild herunterladen Docker-Pull OpenJDK Erstellen ...
1. Einführung in Apache Bench ApacheBench ist ein...
Inhaltsverzeichnis Vorwort: 1. Über die Datenmigr...
Interviewer: Haben Sie den Quellcode von Vue gele...
Hier finden Sie eine Einführung zum Ändern des Pa...
Als häufig verwendete Datenbank erfordert MySQL v...
Vorwort Wer schon einmal mit MySQL gespielt hat, ...
Inhaltsverzeichnis veranschaulichen 1. Blob-Objek...
Vom Kunsthandwerksdesign über Grafikdesign bis hin...