Wählen Sie die besten Voreinstellungen aus, um vollständige Kompatibilität mit allen Browsern zu erreichen.

Wählen Sie die besten Voreinstellungen aus, um vollständige Kompatibilität mit allen Browsern zu erreichen.
Wir wissen, dass die Eigenschaften des Auswahltags in jedem Browser und die Unterstützung jedes Browsers etwas unterschiedlich sind, was dazu führt, dass die Anzeige des Auswahlfelds in jedem Browser unterschiedlich ist. Als Nächstes erstellen wir eine vollständig kompatible Auswahl, indem wir die wichtigsten CSS-Erscheinungseigenschaften unterstützen.
Ich habe eine DEMO für die Höhe, Polsterung und Zeilenhöhe der Auswahl mithilfe der Kontrollvariablenmethode geschrieben, um drei Situationen in verschiedenen Browsern zu testen: height.100.padding.0, height.no.padding.100, no.height.no.padding. Die Ergebnisse werden in den verlinkten Bildern angezeigt. Das DEMO-Erscheinungsbild jedes Browsers

Wir können die folgenden Forschungseigenschaften ableiten.

ie6

ie7

ie8

ie9

ff

ch

sf

op

Standardhöhe

22px

22px

19px

20px

19px

19px

Höhe

F

T

T

T

T

T

F

T

Polsterung

F

F

T

T

T

T

F

T

Zeilenhöhe

F

F

F

F

F

F

T

F

Text vertikal zentrieren

T

T

T

F

F

T

T

T


Durch die obige Zusammenfassung der Forschungsergebnisse und Attribute wissen wir, dass IE6 eine feste Höhe von 22px hat, egal wie sie eingestellt wird, und dass andere Browser außer Safari das Höhenattribut unterstützen, sodass wir die Höhe auf 22px einstellen. Jetzt korrigieren wir den Safari-Browser. Wir haben festgestellt, dass nur Safari das Zeilenhöhenattribut unterstützt. Daher können wir die Zeilenhöhe verwenden, um die Höhe auf 22 Pixel zu korrigieren. Unter der Voraussetzung, dass die Schriftgröße 12 Pixel beträgt, setzen wir Zeilenhöhe: 22 Pixel. Schließlich ist der Text in FF und IE9 nicht zentriert. Wir setzen dafür padding: 2px 0. Wir haben festgestellt, dass FF und IE9 zentriert sind, aber die Höhe der Auswahl in jedem Browser hat sich nicht erhöht. Hier ist also eine Frage. Wenn die Höhe eingestellt ist, erhöht das Padding einer kleinen Zahl nicht die Gesamthöhe?
Das Folgende ist ein vollständig kompatibles Codebeispiel.

Code kopieren
Der Code lautet wie folgt:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<Kopf>
<meta http-equiv="Inhaltstyp" content="text/html; charset=utf-8" />
<Titel>Demo</Titel>
<Stil>
*{Auffüllung:0; Rand:0}
Textkörper {Schriftgröße: 12px}
Wählen Sie {Höhe: 22px; Zeilenhöhe: 18px; Polsterung: 2px 0}
</Stil>
</Kopf>
<Text>
<div Stil="Rand oben:20px; Rand links:20px; Hintergrund:#000">
<Auswählen>
<option>Demonstrationsfrage 1</option>
<option>Demonstrationsfrage 2</option>
<option>Demonstrationsfrage 3</option>
<option>Demonstrationsfrage 4</option>
<option>Demonstrationsfrage 5</option>
</Auswählen>
</div>
</body>
</html>

<<:  Fünf Verzögerungsmethoden für die MySQL-Zeitblindinjektion

>>:  Wie oft werden mehrere setStates in React aufgerufen?

Artikel empfehlen

Tägliche Studiennotizen im HTML-Designmuster

Studiennotizen zu HTML-Entwurfsmustern Diese Woch...

Detaillierte Erklärung der verschiedenen Verwendungen von proxy_pass in nginx

Inhaltsverzeichnis Proxy-Weiterleitungsregeln Der...

Detaillierte Schritte zum Einrichten eines Nexus-Servers

1. Die Bedeutung des Aufbaus eines Nexus-Dienstes...

Eine kurze Diskussion zur MySQL-Indexoptimierungsanalyse

Warum sind die von Ihnen geschriebenen SQL-Abfrag...

Detaillierte Diskussion der Unterschiede zwischen Schleifen in JavaScript

Inhaltsverzeichnis Vorwort Aufzählbare Eigenschaf...

Detaillierte Erklärung des Explain-Typs in MySQL

Einführung: In vielen Fällen denken viele Leute, ...

JavaScript-Timer zur Realisierung einer zeitlich begrenzten Flash-Sale-Funktion

In diesem Artikel wird der spezifische JavaScript...

Perfekte Lösung für das Problem des CSS-Hintergrundbildpfads im Webpack

Innerhalb des Style-Tags der Vue-Komponente befin...

Vue implementiert einen einfachen Laufschrifteffekt

In diesem Artikel wird der spezifische Code von V...

Grafisches Tutorial zur MySQL8-Installationsversion

Installation Die erforderlichen Unterlagen finden...

Einführung in das Linux-Netzwerksystem

Inhaltsverzeichnis Netzwerk Informationen Ändern ...