2

对于(例如)最大 15 字行,如果输入 str="text acknowledgement" 字符串应包含 str="text acknowledgement" 基本上在正确的位置添加空格,以便当我放置在 15 行自动换行编辑器中时它应该环绕并居中对齐,如下所示。

      文本     
确认

我在这里看到了一个解决方案Wrap Text In JavaScript除了它没有居中对齐单词。

任何帮助表示赞赏。

4

2 回答 2

0

通过插入空格字符来对齐文本仅适用于非常受限的环境:使用特定已知大小的等宽字体的固定宽度水平空间。更改任何这些参数(宽度、字体、字体大小),您的对齐方式将关闭。

对齐应使用 CSS 完成。

于 2013-07-21T20:16:22.163 回答
0

这是我的解决方案:

String.prototype.centerText = function(numberOfSpaces)
{
    var text = this;
    text = text.trim();
    var l = text.length;
    var w2 = Math.floor(numberOfSpaces / 2);
    var l2 = Math.floor(l / 2);
    var s = new Array(w2 - l2 + 1).join(" ");
    text = s + text + s;
    if (text.length < numberOfSpaces)
    {
        text += new Array(numberOfSpaces - text.length + 1).join(" ");
    }
    return text;
};

用法:

var textToBeCentered = "Hello, World!";
var centeredText = textToBeCentered.centerText(40);
// centeredText = "              Hello, World!              ";
于 2016-11-02T18:10:06.277 回答