2013-09-23 94 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