Ich habe online gesucht und festgestellt, dass in vielen Interviews Fragen zu mobilen Anpassungsmethoden gestellt werden. Ich habe kürzlich einige Artikel gelesen und möchte sie hier zusammenfassen. Lassen Sie uns zunächst über einige technische Lösungen für die Anpassung mobiler Endgeräte sprechen, die bisher erschienen sind:
1. Medienanfragen Man kann sagen, dass @media screen and (max-width: 600px) { /*Wenn die Bildschirmgröße weniger als 600 Pixel beträgt, wenden Sie den folgenden CSS-Stil an*/ /*Ihr CSS-Code*/ } Vorteil
Mangel
2.Flexibles Layout Lassen Sie uns zur Veranschaulichung die Implementierungsmethode von Tmall verwenden: Sein Die Höhe ist fest, die Breite adaptiv und alle Elemente verwenden Wenn sich die Bildschirmbreite ändert, ändert sich auch die Seite entsprechend. Der Effekt ist ähnlich dem fließenden Layout einer PC-Seite. Wenn die Breite angepasst werden muss, verwenden Sie einfach das responsive Layout (z. B. NetEase News), damit eine „Anpassung“ erreicht wird. 3. rem + Ansichtsfensterskalierung Dies ist auch die von Taobao verwendete Lösung. PS: rem Umsetzungsprinzip Vergrößern Sie die Seite entsprechend Wenn der DPR des iPhone 6 Plus 3 ist, wird die Seite dreimal vergrößert, und 1px (CSS-Einheit) entspricht im Plus standardmäßig 3px (physisches Pixel). Auf diese Weise entspricht die Seitenbreite der gesamten Webseite bei der Anzeige auf dem Gerät der logischen Pixelgröße des Geräts, d. h. 4. Rem-Umsetzung Beispielsweise ist bei der Implementierung des mobilen Endgeräts „Meizu“ auch <meta name="viewport" content="width=Gerätebreite,Anfangsskalierung=1,Maximalskalierung=1,Benutzerskalierung=nein"> Verwenden Sie den folgenden Code, um den !Funktion (d) { var c = d.Dokument; var a = c.documentElement; var b = d.devicePixelRatio; var f; Funktion e() { var h = a.getBoundingClientRect().width, g; wenn (b === 1) { h = 720 } if(h>720) h = 720; //Grenzwert des Referenzwerts festlegen g = h / 7,2; a.style.fontSize = g + "px" } wenn (b > 2) { b = 3 } anders { wenn (b > 1) { b = 2 } anders { b = 1 } } a.setAttribute("data-dpr", b); d.addEventListener("Größe ändern", Funktion () { clearTimeout(f); f = setzeTimeout(e, 200) }, FALSCH); e() }(Fenster); 1 Pixel Rand HD 1. Taobao-Implementierungsmethode Die oben erwähnte Taobao-Implementierungsmethode besteht darin, div{ Breite: 1px; Höhe: 100%; Anzeige: Block; Rahmen links: 1px durchgezogen #e5e5e5; -webkit-transform: Skalierung(.5); transformieren: scaleX(.5); } Mangel: Abgerundete Ecken können nicht erreicht werden, und es ist mühsam, 4 Ränder zu erreichen, und es kann nur einzeln erreicht werden. Bei Verschachtelung hat dies unerwünschte Auswirkungen auf die enthaltenen Effekte, daher wird diese Lösung häufiger unabhängig mit :after und before verwendet. Implementierungsmethode: Verwenden Sie CSS, um Schatten zu verarbeiten und einen 0,5-Pixel-Effekt zu erzielen. -webkit-box-shadow:0 1px 1px -1px rgba(0, 0, 0, 0,5); Vorteil: Es kann grundsätzlich alle Szenarien abdecken, einschließlich abgerundeter Schaltflächen, einzelner Linien und mehrerer Linien. Mangel: Farben sind schwierig zu handhaben und Schwarz 2. Bildimplementierung Es gibt zwei Möglichkeiten, mit Einzeilig: div{ Höhe: 1px; Hintergrundbild: -webkit-linear-gradient (oben, transparent 50 %, #000 50 %); Hintergrundposition: oben links; Hintergrundwiederholung: keine Wiederholung; Hintergrundgröße: 100 % 1px; } Mehrere Zeilen: div{ Hintergrundbild: -webkit-linear-gradient(oben,transparent 50%,#000 50%), -webkit-linear-gradient(unten, transparent 50%, #000 50%), -webkit-linear-gradient(links, transparent 50%, #000 50%), -webkit-linear-gradient(rechts, transparent 50 %, #000 50 %); Hintergrundgröße: 100 % 1px, 100 % 1px, 1px 100 %, 1px 100 %; Hintergrundwiederholung: keine Wiederholung; Hintergrundposition: oben links, unten links, links oben, rechts oben; Vorteil: Mangel: Dies ist das Ende dieses Artikels über die mobile Front-End-Anpassungslösung (Zusammenfassung). Weitere relevante Inhalte zur mobilen Front-End-Anpassung finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! |
<<: So erstellen Sie einen DHCP-Server in Linux
>>: Die v-for-Direktive in Vue vervollständigt die Listendarstellung
Bei Verwendung von apt-get zur Installation ist d...
Das auf Tencent Cloud erstellte MySQL ist immer s...
Vorwort Ich bin ein PHP-Programmierer, der als Pr...
Lassen Sie mich zunächst über die allgemeine Idee...
Transaktionale Merkmale 1. Atomarität: Nach dem S...
Würmer replizieren sich, wie der Name schon sagt,...
1. Konfigurieren Sie den Docker-Remoteverbindungs...
Hintergrund In einer Liste wie der folgenden erfo...
glibc ist die von GNU veröffentlichte libc-Biblio...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis 1. Prüfen Sie, ob MySQL auf de...
1. JDK installieren 1. Deinstallieren Sie die alt...
Inhaltsverzeichnis Herunterladen und Installieren...
brauchen Vor Kurzem mussten wir die Node-Onlinedi...
Vorwort Wenn ein Linux vollständig eingerichtet i...