2010-07-23 34 views
8

問題的演示就在這裏。爲什麼Chrome在我的CSS3多列布局中切斷文本?

http://www.vcn.bc.ca/~dugan/css3/newhtml.html

的多列布局CSS3正確顯示在Firefox。 Opera和IE8將它顯示爲一列(這很好)。但是,Chrome會嘗試將其顯示爲多列,並且會將部分文字截斷。

有什麼辦法可以使它與Chrome一起工作?

+0

Windows中的Safari也會中斷(以同樣的方式)。 – 2010-07-23 22:58:54

+0

這可能是一個Web字體問題?我已經看到了鉻+網頁字體的其他奇怪行爲,這似乎與鉻的計算線高度有關。 – claesv 2016-02-29 09:38:21

回答

2

似乎在dugan.css中的p規則上設置行高爲1.5時顯示所有文本。 Chrome瀏覽器平衡列的方式似乎仍存在缺陷,您可能需要在最後一段中添加空白段落或添加一些填充內容。

19

調整行高(或字體大小,建議其他地方)可能會刪除Chrome的剪報錯誤,但只是意外。如果你想避免它編程,現在唯一的工作解決方法是:

.multicolumn p { 
    display: inline-block; 
} 

你可能會擴展爲多光柱容器的所有子元素,但可能你需要在某個時候加width: 100%;。欲瞭解更多信息,請閱讀 http://www.symphonious.net/2010/12/30/controlling-wrapping-in-css3-columns/http://zomigi.com/blog/deal-breaker-problems-with-css3-multi-columns/的討論。

此外,如果內聯塊解決方法無效,則截斷文本位的原因可以由多列設計的遞歸應用程序組成。我在比上述更復雜的場景中觀察到了這個情況,其中多列文本容器的遠程父級具有其自己的列布局。從頂級容器中移除列計數可修復列中斷問題。

+0

這應該是正確的答案。 – biko 2015-10-15 00:26:15

+0

這是解決此問題的最佳答案。 – zgood 2015-12-21 17:36:39

+0

這對我有用!列中的一個沒有。 – 2017-10-04 17:43:15

6
body{ 
    -webkit-column-break-inside:avoid; 
} 
+0

這解決了我的問題。 – maurice 2015-09-30 19:12:12

+0

這是正確的方法。 – undefined 2016-09-29 22:37:56

1

在某些情況下,我看到填充和欄位內容的邊距會導致此問題。嘗試:

.columnized-content { margin: 0; padding: 0; } 
+0

此外,你可以嘗試{box-sizing:border-box;}如果你想保留填充 – 2015-01-20 19:04:43

相關問題