0

我有一个无序列表,用作无法直接添加格式的菜单。它在 CSS 中设置为水平菜单,并且要添加新项目。为了提供一个漂亮的视觉结构并最小化每个条目的宽度,以便它仍然适合我想让菜单项/标题读为两行,因为大多数标题有 2/3 个单词。例如

例如,我希望“Cat & Dogs Houses”的格式类似于

猫狗

标题字数和长度是可变的,但仔细查看它们,我认为如果我能遵循“
在 10 个字符后找到的第一个空格中插入”这样的规则,它应该都到位。

该站点已经安装了 jQuery,因此最好使用它。

4

1 回答 1

0

如果可能的话,最好使用分隔符(例如“Cats & Dogs; Houses”)。编辑任何为您提供标题字符串的内容以包含分隔符,因为您的解决方案不适用于某些标题。例如,如果您将顺序颠倒为“Houses Cats & Dogs”,那么 10 个字符后的第一个空格将解析为

Houses Cats
& Dogs

但是,如果您不想听我的建议,您可以使用纯 javascript 执行此操作:

var string = "1234567890 Cats & Dogs Houses";
var inArray = string.split(" ");
var outArray = []

while (array.length != 0) {
   var tmp = array.shift();
   while (tmp.length < 9 && array.length != 0)
      tmp += " " + array.shift();
   newArray.push(tmp);
}
于 2012-07-26T23:05:05.237 回答