頁面需要顯示一個table,列數(shù)比較多,導致無法一屏無法顯示,導致需要左右拖動屏幕,十分不方便~
于是,需要將較長的列分行顯示,在td 處用style="width:90px;"結果不起作用了,之前確實是可以的,想起最近剛升級了chrome瀏覽器。
在網上搜索答案時,大多時隱藏多余內容的方式,在快要放棄,暴利舍棄一些列時,答案出現(xiàn)了
參考:http://www.xuehuile.com/blog/b17e89b84e784f73bbcdaa9280044656.html
方法:
<style>
table{
;word-wrap:break-word;
}
</style>
然后在th出設置style="width:90px;"即可~
全文:
這個問題呢,是由于我們公司測試的部門測出來的,雖然說測試的內容本身就是個BUG,不過這個也讓我學到了一個比較好的歸類于布局的一個小技巧,就是將td標簽中過長的內容只顯示為這個td的width的長度,之后的便以省略號代替。
方式如下:
這個功能有一個前提,在table中必須設置style:
;
這條屬性就是讓table的內部布局固定大小。這個時候就用width屬性調節(jié)td的長度。
之后在添加如下:
<style>
td {
white-space:nowrap;overflow:hidden;text-overflow: ellipsis;
}
</style>
屬性描述
white-space:nowrap;規(guī)定段落中的文本不進行換行overflow:hidden;關閉滾動條text-overflow: ellipsis;溢出的文字顯示為省略號
這個時候你會發(fā)現(xiàn),就算變成了省略號,就會出現(xiàn)不知道內容完整的是什么?
所以這個時候可以考慮使用td的title屬性,在title屬性中設置內容為顯示內容,這樣只要光標停留在td處就可以顯示全部的內容,如果覺得這個不夠勁。可以考慮自己寫一個mouseover事件,讓內容全部顯示,顯示的方式是自動換行,如果不換行就會出現(xiàn)很難看的樣式。
so:換行也需要;
在(IE瀏覽器)長串英文自動回行
方法1:同時加入word-wrap:break-word;
table{
;word-wrap:break-word;
}
方法二:
<style type="text/css"> /*自動換行,IE,Chrome通用,F(xiàn)ireFox連續(xù)英文不換行(遇空格換一行)*/.AutoNewline_break{ word-wrap:break-word; word-break:break-all; } .AutoNewline_normal{ word-wrap:break-word; word-break:normal; } /*強制不換行,IE,FireFox,Chrome通用*/ .NoNewline{ white-space:nowrap}/*標簽繼承*/div { background:red; word-wrap: break-word; word-break:break-all; }</style>
上述style中的.*開頭的是指html標簽中class是*的標簽,div就是指所有的div。
如: .NoNewline就是指class為NoNewline的標簽樣式改為:white-space:nowrap
用js修改style即可。當然最后也要寫一個mouseout事件取消mouseover事件。
聯(lián)系客服