2015-01-11 35 views
0

我想在我的网页上添加一个段落,但是当我编写时,文本会填满整个屏幕的宽度。在CSS/JS中,如何在每第n个单词换行?

<p>Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text </p> 

我想要的,例如,指定只有25个字能适应与CSS或JavaScript的每一行,包装到下一行之前。

+2

你的问题是什么? – undefined

+0

在生成HTML的服务器上,每25个单词添加一个'
',或添加一个换行符并指定格式化,如保留换行符的'white-space:pre'。或者,编写JS,它在页面的生命周期中适当的时间点执行相同的操作。 –

回答

-1

你需要指定在p宽度或把它有一个定义的宽度

p.longtext { 
 
    width:200px; 
 
}
<p class='longtext'>Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text </p>

+0

我不明白 - 这不能回答这个问题。为什么被接受? –

+0

@torazaburo:我认为他不需要一个x(他的例子中有25个)字数,但他需要一种方法来控制他的段落宽度,我想我的假设是正确的,因为他接受了它。另一方面,我同意你的观点,我的文章并没有真正回答这个问题(在编辑之前检查问题) –

1

是很困难的包裹每25个的容器内,但你可以设置一个具体宽度包装在:

p { 
 
    max-width: 400px; 
 
}
<p>Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text </p>

但是,你仍然可以做它的每一个n的话,也许会导致不一致的话可以是不同长度:

var p = document.getElementById("paragraph").innerText; 
 

 
p = p.match(/(\S+){1,10}/g).join("<br>"); 
 

 
document.getElementById("paragraph").innerHTML = p;
<p id="paragraph">Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text </p>

注:我每隔10个字就会包裹一次,但您可以轻松地按照自己想要的方式换行,只需将匹配正则表达式中的10替换为25

0

这其实是非常容易的,我会在一定的宽度表明包装,而是因为你说专门要换行每25个字,在这里你去:

Array.prototype.slice.call(document.querySelectorAll("p")).forEach(function(e){ 
 
    e.innerHTML = e.innerText.match(/(\S+){1,10}/g).join("<br>"); 
 
           //   ^^ number of words to wrap at 
 
});
<p>Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text Some long text</p>

由于25个字对于堆栈溢出来说太宽,我用十个字代替,但是你可以做任何事情。

真的,我是通过三行写的,但它只是一行JavaScript代码。

相关问题