automatische Breite eines Elements abfragen
blumentopf
- javascript
Hallo,
gibt es eine Möglichkeit, die dargestellte Breite eines Elements abzufragen, ähnlich wie es mit innerwidth bei einem Fenster geht?
Ich habe es hiermit versucht:
var tabellenbreite = document.getElementById('tabelle').style.width;
Wenn ich mir dann das Ergebnis ausgeben lasse, kommt aber nichts heraus. Vermutlich geht das nur bei definierten Werten. Ich möchte aber gerne die automatisch nach Inhalt und Textgröße generierte Breite einer Tabelle abfragen, um im Ernstfall bei großer Textgröße ein absolut positioniertes Element rechts daneben verschieben zu können.
So hatte ich mir das vorgestellt:
var tabellenbreite = document.getElementById('tabelle').style.width;
number(tabellenbreite);
if (tabelle > 660){
document.getElementById('rechtsdaneben').style.left = tabellenbreite + 20 + "px";
}
Dank und Gruß
Hallo blumentopf,
gibt es eine Möglichkeit, die dargestellte Breite eines Elements abzufragen, ähnlich wie es mit innerwidth bei einem Fenster geht?
Struppis http://javascript.jstruebig.de/javascript/53 ermittelt Größe und Position eines Elements.
Gruß, Jürgen
Hallo Jürgen,
vielen Dank für den Hinweis.
Entschuldige die banale Frage, aber wie komm ich an die Werte denn dann eigentlich ran?
mit document.r.width ? Es heißt ja, ein Objekt würde ausgegeben. Sorry, aber mit return und so hatte ich noch nichts zu tun, deshalb stelle ich mich gerade ein bisschen blöde an..
Hi there,
[...] Sorry, aber mit return und so hatte ich noch nichts zu tun, deshalb stelle ich mich gerade ein bisschen blöde an..
ich finde, das gehört in die Zitatesammlung...
Bounjoun blumentopf,
var tabellenbreite = document.getElementById('tabelle').style.width;
Wenn ich mir dann das Ergebnis ausgeben lasse, kommt aber nichts heraus.
Klar. Sobald du »style« abfragst, kommt nur dann ein Wert heraus, wenn Du auch ein »style« gesetzt hast.
Vermutlich
... suchst Du offsetWidth
Adiou.
Hallo,
Vermutlich
... suchst Du offsetWidth
Ja, danach habe ich gesucht. Das ist für die bescheidene Aufgabe doch die einfachere Lösung, als eine extra Funktion, die ich gar nicht selbst verstehe.
Noch einfacher könnte ich die Formatierung vermutlich lösen, wenn ich von vorne herein alle Größen-Angaben mit em auf die Schrift beziehe, anstatt sie mit px festzuzurren. Wäre das sinnvoll? Ist mir erst hinterher eingefallen.
Für wie wichtig haltet Ihr es, die Seite so zu gestalten, dass sie auch noch bei lesbar ist, wenn der Browser den Text auf xxxl vergrößert? Ist das für Barrierefreiheit wichtig, oder ist das eher eine theoretische Vergrößerung, die in der Praxis kaum Anwendung findet?
Beim spontanen Suchen finde ich da noch mehr Seiten, die das nicht mitmachen.
Dank und Gruß
... suchst Du offsetWidth
Ja, danach habe ich gesucht. Das ist für die bescheidene Aufgabe doch die einfachere Lösung, als eine extra Funktion, die ich gar nicht selbst verstehe.
Das ist genau das was die Funktion abfragt. Aber offsetLeft ist ein bisschen komplizierter: https://developer.mozilla.org/en/DOM/element.offsetLeft
Returns the number of pixels that the upper left corner of the current element is offset to the left within the offsetParent node.
Noch einfacher könnte ich die Formatierung vermutlich lösen, wenn ich von vorne herein alle Größen-Angaben mit em auf die Schrift beziehe, anstatt sie mit px festzuzurren. Wäre das sinnvoll? Ist mir erst hinterher eingefallen.
Kommt drauf an worum es geht.
Für wie wichtig haltet Ihr es, die Seite so zu gestalten, dass sie auch noch bei lesbar ist, wenn der Browser den Text auf xxxl vergrößert? Ist das für Barrierefreiheit wichtig, oder ist das eher eine theoretische Vergrößerung, die in der Praxis kaum Anwendung findet?
Ich vergrößere viele Seiten und findet in meiner Praxis durchaus Anwendung.
Beim spontanen Suchen finde ich da noch mehr Seiten, die das nicht mitmachen.
Was? vergrößern lassen sich ja mittlerweile auch Seiten, die nicht so konzipiert wurden. Firefox oder Opera bieten da mehrere Möglichkeiten.
Struppi.
Was? vergrößern lassen sich ja mittlerweile auch Seiten, die nicht so konzipiert wurden. Firefox oder Opera bieten da mehrere Möglichkeiten.
Ich habe mich vielleicht etwas missverständlich ausgedrückt. Ich meinte die Option nur Text zoomen, die bei Safari die Grundeinstellung ist, und bewirkt, das bei ' +' nur der Text vergrößert wird. Wenn man das bis zur Spitze treibt, werden viele Seiten unschön. Z.B. auch <http://de.selfhtml.org/navigation/suche/index.htm@title=diese hier.>, bei der im Suchfeld nicht mehr alles zu sehen ist. Ob diese Möglichkeit, einfach nur die Schriftgröße bei ansonsten unveränderten Maßen bis aufs Letzte zu vergrößern, eher eine theoretische Möglichkeit ist, oder tatsächlich von Belang, wollte ich fragen.