Fehlerbehebung im Low-Resolution Modus

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Ich habe neulich an einem Bug-Ticket gearbeitet, bei dem gemeldet wurde, dass ein Icon in einem Button zu tief saß. Einfach nicht richtig ausgerichtet. Ich musste mich auf eine kleine Reise begeben, um herauszufinden, wie ich ihn reproduzieren kann, bevor ich ihn beheben konnte. Lasst mich die Szene aufbauen.

Hier ist der Screenshot

Sehen Sie, wie das Icon einfach... tief hängt?

Aber wenn ich mir den Button auf meinem Rechner ansehe, sieht er perfekt aus

Was zum Teufel, oder? Gleiche Plattform (macOS), gleicher Browser (Firefox), gleiche Version, alles. Andere Leute im Team schauten auch, und es war für sie in Ordnung.

Dann eine Entdeckung! (Danke, Klare.)

Es sah nur auf ihrem Low-Resolution-Externmonitor so aus. Ich weiß nicht, ob "Low" fair ist, aber es ist nicht das "Retina" eines MacBook Pro, was auch immer das ist.

Mein Problem ist, dass ich gar keinen Monitor mehr habe, der nicht hochauflösend ist. Wie kann ich das also testen? Vielleicht kann ich das einfach... nicht? Nein! Ich kann! Schauen Sie mal. Ich kann auf die Firefox-App auf meinem Rechner "Informationen abrufen" und diese Box ankreuzen

Angekreuztes Feld für "In niedriger Auflösung öffnen"

Jetzt kann ich den Fehler buchstäblich sehen. Soweit ich das beurteilen kann, ist er einzigartig für Firefox. Vielleicht etwas mit Pixel... Rundung? Ich habe keine Ahnung. Hier ist ein reduzierter Testfall mit dem beteiligten HTML/CSS.

Die Lösung? Anstatt einen inline-block Display-Typ für Buttons zu verwenden, sind wir zu inline-flex gewechselt, was sich wie der richtige Display-Typ für Buttons anfühlt, da Flexbox hervorragend zum Zentrieren geeignet ist.

.button {
   /* a million things so that all buttons are perfect and... */

  display: inline-flex;
  align-items: center;
}