Rumah > Soal Jawab > teks badan
Adakah terdapat sebarang cara untuk mengira bilangan baris yang digunakan oleh sekeping teks pada saiz skrin yang berbeza?
< /p>
Seperti yang ditunjukkan dalam rajah, jika kandungan melebihi dua baris di bawah lebar skrin telefon bimbit pengguna, teks penuh akan dipaparkan, jika tidak, teks penuh tidak akan dipaparkan
我想大声告诉你2017-05-16 13:10:51
Gunakan susun atur fleksibel di lapisan luar, tetapkan bilangan baris ketinggian atau berikan ketinggian maksimum maksimum pada lapisan luar
Letak teks dalam p di lapisan dalam, dan paparkannya seperti biasa
.outer {
display: -webkit-box;
-webkit-line-clamp: 2;
overflow: hidden;
}
.inner {
display: block;
oveflow: auto;
}
struktur html:
<p class="outer">
<p class="inner">
文本内容
</p>
</p>
<p id="show-more"></p>
Kemudian nilaikan ketinggian keduanya:
if ($('.inner').height() > $('.outer').height()) {
$('#show-more').show();
}
Kali ini "Lihat lagi" dipaparkan
给我你的怀抱2017-05-16 13:10:51
Ideanya adalah untuk menilai berdasarkan ketinggian baris Apabila ketinggian baris melebihi 1 baris, ini bermakna terdapat dua baris kandungan. Ini kodnya:
html adalah seperti berikut:
<p class="content">
文本文本文本文本文本文本文本文本文本文本文本文本文本文本
<a class="more" style="display:none">阅读全文</a>
</p>
js adalah seperti berikut:
const contentp = document.getElementsByClassName('content')[0];
const style = window.getComputedStyle(contentp, null);
const height = parseInt(style.height, 10);
const lineHeight = parseInt(style.lineHeight, 10);
if (height / lineHeight > 1) { //若行高大于1行,则显示阅读全文
document.getElementsByClassName('more')[0].style.display = 'block';
}
Bukan mudah untuk membuat kod, sila like jika anda suka~
巴扎黑2017-05-16 13:10:51
Teks semasa harus mempunyai dom yang berasingan, dapatkan ketinggian dan ketinggian garisnya dan hitungkannya secara dinamik
曾经蜡笔没有小新2017-05-16 13:10:51
Untuk memberikan idea, anda boleh menetapkan ketinggian garis kepada 20px, dan kemudian selepas halaman dipaparkan, gunakan atribut offsetHeight nod dalam js, offsetHeight / 20
ialah bilangan baris