在响应式设计中指定HTML文本中的首选换行符

For*_*ker 64 html css line-breaks responsive-design

我想知道是否有一个CSS或javascript魔法可以在html文本中放置一个标记,以便浏览器知道当文本变得狭窄时,换行创建的位置.有这样的事吗?

jom*_*omo 104

我认为这很有效:

span.line {
  display: inline-block;
}
Run Code Online (Sandbox Code Playgroud)


<p>
  <span class="line">This text should break</span>
  <span class="line">after the word "break"</span>
</p>
Run Code Online (Sandbox Code Playgroud)

当空间不足时,文本仍会在其他地方中断:

截图

开放演示

  • 完美的。比原始答案好得多,因为它不会在超小屏幕尺寸下损坏 (2认同)

n_e*_*osh 27

<wbr>标签(字符),你在找什么?

它不是CSS或JS,但可以直接放在HTML中

  • `<wbr>`只是给浏览器另一个地方插入一个换行符,如果有必要的话.它不会使该地方比其他地方更受欢迎.例如,如果内容包含空格,浏览器可能会选择在其中一个而不是"<wbr>"处插入换行符. (9认同)
  • 它并没有完全符合我的要求.`<wbr>`先发制人地在一个单词中断行,我正在寻找一种能在单词之间换行的解决方案. (3认同)
  • 虽然它被称为单词分词,但它所做的只是告诉浏览器在需要时放置中断的位置,而不是仅仅默认为最后一个单词. (2认同)

小智 14

您可以将文本放入跨距并防止其中的换行符.这种方式换行只能在两个跨度之间发生:

<span style="white-space:nowrap">I won't break.</span> 
<!-- this is a breaking point --> 
<span style="white-space:nowrap">I won't break either.</span>
Run Code Online (Sandbox Code Playgroud)


Juk*_*ela 13

遗憾的是,在HTML或CSS中无法表达某些允许的换行符比其他换行符更优选.如果有的话,我们可以期待在CSS3 Text模块中找到它,但是它当前的草案没有这样的东西 - 只是控制允许的断行点如何确定的方法.

可以做的是禁止在通常允许的地方换行.通常情况下,空格意味着换行机会,但是使用不间断空格(可以按需编写&nbsp;)可以禁止它.

例如,如果你有一个标题文字,如"横跨爱尔兰海的桥梁和其他四个惊人的计划",那么你可能会说最好的断线机会是在"和"之后,这是"跨越"之后的一个好机会,并且在"爱尔兰"之后相当糟糕(尽管允许),等等.但是你不能在HTML或CSS中这样做,也不能在排版程序中这样做.您可以允许或禁止休息,例如,如<h1>A&nbsp;bridge across the&nbsp;Irish&nbsp;Sea and four&nbsp;other amazing&nbsp;plans</h1>.对于标题和标题,这可能是有意义的,即使这意味着您考虑每个空间并决定是否使其不破坏.

  • 您可以使用0宽度的空格&#8203; 与&nbsp完全相反。可以使用您的解决方案 (3认同)
  • 这个答案不正确.有办法,看我的答案;) (2认同)