table中内容过长,table改变的问题
在看效果时发现在Chrome中的table已经不是原来设置的宽度了,而其他浏览器是好的,经过百度发现是单元格内容过多造成的,但这时候给td设置宽度已经不适用了,此时就要给table设置 table{table-layout:fixed;}
table-layout属性
用法:作用于table标签,显示单元格列宽的计算法则。
取值:auto(默认)列宽由内容确定。加载慢
fixed :固定布局的算法。在这种算法中,表格和列的宽度取决于 col 对象的宽度总和,假如没有指定,则会取决于第一行每个单元格的宽度。假如表格没有指定宽度( width )属性,则表格被呈递的默认宽度为 100% 。说明:设置或检索表格的布局算法。。加载快。
常见问题,第一行设置单元格合并后,第二行的宽度显示为平分。
解决办法,加一个隐形行设定为第一行,display:none;
word-wrap : normal | break-word 取值: normal : 默认值。允许内容顶开指定的容器边界break-word : 内容将在边界内换行。 如果需要,词内换行( word-break )也将发生说明:设置或检索当当前行超过指定容器的边界时是否断开转行。
word-break : normal | break-all | keep-all 取值:normal : 默认值。 允许在词间换行break-all : 该行为与亚洲语言的 normal 相同。也允许非亚洲语言文本行的任意字内断开。 该值适合包含一些非亚洲文本的亚洲文本keep-all : 与所有非亚洲语言的 normal 相同。对于中文,韩文,日文,不允许字断开。 适合包含少量亚洲文本的非亚洲文本说明:设置或检索对象内文本的字内换行行为。尤其在出现多种语言时。 对于中文,应该使用 break-all 。
table{word-break:break-all; word-wrap:break-word; table-layout:fixed; }