Es gibt einen div, die Arten hat:Javascript: Elementgröße ändern Handler (nicht css)
min-width:100px
min-height:100px
Wenn ich einen Text in den div (mit JavaScript) hinzufügen, ändert es seine Größe. Wie bekomme ich die neue Größe?
Ich versuchte
element.offsetHeight
Aber es nicht wie erwartet funktionieren. Ich werde größer, als ich in der ersten Zeit brauche. Aber nach einiger Zeit, wenn ich wieder Wert von diesem Property bekomme, bekomme ich echte Größe.
Vielleicht liegt es daran, dass zwischen dem Setzen eines Textes und dem Einfügen in ein Div etwas Zeit liegt? Ich weiß es nicht.
<div class="parent"><div class="popup"></div></div>
<style>
* {
box-sizing:border-box;
}
.parent {
position: absolute;
z-index: 0;
}
.popup {
position: absolute;
min-width: 100px;
min-height: 100px;
padding: 20px;
border-radius: 12px;
background:#000;
color:#fff;
visibility:hidden;
}
.popup:before, .popup::before, .popup:after, .popup::after {
content:"";
width:0px;
height:0px;
display: block;
position: absolute;
}
</style>
<script>
var popup = document.getElementsByClassName('popup')[0];
popup.innerHTML = 'любой текст от 3 до NNN строк';
console.log(popup.offsetHeight);
</script>
Ich habe versucht, aber ich habe das gleiche Ergebnis. Erstens ist die Größe größer als nach einiger Zeit. – user64675
Wenn Sie diese Breiten- oder Höhenberechnungen von rechts-links oder von unten nach oben vornehmen, denken Sie daran, 1 hinzuzufügen. –
Nein, in meinem Fall habe ich gerade 207, zum Beispiel (für einen langen Text) und dann nach einiger Zeit 137. – user64675