h5判断div中的内容超出两行
时间: 2023-12-09 14:05:08 浏览: 146
判断文字超过2行添加展开按钮,未超过则不显示,溢出部分显示省略号
5星 · 资源好评率100%
可以通过以下方式来判断一个 div 中的内容是否超出了两行:
1. 获取该 div 的高度和行高,计算出它可以显示的最大行数。
2. 获取该 div 中的文本内容。
3. 将文本内容插入到一个隐藏的 span 元素中,并设置其宽度为该 div 的宽度。
4. 获取该 span 元素的高度和行高,计算出它实际占据的行数。
5. 判断实际占据的行数是否大于最大行数,如果是,则说明内容超过了两行。
以下是一个示例代码:
```html
<div id="myDiv">这里是一些内容...</div>
```
```javascript
var div = document.getElementById('myDiv');
var lineHeight = parseInt(getComputedStyle(div).lineHeight);
var maxHeight = lineHeight * 2; // 最大高度为两行
var span = document.createElement('span');
span.style.width = div.offsetWidth + 'px';
span.style.visibility = 'hidden';
span.innerHTML = div.innerHTML;
document.body.appendChild(span);
var actualHeight = span.offsetHeight;
document.body.removeChild(span);
if (actualHeight > maxHeight) {
console.log('内容超过两行');
} else {
console.log('内容不超过两行');
}
```
以上代码中,我们首先获取了 div 的行高和最大高度,然后创建了一个 span 元素,并将 div 中的内容插入到其中。接着,我们设置了 span 元素的宽度和可见性,并将其插入到 body 中,然后获取了其实际高度。最后,我们将 span 元素从 body 中删除,并判断实际高度是否超过了最大高度。
阅读全文