【问题标题】:Using Word Break on a specific word using CSS使用 CSS 对特定单词使用分词
【发布时间】:2013-10-04 14:17:39
【问题描述】:

我正在尝试使用 css 打断特定单词。

这个词是“销售/电话营销”,我试图在“/电话”部分之后打破这个词。我试图避免使用<br>,因为它可能会影响段落标签的布局方式。

有没有办法使用 CSS 打破它?

【问题讨论】:

    标签: css paragraph word-break


    【解决方案1】:

    我知道你说过要避开<br>,但是有<wbr>..

    jsfiddle demo

    示例用法:

    <p>some random text and stuff sales/tele<wbr>marketing some more words here</p>
    

    如果您重新调整p 的大小,tele 之后的单词会中断。

    See MDN

    遗憾的是,对 &lt;wbr&gt; 的支持有限,因为 IE10 不支持它。


    我只是想到了一个随机的 CSS 替代方案..

    jsFiddle demo

    HTML

    <p>some random text and stuff sales/<span>tele</span> marketing some more words here</p>
    

    CSS

    span {
        margin-right:-4px;
    }
    

    基本上,您只是在 tele 之后包含一个空格,因此它会换行。通过选择单词 tele,您可以删除空格.. 不是理想 - 但它仍然有效。

    【讨论】:

    • 试过&lt;wbr&gt;,但看了之后我改用了&amp;#8203;
    • &lt;wbr&gt; 得到广泛支持,尤其是如果您将wbr:after { content: "\200B"; } 添加到样式表中。但它是一个错误的工具来指定一个 word 可以分为两行,因为它在没有添加连字符的情况下中断。而使用&amp;#8203;(实际上是字符级对应)也有同样的问题。
    • @JukkaK.Korpela 我在等你发表一些负面的评论——谢谢你又一次投反对票 :)
    • @JukkaK.Korpela 你完全错误wbr被广泛支持-它甚至在IE10中都不起作用!!
    • 我投了反对票只是因为答案被证明是错误的,甚至没有解决所提出的问题(如何在“/tele”部分之后划分)。关于 IE 10,只需尝试使用我提到的 CSS 添加即可。
    【解决方案2】:

    您不能在 CSS 中指定分词点(除非以人为的方式,这只是对正确方式的不可靠模拟)。相反,请包含一个连字符提示,即软连字符 U+00AD,如果您知道如何直接输入,也可以使用参考 &amp;shy;

    sales/tele&shy;marketing
    

    如果您愿意,可以为同一个单词添加其他连字提示。并且您可以在/ 之后添加&lt;wbr&gt; 以指定允许的直接断点(如果字符串被分割则不会出现连字符)。

    【讨论】:

      猜你喜欢
      • 2023-01-21
      • 1970-01-01
      • 1970-01-01
      • 2020-02-02
      • 1970-01-01
      • 1970-01-01
      • 2013-10-11
      • 2012-11-16
      • 1970-01-01
      相关资源
      最近更新 更多