hover出现tips的bug处理
场景
引用的组件,当宽度显示不全时有打点显示,比如我先展示 哈哈哈哈哈呼呼呼呼,但是宽度不够显示不全,会展示 哈哈哈… ,hover上去会显示完整的句子。
出现的bug : 在火狐浏览器没有展示完全,但是hover上去并没有出现tips,该问题在谷歌上并没有复现
猜测可能是引用组件的问题,发现引用组件中是运用scrollWidth,以及clientWidth来比较进行判断的。针对它所使用的判定方法进行了验证.
模拟样式如下:
.expand-data-table {
width: 50px;
overflow: hidden;
text-overflow: ellipsis;
box-sizing: border-box;
padding: 0 10px ;
}
模拟代码如下
import React from 'react'
import './index.scss'
const ExpandDataTable = (props: any) => {
const handleMouse = (e: any) => {
const { clientWidth,scrollWidth } = e.currentTarget
console.log(clientWidth,scrollWidth)
}
return (
<div onMouseEnter={handleMouse} className={'expand-data-table'}>
111111dhiahiofi
</div>
)
}
export default ExpandDataTable
在谷歌上hover上去时,clientWidth为50,scrollWidth为121
在火狐hover上去时,clientWidth为50,scrollWidth为 111
修改左内边距为0时,谷歌展示为111,而火狐展示为101. 证明在火狐下右内边距并没有参与scrollWidth的计算。
经过测试我发现当指定样式为text-overflow为ellipsis时,在火狐上会出现问题。展示…了但是scrollWidth仍然等于clientWidth
以下为原生html的测试代码
<!DOCTYPE html>
<html lang