Ich muss die Abmessungen eines Elements mit variabler Höhe und Breite, #sentence
, erhalten, um die Dimensionen anderer verwandter Elemente zu ändern zu ihm. #sentence
wird im Browserfenster zentriert, und seine Höhe und Breite werden unabhängig vom Inhalt bestimmt. Mein Code sieht wie folgt aus:jquery .height() und .width() am span-Tag erhält inkonsistente Ergebnisse
HTML
<body>
<div id="wrapper">
<div id="cell">
<span id="sentence">
sentence
</span>
</div>
</div>
</body>
CSS
body, html {
font-size: 18pt;
padding: 0px;
margin: 0px;
overflow: hidden;
}
#wrapper {
width: 100%;
height: 100%;
display: table;
text-align: center;
}
#cell {
display: table-cell; vertical-align: middle;
}
#sentence {
display: inline-block;
background-color: #abc;
padding: 1em;
}
JS
$(document).ready(function(){
var h = $("#sentence").height();
alert(h);
});
Wenn ich versuche, die .height()
oder .width()
von #sentence
zu bekommen, komme ich zurück inkonsistent Werte. Normalerweise für die Höhe ist es 28, aber manchmal kommt es als 19 zurück. Für die Breite bekomme ich 84 oder manchmal 52.
Ich dachte, dass der Unterschied möglicherweise von Bildlaufleisten vorübergehend verursacht und dann verschwinden, wenn die Seite geladen wird. Ich habe versucht, overflow: hidden;
zu html
und body
hinzuzufügen, um alle Scrollbars loszuwerden, die angezeigt werden könnten, aber das hat nicht funktioniert. Ich habe auch versucht,
$(window).resize(function(){
h = $("sentence").width();
});
Das hat nicht funktioniert. Die Verwendung von .css("height")
scheint auch nicht zu funktionieren.
Also was wird? Warum habe ich dieses Problem? Vielen Dank im Voraus für jede Hilfe mit diesem.
Ich würde eine jsFiddle erstellen ... Sie werden mehr Hilfe bekommen. –