我被要求提出一个解决方案,允许我们的用户创建自己的自定义javascript对话框文本。然而,我们需要它居中。
目前,我们有一个文本区域,用户使用空格填充,并使用预览按钮进行测试。我想更改这一点,以允许文本自动居中对齐。我认为这意味着只需自己在后端逐行添加空格,并添加正确的换行符。
我能想到的唯一方法是,得到最长的行作为int,然后从它减去后续的行,然后将结果减去2,并在前面和后面加上这么多空格。
有没有一种更简洁、更优雅的方法来解决这个问题?有没有在对话框中对齐文本的方法?
我曾考虑过像TinyMCE这样的东西,但我认为对于本质上是150个字符、4-5行的字符串来说,它有点过分了。
发布于 2010-08-31 18:58:38
在PHP端,您可以做到这一点。
$lines=array();
foreach (explode("\n",wordwrap($str,$len=80)) as $line)
$lines[]=str_pad($line,$len,' ',STR_PAD_BOTH);
echo implode("\n",$lines);Javascript版本应该很容易编写。
发布于 2010-08-31 18:56:19
This page有一个有用的javascript函数,可以使用填充将字符串居中对齐。假设您正在显示固定宽度的纯文本(使用<pre>标记或类似的标记),那么您将需要获得最长行的长度和相应的填充。如果没有,只需在包含文本的div上设置css:#myDiv { text-align:center; }即可。
https://stackoverflow.com/questions/3608215
复制相似问题