【发布时间】:2013-02-01 15:49:24
【问题描述】:
我正在尝试将一大段文本分成单独的行。每行需要包含尽可能多的单词,而不是增长到大于其容器的宽度。
我使用 jQuery 创建了一个函数,但我遇到了问题。
在一个 while 循环中,我浏览了我的一段文本,然后抓住了 6 个单词放在一行上。我想将该文本的宽度与该容器的宽度进行比较。但是我尝试获取的所有元素的宽度都超出了我的 while 循环。
我尝试过使用 jQuery 的方法来获取宽度:
$('element').width();
还有原始的 JS 宽度属性:
$('element').get(0).offsetWidth;
似乎都不起作用,但我不知道为什么?有人可以帮忙吗?
这是一个 jsfiddle 的链接,损坏的部分已被注释掉。
提前致谢!
【问题讨论】:
-
很抱歉问这个问题,但您为什么要这样做?您可以通过正确设置容器样式来实现此行为,而不会使用
标签 污染您的文本 -
这是创建一个非常具体的风格化标题,只能通过这种方式完成。它使用动态文本,因此无法在事实发生之前将其分解。你也看过代码吗?没有添加 br 标签。每行文本都需要有背景颜色和填充。使用 inline-block 或 block 而不破坏文本会创建一个纯色块,其中文本会在其中中断。使用显示内联您无法添加填充。
-
不过,为什么这是唯一的方法?固定标题的宽度有什么问题? (一旦我确信这是个好主意,我想尝试帮助你:))
-
我仍然相信有一个 css 解决方案。您应该编辑问题并添加有关目的或预期结果的详细信息。一点 html 和预期结果的图像会很棒。
-
我会尽快把它放在这里我很想有一个 CSS 解决方案!
标签: javascript jquery css dimensions