普通文檔流的數字串遇到浮動塊為什麼不自動換行而是直接流到浮動塊底部的一行?
01-14
代碼和運行結果如圖,原諒我實在找不出能描述這個問題的話語。我在兩個平級的段落里分別加入內容,讓第一段浮動,第二段輸入普通文本表現正常,但是當有一串數字且長度超過段落長度時就會發生這樣,想不出原因
CSS的Float之一_float 教程_w3cplusCSS的Float之二_float 教程_w3cplusfloat深入剖析_float 教程_w3cplus
float是如何工作的_CSS, float 教程_w3cplus
Clear Float_CSS, float, clearfix 教程_w3cplus瀉藥浮動框出於包含塊與行框之間行框由行內框組成
中文與數字組成了一個匿名行內框
該框超過行框寬度如行內框可被打斷將打斷後折行形成新的匿名行內框中文字元可以在字間折斷(取決於break相關樣式設置,這裡顯然是默認)
所以不會超出行框造成行框重疊浮動框這種反規範布局折行後的匿名行內框包含剩餘中文與部分無間隙數字組成的行內框依然超出行框寬度但是由於之前字間折斷規則緣故
無間隙的數字(因為break相關樣式設置)無法從中截斷只得從中文字元可扯斷最大位置折斷產生新的行內匿名框該框依然超出行框為了符合規範浮動框出於包含塊與行框之間的規定此匿名行內框只好下沉到不予浮動框交疊的行框中渲染即如你所示效果word-wrap - CSS
雖然不知道規範,但是出現這個問題的原因大概是數字和單詞是一個整體過長不會自動換行,而中文每個字都不相關,可以自己換行。
推薦閱讀:
※非計算機想從事前端開發,如何找到實習?
※鏈接為什麼都用雙引號?
※用 CSS 實現元素垂直居中,有哪些好的方案?
※關於 HTML5 被簡稱做 H5 ,你怎麼看?
※w3.org 結構複雜,信息量大,新人從哪裡入手比較好?