2013-09-23 72 views
1

我试图将段落中的字符数限制为特定的数字。如果文本小于这个,我想用空格填充它,如果它更长,那么我将截断是用省略号。我希望包含段落的所有容器的大小相同。将空格填充添加到

我正在使用响应式网格,因此我的容器将动态调整为段落的长度。我已经尝试添加pre-wrap到p元素,但我的div不会调整大小。它似乎仍然忽略了添加的空白。

p 
{ 
white-space:pre-wrap; 
} 

这里是在我的情况的jsfiddle:http://jsfiddle.net/RFBza/4/

+0

p {text-indent:1em; } –

+0

你想使div的大小类似..不论内容.. ?? –

回答

0

OMG。但是,如果您出于某种原因希望完全如此,请尝试添加一堆由空格分隔的 代码。所以,你在哪里添加了五个空格,现在加上     。但当然,这仍然是一个可怕的想法。

+2

为什么'omg'?如果你认为我的想法很糟糕,那么我会很乐意提供关于如何正确完成的建议。 –

0

white-space并不意味着“加长”的任何申报单或添加填充,以填补空间。它仅仅意味着确定包含div中的措辞如何包装。如果你想要一个文本溢出DIV,例如,你可以用white-space

http://www.w3schools.com/cssref/pr_text_white-space.asp

现在,如果你要完成他们看起来都差不多,快速,肮脏的方法是添加一个包含div的最小高度。

http://jsfiddle.net/RFBza/6/

这里的问题是,你的措辞会不断变化,因此实际高度可能改变(和像你说的,所以你改变它的大小将不再正常工作或它的响应)

还有其他几种技术可以获得这种期望的效果,但它们都需要一些JQuery,一些标记更改,甚至PHP(如果你想要一个字符串只能是很多字符,否则显示省略号)等等......您可以添加到p选择器在你的CSS中,但要小心,因为这将适用于每一个段落。也许你可以使用更多的选择器来获得具体的。

p 
{ 
    white-space:pre-wrap; 
    min-height:192px 
} 

http://jsfiddle.net/RFBza/7/

同样,使用PHP,以确定一个长度,如果超过,显示省略号。在这种情况下,50个字符。

echo mb_strimwidth("Your paragraph goes here", 0, 50, '...'); 
+0

是的,我截断了ASP.NET中服务器端的字符串。最小高度方法不能仅仅因为布局的动态性而起作用。我正在寻找的是p元素的一种min-chars,因此无论布局如何,带垫的段落都包含一定数量的字符,因此可以均匀调整外部容器的大小。 –

+0

然后你应该可以使用'min-height'。如果您知道字体大小,行高和最大字符数量,那么无论如何您最终都应该获得该容器的一致高度。最小高度允许容器在浏览器窗口浓缩时变得更高(但是到了某个点,因为它是反弹的,它们会堆叠起来,而且它们的高度将不再是可衡量的,无论如何都是统一的)。否则,我会研究制作他们有点大于你的计划,并且使用'table-cell'将他们置于一个漂亮的外观中心http://css-tricks.com/centering-in-the-unknown/ – RCNeil