对于(例如)最大 15 字行,如果输入 str="text acknowledgement" 字符串应包含 str="text acknowledgement" 基本上在正确的位置添加空格,以便当我放置在 15 行自动换行编辑器中时它应该环绕并居中对齐,如下所示。
文本
确认
我在这里看到了一个解决方案Wrap Text In JavaScript除了它没有居中对齐单词。
任何帮助表示赞赏。
对于(例如)最大 15 字行,如果输入 str="text acknowledgement" 字符串应包含 str="text acknowledgement" 基本上在正确的位置添加空格,以便当我放置在 15 行自动换行编辑器中时它应该环绕并居中对齐,如下所示。
文本
确认
我在这里看到了一个解决方案Wrap Text In JavaScript除了它没有居中对齐单词。
任何帮助表示赞赏。
通过插入空格字符来对齐文本仅适用于非常受限的环境:使用特定已知大小的等宽字体的固定宽度水平空间。更改任何这些参数(宽度、字体、字体大小),您的对齐方式将关闭。
对齐应使用 CSS 完成。
这是我的解决方案:
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! ";