如何让伪元素宽度适应文本内容,同时限制其最大宽度并控制换行?

如何让伪元素宽度适应文本内容,同时限制其最大宽度并控制换行?

限制伪元素宽度适应文本内容

如何让伪元素的宽度适应文本内容的同时受到最大宽度的限制,且在小于最大宽度时不自动换行,大于最大宽度时才换行?

解决方案

  1. 计算初始宽度:
    首先确定伪元素的初始宽度。当最大内容宽度大于初始宽度时,宽度为最大内容宽度;否则为初始宽度。
  2. 处理初始宽度小于最大宽度的情况:
    如果初始宽度小于最大宽度且最大内容宽度大于最大宽度,伪元素将在初始宽度时换行。此时,将伪元素的 left 属性设置为 50% 会导致初始宽度缩小,从而触发提前换行。移除 left: 50% 可以解决此问题。
  3. 最佳实践:
    大多数 Tooltip 的实现将 Tooltip 触发器和内容分别放置在两个元素中。Tooltip 使用绝对定位相对于 body 进行,初始宽度较大,无需担心初始宽度小于最大宽度。然后使用库(如 Popper.js)计算填充,使其定位在触发器周围。

以上就是如何让伪元素宽度适应文本内容,同时限制其最大宽度并控制换行?的详细内容,更多请关注其它相关文章!