Kloning objek kontainer dan tulis 2 huruf dan hitung tingginya. Ini mengembalikan tinggi sebenarnya dengan semua gaya diterapkan, tinggi garis, dll. Sekarang, hitung tinggi objek / ukuran huruf. Di Jquery, tingginya melebihi padding, margin, dan border, sangat bagus untuk menghitung tinggi sebenarnya dari setiap baris:
other = obj.clone();
other.html('a<br>b').hide().appendTo('body');
size = other.height() / 2;
other.remove();
lines = obj.height() / size;
Jika Anda menggunakan font langka dengan tinggi yang berbeda untuk setiap huruf, ini tidak berhasil. Tetapi bekerja dengan semua font normal, seperti Arial, mono, komik, Verdana, dll. Uji dengan font Anda.
Contoh:
<div id="content" style="width: 100px">hello how are you? hello how are you? hello how are you?</div>
<script type="text/javascript">
$(document).ready(function(){
calculate = function(obj){
other = obj.clone();
other.html('a<br>b').hide().appendTo('body');
size = other.height() / 2;
other.remove();
return obj.height() / size;
}
n = calculate($('#content'));
alert(n + ' lines');
});
</script>
Hasil: 6 Lines
Bekerja di semua browser tanpa fungsi langka di luar standar.
Periksa: https://jsfiddle.net/gzceamtr/