前兩天遇到一個問題,在調試一個表格的格式時,設定了td的寬度,結果內容超長時換行顯示了,於是,在td的css中設定了:
overflow:hidden;溢出隱藏
white-space:nowrap;文本不換行,直到遇到<br>標簽為止
設置好之后,以為可以達到不換行且溢出隱藏的效果,但是結果是文本不換行,但溢出也沒有隱藏,表格直接被撐開了,哪里設置的不對嗎?
嘗試了好多次都不行,在網上查了半天,最后找到了正確的做法:
td的style設置:
overflow:hidden;white-space:nowrap;
並且設定width
table的style設置:
table-layout:fixed
並且設定width,是各個td相加之和
如上述方法設置好之后,達到了預期的效果。
附:
語法:
white-space
| normal | 默認。空白會被瀏覽器忽略。 |
| pre | 空白會被瀏覽器保留。其行為方式類似 HTML 中的 <pre> 標簽。 |
| nowrap | 文本不會換行,文本會在在同一行上繼續,直到遇到 <br> 標簽為止。 |
| pre-wrap | 保留空白符序列,但是正常地進行換行。 |
| pre-line | 合並空白符序列,但是保留換行符。 |
| inherit | 規定應該從父元素繼承 white-space 屬性的值。 |
overflow
值 描述| visible | 默認值。內容不會被修剪,會呈現在元素框之外。 |
| hidden | 內容會被修剪,並且其余內容是不可見的。 |
| scroll | 內容會被修剪,但是瀏覽器會顯示滾動條以便查看其余的內容。 |
| auto | 如果內容被修剪,則瀏覽器會顯示滾動條以便查看其余的內容。 |
| inherit | 規定應該從父元素繼承 overflow 屬性的值。 |
word-break
值 描述| normal | 使用瀏覽器默認的換行規則。 |
| break-all | 允許在單詞內換行。 |
| keep-all | 只能在半角空格或連字符處換行。 |
詳參:http://www.w3school.com.cn/h.asp
