css中table-layout:fixed 属性的用法

table-layout:fixed 属性的用法:
如果想要一个table固定大小,里面的文字强制换行(尤其是在一长串英文文本,并且中间无空格分隔的情况下),以达到使过长的文字

不撑破表格的目的,一般是使用样式:table-layout:fixed。但是在Firefox下面,会有一些问题,参考Gmail的一些做法,做了几个

测试,得出一种解决办法。

例1:(IE浏览器)普通的情况

CODE:
<table border="1" width="80"><tr><td>abcdefghigklmnopqrstuvwxyz 1234567890</td></tr></table>

可以看到width=80并没有起作用,表格被字符撑开了。

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

CODE:
<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

CODE:
<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

CODE:
<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

CODE:
<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下面,又失效了

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

CODE:
<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

CODE:
<style>
.tbl {table-layout:fixed;}
.td {overflow:hidden;}
</style>

CODE:
<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都可以完美解决页面强制换行问题的解决方案。

我也继续查了一些资料,既然首行的宽度才起作用,那我是否可以定义一下首行呢。

发现了colgroup属性。

<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#000000" style="table-layout:fixed">
<colgroup>
<col style="width:10%;"></col>
<col style="width:30%;"></col>
<col style="width:40%;"></col>
<col style="width:10%;"></col>
<col></col>
</colgroup>
<tr>
    <td colspan="5">&nbsp;</td>
  </tr>  <tr>
    <td  nowrap bgcolor="#FFFFFF">文字文字文字文字文字文字</td>
    <td bgcolor="#FFFFFF">&nbsp;</td>
    <td bgcolor="#FFFFFF">&nbsp;</td>
    <td bgcolor="#FFFFFF">&nbsp;</td>
    <td bgcolor="#FFFFFF">&nbsp;</td>
  </tr>
  <tr>
    <td bgcolor="#FFFFFF">&nbsp;</td>
    <td bgcolor="#FFFFFF">&nbsp;</td>
    <td bgcolor="#FFFFFF">&nbsp;</td>
    <td bgcolor="#FFFFFF">&nbsp;</td>
    <td bgcolor="#FFFFFF">&nbsp;</td>
  </tr></table>

时间: 2024-11-09 14:50:31

css中table-layout:fixed 属性的用法的相关文章

(转)实例详解CSS中position的fixed属性使用

关于fixed属性,在什么情况下需要用,怎么用,首先,我们应该先了解下fixed属性的说明:fixed总是以body为定位时的对象,总是根据浏览器的窗口来进行元素的定位,通过"left". "top". "right". "bottom" 属性进行定位. 那么,我们了解了fixed属性的说明后,就可以知道它的作用了.当我们需要使一个层相对于浏览器来自动调整该层的位置的时候,如果你使用position的absolute属性来定位

CSS中伪类及伪元素用法详解

原文:CSS中伪类及伪元素用法详解 伪类的分类及作用: 注:该表引自W3School教程 伪元素的分类及作用: 接下来让博主通过一些生动的实例(之前的作业或小作品)来说明几种常用伪类的用法和效果,其他的读者可以自己尝试: :active  大致效果为用鼠标点击时,元素增加特效,鼠标松开时,特效消失.多用在按钮的点击上. 写法: 这里id为box的是一div块,在css中首先设置了他的基本样式,下面为加入:active伪类后需要修改的样式. 未点击时: 点击之后: :active.:hover.:

CSS中什么是复合属性

CSS中什么是复合属性:建议:尽可能的手写代码,可以有效的提高学习效率和深度.关于复合属性可能大家都在用,但是没有注意这个概念而已,下面就简单介绍一下什么是复合属性.我们知道border属性可以同时规定边框的粗细.颜色和边框类型.例如: border:2px solid blue; 所谓复合属性就是类似于border这样的属性,能够一个属性规定对象的多种样式.比较常用的复合属性有font.border.margin.padding和background等.当然这些属性也是可以拆分的,例如bord

CSS中:before和:after选择器的用法

在线演示这次给大家带来的是对话气泡效果,主要是演示了 :before / :after 和 border 的用法,赶快来围观吧. 阅读原文:CSS中:before和:after选择器的用法

css中如何使用border属性与display属性

原文:css中如何使用border属性与display属性 border属性介绍# border属性设置元素边框. 边框3个要素如:粗细.线型.颜色. 边框线型属性值说明表如:# 属性指 描述 none 定义无边框. hidden 与 "none" 相同.不过应用于表时除外,对于表,hidden 用于解决边框冲突. dotted 定义点状边框.在大多数浏览器中呈现为实线. dashed 定义虚线.在大多数浏览器中呈现为实线. solid 定义实线. double 定义双线.双线的宽度等

CSS中的定位position属性(absolute,relative,static,fixed)的具体用法

只要position的属性值设置的不是默认的值则定位的元素都将脱离文档流 1.static是position的默认的值,按照正常的文档流进行排版,设置了该属性值得元素的top,left属性均不起作用. 2.Fixed属性值是相对于浏览器窗口定位的(及视口坐标),设置该属性后的元素是独立的,他脱离文档流,当拖动滚动轴时该元素在浏览器窗口中的位置不会发生变化.时 3.所有的父级元素均没有设置position(除了static属性值以外)时,则当某个子元素position:absolute时,其top

css中一些常用的属性和属性值

今天和大家分享一下有关css中的一些常用的属性和属性值: ①颜色属性 color ②background  背景属性 其属性值有: 1,Background-image: 背景图片 2,Background-repeat: 背景重复 Repeat-x(x轴方向重复) | repeat-y(y轴方向重复) |no-repeat(不重复) 3,Background-attachment: 背景附件 scroll(默认值)  fixed(固定) 4,Background-position:背景位置 L

怕忘记了CSS中position的absolute和relative用法

CSS2.0中的定位确实有时会把人弄糊涂,所以今天给它记下来,同时供以后查阅.下面写的内容有一部分借鉴了w3cschool和divcss5这两个官方网站,在此处特别的说明一下 CSS2.0中position主要用于HTML元素的定位,在实际设计中还是非常有用的.但是对于学习者来说都会遇到相对定位和绝对定位到底如何使用,非常打脑壳 不管再咋个打脑壳,大家首要的还是记住position的几个属性值 static: HTML元素的默认定位方式 absolute: 将对象从文档流中拖出,使用left,r

总结一下CSS中的定位 Position 属性

在CSS中,Position 属性经常会用到,主要是绝对定位和相对定位,简单的使用都没有问题,尤其嵌套起来,就会有些混乱,今记录总结一下,防止久而忘之. CSS position 属性值: absolute:生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位.元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定. relative:生成相对定位的元素,相对于其