`

让TD支持完美支持overflow:hidden的CSS实现(转)

 
阅读更多
让TD支持完美支持overflow:hidden的CSS实现(转)
直接在TD上使用OVERFLOW:HIDDEN是无效的,百度之,多半的结论是使用DIV插入TD再使用OVERFLOW
显然这不是追求精简的我们所要的,即便不考虑在大量的TD时的工作量
有人提议 为其table定义宽度,并使用 table-layout : fixed ,结合white-space: nowrap 实现了
<style>
table{ border:1px solid blue;border-collapse:collapse; width:304px;table-layout:fixed;}
td{border:1px solid blue; height:25px;overflow:hidden; white-space:nowrap;}
</style>
<table>
<tr>
    <td>一二三四五六七八九</td>
    <td>一二三四五六七八九</td>
    <td>一二三四五六七八九</td>
</tr>
<tr>
    <td>by:cike.org</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
</tr>
</table>
问题又来了,现实中我们用表格列宽常是不等的,如第一列为80px,再看TD又换行了
……
<td style="width:80px">一二三四五六七八九</td>
<td>一二三四五六七八九</td>
<td>一二三四五六七八九</td>
……
再次埋头实验-失败-实验…… 答案揭晓 white-space:pre,已通过IE6、7、8B1、FF23、Opera9
<style>
table{border:1px solid blue;border-collapse:collapse; width:304px;table-layout:fixed}
td{border:1px solid blue; height:25px;white-space:pre;overflow:hidden}
.w80{ width:80px}
</style>
<table>
<tr>
    <td class="w80">一二三四五六七八九</td>
    <td>一二三四五六七八九</td>
    <td>一二三四五六七八九</td>
</tr>
<tr>
    <td>by:<a href=">
    <td>&nbsp;</td>
    <td>&nbsp;</td>
</tr>
</table>

总结:当td无宽度值时,table{width*;table-layout:fixed;}+td{white-space:nowrap/pre} td将展现为等宽;当TD有指定值时white-space只能为pre,为了省力,推荐在两种情况下都使用white-space:pre
疑惑:为什么指定宽度会使nowrap无效,知道的请分享
原文地址:http://blog.cike.org/2008b/246.shtml
分享到:
评论

相关推荐

    css之使table也能overflow:hidden

    overflow用在div上时很好用,但直接用在td上,好像没有任何效果。td中的文本过长时依然自动换了一行像下面这要设定一下就行了

    CSS实现table td中文字的省略与显示(兼容IE与FF、Chrome)

    所谓省略就是把多余的字以“…”显示出来,而显示则是当鼠标移动到td上时,把省略的字重新显示出来。对于一个table,兼容IE与FF、Chrome的省略方式CSS写法: 复制代码代码如下: table{ width:200px; table-layout: ...

    jquery 截取长文本和css

    方法一:用CSS截断字符串:IE,FireFox,Opera ,Safari都兼容 .subLongText{ width:150px; height:24px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; text-overflow: ellipsis;/* IE/Safari */ ...

    css实现不再让内容把td撑开的常用解决方法

    overflow:hidden;word-break:keep-all;text-overflow:ellipsis} &lt;/style&gt; &lt;table border=1&gt; &lt;tr&gt; &lt;td width=”30%”&gt;dd&lt;/td&gt; &lt;td&gt;...

    html和css基础

    2. 隐藏超出部分:可以使用overflow:hidden;来隐藏超出部分的内容。 3. 设置固定宽度:可以使用width:100px;来设置固定宽度。 4. 临时加边框:可以使用border:1px solid;来临时加边框。 5. 使用!important;来设置IE...

    表格里使用text-overflow后不能隐藏超出的文本的解决方法

    在w3cschool中css3中有个文本相关的属性text-overflow,当把它设为ellipsis时文本溢出内容就能显示为省略标记,而设为clip时就能把文本溢出的部分裁切掉,当然,前提是设置好两个属性,那就是white-space:nowrap...

    CSS教程:浮动元素对浏览器的支持

    为了兼容不同浏览器,可能要使用不同的清除浮动元素组合使用,如:{overflow:hidden; zoom:1;}、{display:table; width:100%;}、{overflow:hidden; height:1%;} 以下分析了部份的消除浮动元素对浏览器的支持: 运行...

    CSS:用overflow代替left截取指定长度字符串

    为了防止文章标题过长超过容器(td,div)宽度而显示成多行,我们通常要对标题进行处理让其显示在一行,通常使用的方法有两种:一种方法是在客户端用CSS设置容器的overflow属性;另一种方法则是在服务器端用left函数对...

    原生js实现表格循环滚动

    本文实例为大家分享了js实现表格循环滚动的具体代码,供大家参考,具体内容如下 css table{width: 500px;border: 1px solid gray;...overflow: hidden;position: relative;} .tab-scroll{position: absolu

    jQuery+CSS实现菜单滑动伸展收缩(仿淘宝)

    功能很实用,代码非常的简单 效果1. 效果2. 样式代码如下: 代码如下: body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,br,pre,form,fieldset,input,textarea,p,blockquote,... color:red } .box_all{ overflow:hidden;

    javascript 使td内容不换行不撑开

    代码如下: &lt;!DOCTYPE html PUBLIC “-/... &lt;body&gt; &lt;style type=”text/css”&gt; table {width:200px;table-layout:fixed;} td {white-space:nowrap;overflow:hidden;word-break:keep-all;} &lt;/style&gt;

    css overflow溢出隐藏(文字溢出时的自动隐藏处理)

    版本:CSS2 兼容性:IE4+ NS6+ 继承性:无语法:overflow : visible | auto | hidden | scroll 相关参数说明如下: visible::不剪切内容也不添加滚动条。假如显式声明此默认值,对象将被剪切为包含对象的window...

    用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例

    CSS: 代码如下:body{margin:0px;padding:0px;-moz-user-select:none;cursor:default;} .tabEditDiv{position:absolute;width:15px;height:15px;cursor:pointer;}.seltab{position:absolute;width:15px;height:15px;...

    三星9305收索

    overflow:hidden}#ftConw{width:720px;margin:0 auto}body{font:12px arial;text-align:;background:#fff}body,p,form,ul,li{margin:0;padding:0;list-style:none}body,form,#fm{position:relative}td{text-align:...

    css文本换行属性word-wrap和white-space使用总结

    今天碰到了td文字内容不换行,发现是:white-space: nowrap,即强制文本不进行换行,顺便看了... overflow:hidden; IE 下没有任何问题,在 FF 下,长串英文会被遮住超出的内容 table中td.th强制换行方法: 复制代码

    CSS属性探秘系列(二):overflow及相关属性text-overflow

    一、overflow指定盒中...3.说明:对于table来说,假如table-layout属性设置为fixed,则td对象支持带有默认值为hidden的overflow属性。如果设为hidden,scroll或者auto,那么超出td尺寸的内容将被剪切。如果设为visible

    css+js实现部分区域高亮可编辑遮罩层.docx

    //document.body.style.overflow = "hidden"; } ``` CSS 样式 在 CSS 中,我们可以使用以下代码来设置遮罩层的样式: ```css #mybg { background: #000; width: 100%; height: 100%; position: absolute; ...

    设置table中的宽度不随文字改变让其固定

    页面中table宽度设置width=600px之后,宽度仍然不是固定的,文字太长后不换行,把table都撑变形了。 解决办法: 1.table 设置 宽度,绝对宽度和相对都可以 ...复制代码代码如下: overflow:hidden; wh

    table中的超长字符串用省略号表示的css样式

    效果如图 代码: 复制代码代码如下: &lt;style&gt;...overflow:hidden; text-overflow:ellipsis;} table {table-layout:fixed;} &lt;/style&gt; 注意!给TD指定宽度(否则宽度自动分配,达不到理想的效果).

    图书订购系统

    overflow:hidden; position: static; height: 16px; border-collapse: separate; color: #00FF00; font-size: x-large; font-weight: 700; font-family: 宋体-方正超大字符集; border-left-color: #ACA899;...

Global site tag (gtag.js) - Google Analytics