css 固定HTML表格的宽度

http://www.cnblogs.com/sese/p/6118030.html

***************************

在网页中插件表格时,就算你有时定义了宽度,默认的也会根据里面内容的来自动拉伸。有时候自动拉伸是好,但是如果你表格里面的内容太长,表格就会拉伸的特别难看。

像下面的表格,正常的显示应该如下:

但是如果里面的数据太长的话,就会错位成下面这个样子:

我们如何保证抽奖时间固定宽度,让它显示一行,后面的奖品也显示一行,超出的部分用省略号表示呢?

html部分代码如下:

 1 <table cellpadding="0" cellspacing="0">
 2     <tr>
 3         <th align="left" width="100">抽奖时间</th>
 4         <th align="left">奖品</th>
 5     </tr>
 6     <tr>
 7         <td align="left">2016-11-17</td>
 8         <td align="left"><div class="award-name">10元投资红包</div></td>
 9     </tr>
10     <tr>
11         <td align="left">2016-11-17</td>
12         <td align="left"><div class="award-name">长沙万达文华大酒店1晚+橘子洲江景温泉门票2张</div></td>
13     </tr>
14     <tr>
15         <td align="left">2016-11-17</td>
16         <td align="left"><div class="award-name">科沃斯地宝灵犀扫地机器人</div></td>
17     </tr>
18     <tr>
19         <td align="left">2016-11-17</td>
20         <td align="left"><div class="award-name">10元投资红包</div></td>
21     </tr>
22     <tr>
23         <td align="left">2016-11-17</td>
24         <td align="left"><div class="award-name">10元投资红包</div></td>
25     </tr>
26 </table>

加入以下代码即可:

1 table{table-layout: fixed;word-break: break-all; word-wrap: break-word; //表格固定布局}
2 .award-name{-o-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;width:100%; //超出部分显示省略号}

其中table-layout:fixed 表示:
列宽由表格宽度和列宽度设定。在固定表格布局中,水平布局仅取决于表格宽度、列宽度、表格边框宽度、单元格间距,而与单元格的内容无关。

其中word-break:break-all 表示:
word-break 属性规定自动换行的处理方法。break-all允许在单词内换行。

其中word-wrap: break-word 表示:
word-wrap 属性允许长单词或 URL 地址换行到下一行。break-word就表示在长单词或 URL 地址内部进行换行。

其实table-layout, word-break, word-wrap这三个属性都是关于固定宽度显示控制的。
对一般的浏览器来说,只需要其中一个就可以完成控制了,但是,一般我们还是会把三个属性都加上,这样以保证对所有的浏览器都兼容。

最后显示效果如下:

时间: 2024-10-02 16:33:16

css 固定HTML表格的宽度的相关文章

CSS设置表格TD宽度布局

使用表格布局时,对单元格的宽度控制很伤脑筋,所以查阅资料整理如下: 一.表格布局table-layout 语法: table-layout : auto | fixed 取值: auto  : 大多数浏览器采用自动表格布局算法对表格布局:表格及单元格的宽度取决于其包含的内容. fixed :表格和列的宽度通过表格的宽度来设置,某一列的宽度仅由该列首行的单元格决定:在当前列中,该单元格所在行之后的行并不会影响整个列宽. **注意** 使用 "fixed" 布局方式时,整个表格可以在其首行

CSS属性之表格(Table)

CSS属性之表格(Table) HTML为表格定义了3个元素用于对行进行分组,它们是 thead (表头).tbody (表格主体).tfoot (脚注). 在HTML4中文档结构中的 tfoot 必须出现在 tbody之前,HTML5去掉了这个限制. 如果在源代码中没有写分组元素时,浏览器会自动创建 tbody ,所以选择器 table > tr 总是无效,因为中间有 tbody. 如果表格主体中的每一行都是以 td 元素开头,那这些 th 就是行标题. colgroup 与 col <co

css居然有根据容器宽度自动截取长度加省略号功能,强大!!

作者:☆威廉古堡♂ 项目中最初的做法(js截取): //字符长度截取包括中英文混合 function subStr(str, len) { str = str.toString(); var newLength = 0; var newStr = ""; var chineseRegex = /[^\x00-\xff]/g; var singleChar = ""; var strLength = str.replace(chineseRegex,"**&

设置表格td宽度

CSS布局,表格宽度不听使唤的实例.想把表格第一例宽度设为20,其他自适应.但CSS中宽度是等宽的.只设这一行也不起作用.但是在实际应用中总是等宽处理,并不按照样式来走. XML/HTML代码 <table width="100%"> <tr> <td colspan="6" align="center"><strong>少 儿 瑜 伽 课 程 </strong></td>

CSS学习记录——表格

HTML部分 表格 表格由 table标签来定义.每个表格均有若干行(由 tr 标签定义),每行被分割为若干单元格(由 td标签定义).字母 td 指表格数据(table data),即数据单元格的内容.数据单元格可以包含文本.图片.列表.段落.表单.水平线.表格等等. <table> <tr> <td>row 1, cell 1</td> <td>row 1, cell 2</td> </tr> <tr> &

CSS控制文本超出指定宽度后用省略号代替,CSS控制文本不换行

CSS控制文本超出指定宽度后用省略号代替,CSS控制文本不换行. 一般的文字截断(适用于内联与块): .text-overflow {     display:block;/*内联对象需加*/     width:31em;     word-break:keep-all;/* 不换行 */     white-space:nowrap;/* 不换行 */     overflow:hidden;/* 内容超出宽度时隐藏超出部分的内容 */     text-overflow:ellipsis;

CSS自动截断表格内的长字符 以省略号显示

CSS自动截断表格内的长字符,以省略号显示,大家可能在一些网站看到过这样的效果,目的是让表格或布局更美观一些,但是不利于阅读,如果您可以能该属性加上title或链接的话那就利于网站体验了,您说是吗? <!DOCTYPE> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>上谷战

xHTML+div布局:三个div,两边div宽度固定,中间div宽度自适应

xHTML+div经常考题:三个div,两边div宽度固定,中间div宽度自适应. 和大家分享一个实现方式: 1.html代码 1 <div class="dyleft">左栏固定宽度为200px</div> 2 <div class="dyright">右栏固定宽度为200px</div> 3 <div class="dycenter">中间自适应宽度</div> 2.cs

CSS流体(自适应)布局下宽度分离原则——张鑫旭

by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=1463 一.简短的前言 之前曾作有“页面重构鑫三无准则之无宽度准则”一文,属于流体布局系列中的偏理论性的文章,本文也是这种性质的,可谓是“无宽度准则”一文的延续. “无宽度准则”是说内部元素不要定宽,但是,除非你的页面是像google的产品页面一样都是100%自适应的,那么页面的终归会有一个固定的宽度值,一般出现在页面的