Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 控制文本中自动换行的位置?_Javascript_Html_Css - Fatal编程技术网

Javascript 控制文本中自动换行的位置?

Javascript 控制文本中自动换行的位置?,javascript,html,css,Javascript,Html,Css,我正在创建显示用户地址的页面部分。地址可以显示的区域不是很宽,因此对于较长的地址,文本将换行。我希望文本仅在“地址元素”的末尾换行,例如,如果用户有如下地址: 4, Long name street name Street, City name, Place, Imaginary Republic of Central Flaffapus 地址应该这样包装: 4, Long name street name Street, City name, Place, Imaginary Republi

我正在创建显示用户地址的页面部分。地址可以显示的区域不是很宽,因此对于较长的地址,文本将换行。我希望文本仅在“地址元素”的末尾换行,例如,如果用户有如下地址:

4, Long name street name Street, City name, Place, Imaginary Republic of Central Flaffapus
地址应该这样包装:

4, Long name street name Street,
City name, Place,
Imaginary Republic of Central Flaffapus
4, Long name street name Street,
City name, Place, Imaginary
Republic of Central Flaffapus
4,
Long name street name Street,
City name,
Place,
Imaginary Republic of Central Flaffapus
但不是这样:

4, Long name street name Street,
City name, Place,
Imaginary Republic of Central Flaffapus
4, Long name street name Street,
City name, Place, Imaginary
Republic of Central Flaffapus
4,
Long name street name Street,
City name,
Place,
Imaginary Republic of Central Flaffapus
也不是这样的:

4, Long name street name Street,
City name, Place,
Imaginary Republic of Central Flaffapus
4, Long name street name Street,
City name, Place, Imaginary
Republic of Central Flaffapus
4,
Long name street name Street,
City name,
Place,
Imaginary Republic of Central Flaffapus

如何实现这一点?


标记插入要打断的行的末尾。

在完美的世界中,这是
标记的工作,它指示


浏览器兼容性很差。IE支持从5.5到7的格式,但不支持从5.5到7的格式。

如果格式一致,您可以在逗号上拆分它并添加

标记

var addr = "4, Long name street name Street, City name, Place, Imaginary Republic of Central Flaffapus".split(",");
addr[2]="<br>" + addr[2];
addr[4]="<br>" + addr[4];
myElement.innerHTML = addr.join(",");
var addr=“4,长名称街道名称街道,城市名称,地点,想象中的弗拉法布斯共和国”。拆分(“,”;
地址[2]=“
”+addr[2]; 地址[4]=“
”+addr[4]; myElement.innerHTML=addr.join(“,”);
或使用正则表达式:

var addr = "4, Long name street name Street, City name, Place, Imaginary Republic of Central Flaffapus";
addr.replace(/([^,]*).([^,]*).([^,]*).([^,]*).([^,]*)/,"$1,$2,<br>$3,$4,<br>$5");
var addr=“4,长名称街道名称街道,城市名称,地点,想象中的弗拉法布斯共和国”;
地址替换(/([^,]*)([^,]*)([^,]*)([^,]*)([^,]*)/,“$1,$2,
$3,$4,
$5”);
您可以使用
来表示不希望中断的空格,也可以使用常规空格来表示允许中断的空格。

我不希望在地址的每个部分或类似内容之后中断。我希望文本按需要包装,但不要将地址的一部分包装一半。@Oliver我知道你已经接受了答案。我想的是,如果你总是在街道和地点之后插入换行符,那么它就会在那里而不是在其他地方中断。哎哟。这看起来很方便,但奇怪的兼容性让它很难使用。这没关系,因为它可以与Chrome、Safari和Opera配合使用。另外,请注意,该文章已有2年历史。指南很详细,但不全面。我的问题是,休息时间并不总是在这些位置-例如,如果街道名称和城市名称很短,则两者应显示在同一行。@Oliver这很难做到:P通常,这些类型的数据以预定义的格式显示,而不是根据其内容动态显示。