`

table-layout:fixed与auto与表格内换行

阅读更多

table-layout : auto | fixed 参数:auto :  默认的自动算法。布局将基于各单元格的内容。表格在每一单元格读取计算之后才会显示出来。速度很慢fixed :  固定布局的算法。在这算法中,水平布局是仅仅基于表格的宽度,表格边框的宽度,单元格间距,列的宽度。


设置或检索表格的布局算法。 
对应的脚本特性为tableLayout。
示例: 

table { table-layout: auto; } 
为了让表格布局固定住,我们需要table-layout:fixed。假设没有fixed,把你的分辨率减小到一定程度,你会发现white-space: nowrap是不会生效的。 

技巧:为了使表格能够适应液态布局(liquid layout,即可伸缩性),不建议你为表格设置绝对宽度,使用相对宽度如百分比是不错的选择。另外,把宽度相对固定的内容(比如时间格式)格设置绝对宽 度,非固定的内容格不设置任何宽度,只需给予其设置white-space: nowrap,虽然在小分辨率的情况下会溢出,但依据某些观点看来,这比折行更美观。

说明: 
设置或检索表格的布局算法。 
你可以通过此属性改善表格呈递性能。此属性导致IE以一次一行的方式呈递表格内容从而提供给信息用户更快的速度。此属性依据此下顺序使用其中一种方式布置表格栏宽度: 

使用 col 或 colGroup 对象的宽度( width )属性信息。 

使用表格第一行内的单元格的宽度( width )信息。 

依据表格列数等分表格宽度。而不考虑表格内容的实际宽度。 
假如单元格的内容超过了列宽度,内容将会被换行。假如无法换行,则内容会被裁切。假如此属性被设置为 fixed ,则 overflow 能够被用于控制处理溢出单元格( td )宽度的内容。假如表格行高度被指定了,那么换行的内容如果超出了指定表格行高度也会在纵向上被裁切。 
设置此属性值为 fixed ,有助于提高表格性能。对于长表格效果尤其显著。 
设置表格行高可以进一步提高呈递速度,浏览器不需要检测行内每一个单元格内容去确定行高就可以开始解析以及呈递。 
此属性对于 currentStyle 对象而言是只读的。对于其他对象而言是可读写的。 
对应的脚本特性为 tableLayout 。 

注意到以下几点: 
1,你可以通过此属性改善表格呈递性能。此属性导致IE以一次一行的方式呈递表格内容从而提供给信息用户更快的速度。 
2,设置此属性值为 fixed ,有助于提高表格性能。对于长表格效果尤其显著。 
3,设置表格行高可以进一步提高呈递速度,浏览器不需要检测行内每一个单元格内容去确定行高就可以开始解析以及呈递。 
---------------------------------------------------- 
这个特性对于长表格显示速度及效果来说时非常有用的。可以用来改善表格性能!

对于table元素 
IE浏览器 
使用 table-layout:fixed;强制table的宽度,多余内容隐藏


 

如果想要一个table固定大小,里面的文字强制换行(尤其是在一长串英文文本,并且中间无空格分隔的情 况下),以达到使过长的文字不撑破表格的目的,一般是使用样式:table-layout:fixed。但是在Firefox下面,会有一些问题,参考 Gmail的一些做法,做了几个测试,得出一种解决办法。 
例1:(IE浏览器)普通的情况 

<table border=1 width=80><tr><td>abcdefghigklmnopqrstuvwxyz 1234567890</td></tr></table>
效果:
可以看到width=80并没有起作用,表格被字符撑开了。
例2:(IE浏览器)使用样式table-layout:fixed 

<style>.tbl {table-layout:fixed}</style><table class=tbl border=1 width=80><tr><td>abcdefghigklmnopqrstuvwxyz 1234567890</td></tr></table>
效果:
width=80起作用了,但是表格换行了。

 例3:(IE浏览器)使用样式table-layout:fixed与nowrap 

<style>.tbl {table-layout:fixed}</style><table class=tbl border=1 width=80><tr><td nowrap>abcdefghigklmnopqrstuvwxyz 1234567890</td></tr></table>
效果:width=80起作用了,换行也被干掉了。 
例4:(IE浏览器)在使用数值固定td大小情况下使用样式table-layout:fixed与nowrap 

<style>.tbl {table-layout:fixed}</style><table class=tbl border=1 width=80><tr><td width=20 nowrap>abcdefghigklmnopqrstuvwxyz 1234567890</td><td nowrap>abcdefghigklmnopqrstuvwxyz 1234567890</td></tr></table>
效果:不幸发生了,第一个td的nowrap不起作用了 

例5:(IE浏览器)在使用百分比固定td大小情况下使用样式table-layout:fixed与nowrap 

<style>.tbl {table-layout:fixed}</style><table class=tbl border=1 width=80><tr><td width=25% nowrap>abcdefghigklmnopqrstuvwxyz 1234567890</td><td nowrap>abcdefghigklmnopqrstuvwxyz 1234567890</td></tr></table>
效果:改成百分比,终于搞定了 

例6:(Firefox浏览器)在使用百分比固定td大小情况下使用样式table-layout:fixed与nowrap

效果:把例5放到firefox下面,又ft了 

例7:(Firefox浏览器)在使用百分比固定td大小情况下使用样式table-layout:fixed与nowrap,并且使用div 

<style>.tbl {table-layout:fixed}.td {overflow:hidden;}</style><table class=tbl border=1 width=80><tr><td width=25% class=td nowrap><div>abcdefghigklmnopqrstuvwxyz 1234567890</div></td><td class=td nowrap><div>abcdefghigklmnopqrstuvwxyz 1234567890</div></td></tr></table>
效果:天下终于太平了

 例8:(Firefox浏览器)在使用数值固定td大小情况下使用样式table-layout:fixed与nowrap,并且使用div 

<style>.tbl {table-layout:fixed}.td {overflow:hidden;}</style>
<table class=tbl border=1 width=80><tr><td width=20 class=td nowrap><div>abcdefghigklmnopqrstuvwxyz 1234567890</div></td><td class=td nowrap><div>abcdefghigklmnopqrstuvwxyz 1234567890</div></td></tr></table>
效果:nowrap又不起作用了

最终,例7是一个在IE和Firefox都可以完美解决页面强制换行问题的解决方案。

分享到:
评论

相关推荐

    固定 table宽度 table-layout: fixed

    "固定table宽度 table-layout: fixed" 是一个CSS属性,用于解决这个问题,确保表格在不同场景下保持一致的列宽。 首先,让我们了解一下表格布局的默认模式——"auto"布局。在默认情况下,表格的列宽会根据其内容的...

    如何通过CSS样式设置单元格显示内容的长度.doc

    总之,通过`table-layout: fixed`和相关的CSS样式,我们可以有效地控制表格单元格内文本的显示长度,提高页面性能,并保证视觉效果的一致性。在实际项目中,根据具体需求灵活运用这些技术,能够提升用户体验,同时也...

    表格自动换行主义CSS属性

    我们可以看出,合理利用`table-layout`、`word-break`和`word-wrap`等CSS属性,能够有效改善表格内文本的显示效果,尤其是在需要处理大量文本数据的情况下,自动换行的功能尤为重要。这对于提升用户体验和美化页面...

    word-break:break-all和word-wrap:break-word区别总结

    在表格布局方面,`table-layout:fixed` 与 `table-layout:auto` 也是控制表格布局的重要属性。`fixed` 模式下,表格的列宽在表格加载时就确定,不会根据单元格内容的宽度变化,这提供了更快的渲染速度。而 `auto` ...

    单元格撑大 层 密码显示可变 漂浮广告 html javascript

    - `table-layout: auto;`:列宽基于列中内容的最大宽度。 - `table-layout: fixed;`:列宽基于表头的宽度,即使单元格内容超过这个宽度也不会自动撑大。 示例代码如下: ```html &lt;table style="table-layout: ...

    用CSS控制表格或单元格强制换行,防止表格被英文单词或中文撑大

    对于表格,我们可以使用`table-layout: fixed;`来设定表格的宽度,并通过调整`td`或`th`的样式来实现强制换行: 1. 在IE浏览器中,设置`table-layout: fixed;`并指定表格宽度,多余内容会被隐藏: ```html &lt;table ...

    css之自动换行.docx

    对于表格,特别是Firefox浏览器,`table-layout:fixed`属性可以设定表格的列宽固定,这将使表格的列宽不再受单元格内容的影响。配合`word-break:break-all`或`word-wrap:break-word`,可以控制单元格内的文本换行。...

    让你的表格不因被内容撑破而变形

    在网页设计与开发的过程中,经常会遇到表格或者布局因为内容(特别是图片)的尺寸过大而导致页面变形的情况。这种问题不仅影响了网页的美观性,还可能降低用户体验。因此,掌握如何让表格不会因为内容撑破而变形是...

    css table-layout属性显示表格单元格、行、列的算法规则

    `table-layout`属性有两个可选值:`auto`和`fixed`,它们分别代表自动表格布局和固定表格布局。 1. **自动表格布局(`auto`)**: 默认情况下,表格使用自动布局。在自动模式下,列宽由列中最宽的内容决定,即使...

    css word-break word-wrap 前台显示自动换行

    - 在`table`元素中,`TABLE-LAYOUT: fixed`属性用于设置表格布局模式为固定,这样列宽一旦设定就不会因内容长度而改变,这有助于控制文字换行的行为。 - `WORD-WRAP: normal` 结合 `TABLE-LAYOUT: fixed` 和 `word...

    CSS 之强制换行技巧

    如果在Firefox浏览器下处理表格并且单元格宽度使用百分比固定,可以使用`table-layout:fixed`和`nowrap`,再结合`div`和`overflow:hidden;`来控制内容不超出单元格。示例代码如下: ```css .tb { table-layout: ...

    样式表总结

    表格布局 (Table Layout) - `table-layout: fixed;`(表格列宽固定) #### 2. 表头位置 (Caption Side) - `caption-side: bottom;`(表头位于表格下方) #### 3. 边框合并 (Border Collapse) - `border-...

    CSS 数字和字母将容器撑大问题解决

    总结起来,解决CSS中数字和字母将容器撑大的问题,主要依靠调整`white-space`、`word-break`、`word-wrap`和`overflow`等属性,以及可能需要结合`table-layout: fixed;`来控制表格的布局。根据不同浏览器的兼容性和...

    css实现连续的英文或数字自动换行的方法

    对于表格(table)元素,在IE浏览器中可以使用`table-layout:fixed;`样式。这个属性允许表格布局使用固定布局算法,即第一行的单元格宽度固定,之后的行也会用这个宽度。在这种情况下,`nowrap`属性能够强制内容不...

    CSS实现连续数字和英文的自动换行的方法

    3. `table-layout`: 在表格中处理连续英文和数字的换行问题时,使用`table-layout: fixed;`可以强制表格使用固定的布局算法,这样就能预知每列的宽度,并在需要时强制换行,或者隐藏超出部分的内容。 4. `overflow`...

    css之自动换行实现代码

    当涉及到表格(`table`)时,尤其是需要隐藏超出内容的情况,可以使用`table-layout: fixed;`来强制表格的宽度。此外,对于`td`和`th`元素内部的文本,可以使用`word-break: break-all;`或`word-wrap: break-word;`...

    Html 页面的强制换行问题总结

    `nowrap`属性可以防止文本换行,所以当我们同时使用`table-layout: fixed`和`nowrap`时,可以有效地控制单元格内容不换行,从而保持表格的固定大小。 然而,当我们在单元格内指定具体宽度(如像素值`width=20`)并...

Global site tag (gtag.js) - Google Analytics