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都可以完美解决页面强制换行问题的解决方案。
发表评论
-
基于脚本的动画的计时控制(“requestAnimationFrame”)(转载)
2014-03-04 19:12 1044Internet Explorer 10 和使 ... -
IE11开发人员工具:UI响应工具详解
2014-02-27 18:33 942我讨厌debug,相信也没多少开发者会喜欢。但是当代码出 ... -
IE11开发人员工具:内存分析工具详解
2014-02-27 18:32 1458上篇我们跟大家介绍 ... -
E6与location.hash和Ajax历史记录 (转载)
2014-02-26 12:23 560为了在IE6中改变hash来保留历史记录实现ajax的前进 ... -
MIME Types(转载)
2013-12-31 10:20 649MIME Types - Complete List ... -
iframe历史记录问题(转载)
2013-10-17 10:21 1346在做页面统计的时候 ... -
前端类库精选(转)
2013-05-11 00:57 0优秀的前端类库,自己平时遇见了,这里Mark一下。 1、m ... -
10个chrome console实用小技巧(转)
2013-05-09 10:56 10711. 基本输出 让我们先从最常见的console.l ... -
CSS3那些不为人知的高级属性(转)
2013-04-19 13:35 958原文:CSS的未来:一些 ... -
JavaScript 时间、格式、转换及Date对象总结(转)
2013-04-10 14:49 719悲剧的遇到问题,从前台得到时间,“Tue Jan 29 16 ... -
如何制作一个可及性强(accessible)的网页弹框(转载)
2013-04-02 16:18 810英文原文:Making an accessib ... -
JavaScript MVC js也mvc(转载)
2013-03-16 23:59 692JavaScript MVC 中文:http://blog ... -
SUBLIME TEXT 2 设置文件详解
2012-12-27 11:21 1063Sublime Text 2是那种让人会一眼就爱上的编辑 ... -
两个按位非操作与Math.floor操作(译)
2012-12-10 18:17 959位操作符在我们编码过程中是容易被遗忘的,可能更多的源于我们 ... -
img中src为空的影响
2012-11-26 23:32 0这是我们经常能遇到的代码,可以直接用html标签或者Java ... -
IE6下position定位子元素溢出,父元素被撑开的解决思路。(转)
2012-11-13 18:04 1649在一些被常规的页面布局当中,我们常常需要通过positi ... -
chrome developer tool 调试技巧(转)
2012-11-12 13:16 871这篇文章是根据目前 chrome 稳定版(19.0.10 ... -
你清楚jquery是如何清除ajax缓存的吗?(转)
2012-11-11 11:19 1057大家都知道万恶的IE在ajax中往往只读取第一次ajax ... -
是时候使用JavaScript严谨模式(Strict Mode)提升团队开发效率 In JavaScript(转)
2012-11-10 23:33 726随着WebApp突飞猛进的发展,Javascript写的 ... -
Javascript基础
2012-11-10 23:25 0原文:http://bonsaiden.githu ...
相关推荐
"固定table宽度 table-layout: fixed" 是一个CSS属性,用于解决这个问题,确保表格在不同场景下保持一致的列宽。 首先,让我们了解一下表格布局的默认模式——"auto"布局。在默认情况下,表格的列宽会根据其内容的...
总之,通过`table-layout: fixed`和相关的CSS样式,我们可以有效地控制表格单元格内文本的显示长度,提高页面性能,并保证视觉效果的一致性。在实际项目中,根据具体需求灵活运用这些技术,能够提升用户体验,同时也...
我们可以看出,合理利用`table-layout`、`word-break`和`word-wrap`等CSS属性,能够有效改善表格内文本的显示效果,尤其是在需要处理大量文本数据的情况下,自动换行的功能尤为重要。这对于提升用户体验和美化页面...
在表格布局方面,`table-layout:fixed` 与 `table-layout:auto` 也是控制表格布局的重要属性。`fixed` 模式下,表格的列宽在表格加载时就确定,不会根据单元格内容的宽度变化,这提供了更快的渲染速度。而 `auto` ...
- `table-layout: auto;`:列宽基于列中内容的最大宽度。 - `table-layout: fixed;`:列宽基于表头的宽度,即使单元格内容超过这个宽度也不会自动撑大。 示例代码如下: ```html <table style="table-layout: ...
对于表格,我们可以使用`table-layout: fixed;`来设定表格的宽度,并通过调整`td`或`th`的样式来实现强制换行: 1. 在IE浏览器中,设置`table-layout: fixed;`并指定表格宽度,多余内容会被隐藏: ```html <table ...
对于表格,特别是Firefox浏览器,`table-layout:fixed`属性可以设定表格的列宽固定,这将使表格的列宽不再受单元格内容的影响。配合`word-break:break-all`或`word-wrap:break-word`,可以控制单元格内的文本换行。...
在网页设计与开发的过程中,经常会遇到表格或者布局因为内容(特别是图片)的尺寸过大而导致页面变形的情况。这种问题不仅影响了网页的美观性,还可能降低用户体验。因此,掌握如何让表格不会因为内容撑破而变形是...
`table-layout`属性有两个可选值:`auto`和`fixed`,它们分别代表自动表格布局和固定表格布局。 1. **自动表格布局(`auto`)**: 默认情况下,表格使用自动布局。在自动模式下,列宽由列中最宽的内容决定,即使...
- 在`table`元素中,`TABLE-LAYOUT: fixed`属性用于设置表格布局模式为固定,这样列宽一旦设定就不会因内容长度而改变,这有助于控制文字换行的行为。 - `WORD-WRAP: normal` 结合 `TABLE-LAYOUT: fixed` 和 `word...
如果在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中数字和字母将容器撑大的问题,主要依靠调整`white-space`、`word-break`、`word-wrap`和`overflow`等属性,以及可能需要结合`table-layout: fixed;`来控制表格的布局。根据不同浏览器的兼容性和...
对于表格(table)元素,在IE浏览器中可以使用`table-layout:fixed;`样式。这个属性允许表格布局使用固定布局算法,即第一行的单元格宽度固定,之后的行也会用这个宽度。在这种情况下,`nowrap`属性能够强制内容不...
3. `table-layout`: 在表格中处理连续英文和数字的换行问题时,使用`table-layout: fixed;`可以强制表格使用固定的布局算法,这样就能预知每列的宽度,并在需要时强制换行,或者隐藏超出部分的内容。 4. `overflow`...
当涉及到表格(`table`)时,尤其是需要隐藏超出内容的情况,可以使用`table-layout: fixed;`来强制表格的宽度。此外,对于`td`和`th`元素内部的文本,可以使用`word-break: break-all;`或`word-wrap: break-word;`...
`nowrap`属性可以防止文本换行,所以当我们同时使用`table-layout: fixed`和`nowrap`时,可以有效地控制单元格内容不换行,从而保持表格的固定大小。 然而,当我们在单元格内指定具体宽度(如像素值`width=20`)并...