2017-01-16 34 views
2

請看下面的例子:爲什麼單詞拼寫是爲表而不是自動換行工作的?

.table { 
 
    width: 50px; 
 
    display: table; 
 
    padding: 10px; 
 
    border: 1px solid red; 
 
} 
 

 
.table a { 
 
    word-wrap: break-word; 
 
} 
 

 
.table2 a { 
 
    word-break: break-all; 
 
}
<div class="table"> 
 
    <a href="#">doNotClickMedoNotClickMedoNotClickMedoNotClickMe</a> 
 
</div> 
 

 
<div class="table table2"> 
 
    <a href="#">doNotClickMedoNotClickMedoNotClickMedoNotClickMe</a> 
 
</div>

正如你可以先在表中看到的word-wrap不能打破文本換行。但在第二張表word-break可能會破壞文本。據我所知,word-wrapword-break上的mdn文章的唯一區別是word-break會導致中文和日文文本中斷,而word-wrap不適用於這些語言。現在怎麼樣word-break可以打破錶中的單詞但word-wrap不是? html css規範是否提及這種行爲?

閱讀一些其他類似的帖子像thisthisthis,還有一件事,我發現unordinary是爲什麼加入table-layout: fixed表允許word-wrap突破的話嗎?

+0

似乎'word-break'的行爲在firefox中有所不同。我在使用chrome時發佈了這個問題。 – user31782

回答

0

爲什麼table-layout: fixed在這裏工作,因爲

table-layout: fixed原因是: - ,水平佈局僅取決於表格的寬度和列,而不是單元格的內容的寬度(可能會導致溢出如果word-wrap:break-word未設置細胞)

table-layout: auto: - 列WID th是由單元格中最寬的不可破解內容設置的,與列寬無關。

所以word-wrap:break-word這是現在overflow-wrap:break-word(在CSS3)不通過打破內容作爲table-layout: fixed允許內容溢出。

上面的解釋對你的問題是部分的,但我希望它能以某種方式幫助你。

+0

我感謝您的幫助。但對我來說,解釋是相當矛盾的......(可能導致單元格溢出)_似乎暗示文本會溢出而不會換行。 – user31782

+0

謝謝你,這行_(導致單元格溢出)_意味着如果你設置了'word-wrap:break-word',那麼文本將被封裝,否則在'table-layout:fixed'的情況下會發生溢出。 – Uday

相關問題