hover出现tips的bug处理

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值