悬停弹出重叠表字段与大文本反应

Posted

技术标签:

【中文标题】悬停弹出重叠表字段与大文本反应【英文标题】:hover popup overlapping table fields with large text react 【发布时间】:2021-10-31 18:44:01 【问题描述】:

我正在开发一个反应应用程序,其中我有一个表格,我的一个列具有非常大的文本值,因此为了显示该值,我使用悬停弹出窗口来显示悬停在列值上的全文但是当我将鼠标悬停在它上面时,它会与其他列重叠,因为它以 1 条直线显示整个文本。

这是表格行和截断函数:

truncate = (str, n) => (str.length > n ? `$str.substr(0, n - 1)...` : str);

<Table.Cell data-title=message.job_data>
                    this.truncate(message.job_data,50)
                  </Table.Cell>

这是data-title的css:

 [data-title] 
      font-size: 14px;
      position: relative;
      cursor: help;
  
    
  [data-title]:hover::before 
      content: attr(data-title);
    opacity: 1;
      position: absolute;
    margin-top:33px;
      padding: 10px;
      background: #000;
      color: #fff;
      font-size: 14px;
    width:300px;
      white-space: wrap;
    z-index: 9;
  
  [data-title]:hover::after 
      content: '';
      position: absolute;
    opacity: 1;
      bottom: -12px;
      left: 8px;
      border: 8px solid transparent;    
      border-bottom: 8px solid #000;
  

我想以多行显示列文本,而不是一条与所有其他列重叠的直线。

附上我的错误截图:

正如您在消息列中看到的那样,文本很长,并且显示它与所有列水平重叠。

谢谢

【问题讨论】:

【参考方案1】:

由于您尝试打​​破的文本中没有任何空格,我能想到的唯一方法是在 CSS 中这样做是 word-break: break-word;

[data-title]:hover::before 
    content: attr(data-title);
    opacity: 1;
    position: absolute;
    margin-top:33px;
    padding: 10px;
    background: #000;
    color: #fff;
    font-size: 14px;
    width:300px;
    word-break: break-word;
    z-index:9;
  

【讨论】:

太棒了:) 谢谢,它有帮助。你能删除图像吗?数据有点机密 请注意,您还需要从上传图像的 imgur 中删除图像,否则机密数据将永远可以从此问题的编辑历史中访问。也许版主可以提供帮助...

以上是关于悬停弹出重叠表字段与大文本反应的主要内容,如果未能解决你的问题,请参考以下文章

网站 gif 延迟/重叠

CSS IE 悬停效果 - 重叠元素、显示:块和崩溃

UITableViewController 中的键盘重叠文本字段

UISearchBar 表部分索引标题重叠

文本字段中的重叠字符 iText PDF

Xcode6:导航栏与文本字段重叠