Ich suche nach einer einfachen Möglichkeit, um Elemente auf der Seite zu finden, bei denen der linke Rand und der rechte Rand auf automatisch gesetzt sind.
Ich habe dieses Skript, das mir manchmal hilft:
Während diese Funktion einen Teil der Arbeit erledigt, werden die meisten Fälle von margin: auto
, die ich auf Websites gesehen habe, nicht erfasst.
Können Sie mir einen besseren Weg zeigen?
Ich hasse es, das zu sagen, aber dieser hat weniger Erfolg als meine eigene Version.
benutze jQuery:
%code%
Ich suche nach einer einfachen Möglichkeit, um Elemente auf der Seite zu finden, bei denen der linke Rand und der rechte Rand auf automatisch gesetzt sind.
Ich habe dieses Skript, das mir manchmal hilft:
Während diese Funktion einen Teil der Arbeit erledigt, werden die meisten Fälle von %code% , die ich auf Websites gesehen habe, nicht erfasst.
Können Sie mir einen besseren Weg zeigen?
Dieses Problem ist nicht trivial . Selbst in den Tagen von %code% ist es schwierig, eine Crossbrowser-zuverlässige Antwort für marginLeft / Right zu erhalten, wenn die Margen auf %code% gesetzt sind. Das ist also sicher keine vollständige Antwort, sondern wird versuchen, einen zu finden.
%code% und %code% sind auch %code% , wenn die Rand-Kurzschrift verwendet wird:
%Vor%Sie müssen diese Notationen auch finden, wenn Sie in den Stylesheets suchen. Fügen Sie diese Funktion kurz vor %code% in Ihren Code ein:
%Vor%Dann ändere dein inneres %code% zu:
%Vor%Jetzt bekommst du auch die Regeln wo %code% benutzt wird. Aber einige Probleme bleiben bei deinem Code:
Wenn Sie in Ordnung sind, JQuery zu verwenden
Wie Martin Ernst für Yonatans Antwort gesagt hat: "Dies wird nur Elemente mit marginLeft / Right=" auto "auswählen."
Außerdem müssen, wie in den Kommentaren beschrieben, Elemente ausgeblendet werden, um mit FF und Safari zu arbeiten.
Dies sollte mit JQuery funktionieren:
%Vor%Tipp : Wenn Sie aus irgendeinem Grund keine externen Skripts laden müssen, kopieren Sie einfach den Inhalt des minimierten jquery-Skripts am Anfang.
> Dieses Problem ist nicht trivial . Selbst in den Tagen von window.getComputedStyle()
ist es schwierig, eine Crossbrowser-zuverlässige Antwort für marginLeft / Right zu erhalten, wenn die Margen auf auto
gesetzt sind. Das ist also sicher keine vollständige Antwort, sondern wird versuchen, einen zu finden.
margin-left
und margin-right
sind auch auto
, wenn die Rand-Kurzschrift verwendet wird:
Sie müssen diese Notationen auch finden, wenn Sie in den Stylesheets suchen. Fügen Sie diese Funktion kurz vor var elementsList=[];
in Ihren Code ein:
Dann ändere dein inneres if-condition
zu:
Jetzt bekommst du auch die Regeln wo margin
benutzt wird. Aber einige Probleme bleiben bei deinem Code:
Tags und Links javascript css margin