如果我希望在看起来像三个空格的行中间有空格,我可以在HTML中使用什么,但如果行太长,仍然会被破坏?

常规空格会折叠(一系列空格看起来与单个空格相同),并且在不间断空格(<!> amp; nbsp)处,该行无法被破坏。

更新:我认为我真正想要的是<!>#65308; pre <!>#65310;仍然可以打破长行的标记(我需要显示源代码)。

有帮助吗?

解决方案

一个或多个em空格(<!> amp; emsp;)怎么样?当然,这取决于用户的字体大小。如果这在您的设计中不起作用,请考虑一个en空格(<!> amp; ensp;)。

您可能还想查看此各种空间表维基百科。

其他提示

我确实得到了确切的答案<!>#8217;正在寻找。我到处寻找这个答案,没有任何人建议完美的工作。所以,我想出了一个解决方案并尝试了它,并且它没有任何缺陷就可以了!

Garrow 实际上是正确的(他只是没有<!>#8217;解释它或一路走)。解决方案不是单独放&nbsp;,而是放&nbsp;<wbr>。只需进行简单的搜索并替换并在每次<wbr>之后添加<=>标记。效果很好!

<=>标签是所有主要浏览器都支持的一个鲜为人知的标签,它告诉浏览器只在需要时才在此处添加新行。

更新:我发现一个浏览器<!>#8217;完全正确地在<!>#8211; IE 8!他们实际上取出了<=>标签!我通过创建一个类:

来解决这个问题
.wbr:before { content: "\200B" }

而不是用<=>替换<=>,请将其替换为以下内容:

&nbsp;<wbr><span class='wbr'></span>

在PHP中,这看起来像:

$text = str_replace(" ","&nbsp;<wbr><span class='wbr'></span>", $text);

唐<!>#8217;忘记添加课程。

显然这已经变得相当过分了,用所有这些替换了一个单独的空间,但它确实可以正常工作,因为我从来没有看到它对我起作用的标记。

如果这太乱了,另一个解决方案是为<=>交换双空格,然后是普通空格。这将替换<=>和普通空格,并在我的测试中工作。

在PHP中,这看起来像:

$text = str_replace("  ","&nbsp; ", $text);

希望这有帮助!我对此进行了足够的研究;我以为我应该传递它。

两个不间断空格之间的空格不会起作用吗?

<!>

<强>安培; NBSP; <!>安培; NBSP;

如果您未定位到IE (8,标准模式除外):

<span style="white-space: pre-wrap">   </span>

对于IE,<span style="width:3ex"></span>在怪癖模式下工作,所以合并它们......

<span style="width:3ex;white-space:pre-wrap">   </span>

除了IE7标准外,似乎在我尝试过的任何地方都能正常工作。 D'哦!

两个&nbsp;后面跟一个常规空间怎么样? (据我所知)唯一的缺点是,如果换行自然落在常规空间,由于不间断的空格,你在前一行会有一些尾随空间,但我不知道我认为这会对页面的实际外观产生影响。

退后一步并询问你想要渲染的内容可能会更好。这个超宽空间意味着什么?

它为文本之间的左侧空格提供100px  空格示例

span style = <!> quot; margin-left:100px; <!> quot;

(N_N)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top