2012-02-21 73 views
2

我有一個表被填充不同長度的文本。我已經將表格佈局css屬性設置爲固定的,因爲它不斷將表格的外部推到它的父級之外,從而創建一個水平滾動條。固定的表格佈局td文字不包裹

我希望我的td正好是表格的一半,它的大小就是它的父級。我希望我的文字包裹在td裏面。這裏是什麼樣子:

enter image description here

我希望文字環繞20所以它不會重疊其他文本。我不能使用<br />

這是一個jsFiddle的問題。

編輯:Nick Beranek回答了這個問題,但我正在尋找發生這種情況的原因。當<p>標籤不在像這樣的表格中時,默認情況下會自動換行而不添加CSS。有人可以向我解釋爲什麼在這種情況下它不起作用嗎?

+0

它發生在你的情況的原因是,瀏覽器不知道在哪裏打破這個詞。你沒有空間,所以它打破了箱子模型。 – 2012-02-21 15:53:31

回答

7

您可以在p上使用word-wrap: break-word。它在你的jsFiddle中工作,並且在微軟開發它時兼容IE。

+1

謝謝你這個工作!:) – 2012-02-21 15:38:44

+0

你知道我們爲什麼要添加這個CSS屬性?在正常情況下,當p標籤不在這種情況下,他們的文字就像我期望他們在這裏做的那樣包裝起來。 – 2012-02-21 15:51:36

+1

您的文本中沒有空格,因此瀏覽器認爲它是一個長單詞。除非做出CSS聲明,否則瀏覽器不會打包長單詞。 – 2012-02-21 16:04:21

2

由於您正在設置容器寬度較小,請嘗試增加容器寬度,Check JSFiddle for demo,寬度250將打破至精確的20位置。

#container 
{ 
    width: 250px; 
} 
p 
{ 
word-wrap: break-word 
} 
+0

我需要它是這個較小的寬度。 – 2012-02-21 15:36:59

2

不斷裂的原因是因爲字符串中沒有空格。只要你爲它打破的一組數字增加一個空格。因此,解決該問題的一種方法是將word-wrap:break-work分配給p選擇器。