Rahmenbreite eines Elements
steckl
- javascript
Hi,
gibt es eine Moeglichkeit mit JS die Breite eines HTML-Elements abzueglich der Breite des Rahmens (border) zu bekommen?
Das einzige was ich gefunden habe ist offsetWidth, das gibt mir aber die Breite des Elements mit Rahmen Aus.
Beispiel:
CSS:
#TXT {
width: 150px;
border: 1px solid black;
}
HTML:
<input id="TXT" type="Text" name="anzeige">
Jetzt moechte ich irgendwie auf die 150 kommen.
mit .style.width bekomme ich einen Leerstring und mit .offsetWidth 152.
Das oben beschriebene Verhalten tritt im FF1.5 und bei Doctype strict auf.
mfG,
steckl
Hello out there!
mit .style.width bekomme ich einen Leerstring
Weil du das nicht mit JavaScript gesetzt hast.
if (window.getComputedStyle)
alert(window.getComputedStyle(document.getElementById("TXT", "").getPropertyValue("width"));
See ya up the road,
Gunnar
Hello out there!
IEs, die getComputedStyle nicht kennen, kennen dafür currentStyle:
var TXT = document.getElementById("TXT");
if (window.getComputedStyle)
alert(window.getComputedStyle(TXT, "").getPropertyValue("width"));
else if (TXT.currentStyle)
alert(TXT.currentStyle.width);
[</archiv/2007/3/t147909/#m959320>]
See ya up the road,
Gunnar
danke, funktioniert wie gewuenscht :-)
Ich werde jetzt damit noch etwas rumexperimentieren und mich gegebenenfalls nochmal melden.
mfG,
steckl
Hallo steckl
habe noch das dazu hier im Forum gefunden:
http://www.robertnyman.com/2006/04/24/get-the-rendered-style-of-an-element/
Hätte den auch schon früher gemailt, bin aber Wahnsinnig geworden bei den Versuch das im IE anzuwenden auf ein Objekt was ich geclont hatte aber noch nicht wieder im DOM hatte.
So vergehen Stunden.
Liebe Grüße
Bernd
Hi,
habe noch das dazu hier im Forum gefunden:
http://www.robertnyman.com/2006/04/24/get-the-rendered-style-of-an-element/
Danke, die Funktion dort ist recht praktisch, auch wenn es etwas gedauert hat, bis ich ueberrissen habe, was
strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){
return p1.toUpperCase();
});
macht.
Jetzt weiss ich, dass es nur - (Bindestrich) loescht und aus dem Nachfolgendem Zeichen einen Grossbuchstaben macht :-)
mfG,
steckl
Hallo steckl,
was hälst Du von der Möglichkeit die Breite mit .offsetWidth auszulesen und dann davon 2 zu subtrahieren? Das sollte mit JavaScript doch kein Problem sein oder?
mfg goldie
Hello out there!
was hälst Du von der Möglichkeit die Breite mit .offsetWidth auszulesen und dann davon 2 zu subtrahieren?
Aus welcher Luft greifst du die 2?
See ya up the road,
Gunnar