Ich versuche den folgenden Code, aber es funktioniert nicht. Logischerweise sollte es in Ordnung sein, aber kann mir jemand sagen, was ich hier vermisse? Das Ziel ist, die Schriftgröße des (h1) -Tags sollte sich automatisch an die Höhe des übergeordneten Elements anpassen.Kind Element Schriftgröße dynamisch nach Elternhöhe anpassen
HTML
<div class="product-title">
<h1>Some Title which should not cross parent height and adjust font-size dynamically</h1>
</div>
CSS
.product-title{
height: 200px;
width: 200px;
}
JS
function adjustFontSize() {
$('#h1').each(function() {
var child = $(this);
var parent = child.parent();
child.css('font-size', '18'); //set max default font size
while (child.height() > parent.height() && parseInt(child.css('font-size')) > 9) { //check div height condition
child.css('font-size', (parseInt(child.css('font-size')) - 1) + "px"); //decrease font size accordingly
}
});
}
statt '$ ('# h1'). Each (...' sollte '$ ('h1' sein). Each (...' –
kein luck..tried mit, dass .. funktioniert nicht –
Ich denke, dein Problem ist, dass die Schriftgröße in ems ist. Also, wenn Sie die Schriftgröße auswerten, wird es nie größer als 9 sein, denn 9em ist wirklich groß. Sie betreten nie Ihre Schleife als ein Ergebnis Ich werde eine Antwort mit einer Lösung posten – mhodges