Das Verkleinern eines DIV zur Unterbringung von Text ist normalerweise unkompliziert. Wenn der Text jedoch aufgrund einer maximalen Breitenbeschränkung in mehrere Zeilen umgebrochen wird, wird das DIV nicht entsprechend verkleinert. Dies kann zu unschönen Rändern auf der rechten Seite des DIV führen.
Da eine reine CSS-Lösung nicht machbar ist, greifen wir auf JavaScript zurück für einen dynamischen Ansatz. Der folgende Codeausschnitt veranschaulicht, wie:
<code class="javascript">const range = document.createRange(); const p = document.getElementById('good'); const text = p.childNodes[0]; range.setStartBefore(text); range.setEndAfter(text); const clientRect = range.getBoundingClientRect(); p.style.width = `${clientRect.width}px`;</code>
Dieser Codeausschnitt führt Folgendes aus:
<code class="html"><p id="bad">This box has a max width but also_too_much_padding.</p> <p id="good">This box has a max width and the_right_amount_of_padding.</p></code>
<code class="css">p { max-width: 250px; padding: 10px; background-color: #eee; border: 1px solid #aaa; } #bad { background-color: #fbb; }</code>
Das obige ist der detaillierte Inhalt vonWie verkleinert man ein DIV mithilfe von JavaScript dynamisch auf umbrochenen Text?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!