div 自适应表格列宽度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了div 自适应表格列宽度相关的知识,希望对你有一定的参考价值。

表格中的一行有三列,其中一列的数据较长,但为了美观这里只显示与本列宽度相同的一行字符,剩余字符省略。在设置div的时候发现,表格的列通过设置百分比能自动适应浏览器的大小,但是DIV却不行。代码如下。
.int_info
OVERFLOW: hidden; WHITE-SPACE: nowrap;
font-size: 12px;


<table width="100%" border="0">
<tr>
<td width="20%"> </td>
<td width="20%"> </td>

<td width="20%" height="30">
<div class=int_info style="WIDTH: 100%; align="left" title="点击显示全文" id=>这一行</div>
</td>

<td width="20%"> </td>
<td width="20%"> </td>
</tr>
</table>

基中WIDTH: 100% 就会把内容全显示出来了,而且表格都变形了。
固定为300PX就可以正常。但目的是想让该div自适应表格的列宽 不能用固定值。
如何解决。
那里面的“这一行”代表很长一段文字呀,我这里省略了。

WEB应用的页面,表格的表现形式是常常遇到的,在列数有限的前提下,如何将各列中的内容自适应到不同分辨率的屏幕,这应该是一个比较容易遇到的问题,下面就对这类问题的解决与看法。

将所有列设置为固定宽度,显然是不能满足此类要求的,但是若把全部的列都设置为百分比,恐怕在某些尺寸,或分辨率下,会变得很难看。在Bigtree看来,比较习惯于用如下的方式来处理——在表格列数不是很多的前提下——将大部分列宽用固定值设置死,留下一列不设置宽度,将table的宽度设置为屏幕的百分比(譬如95%、98%等)。
例:
<table width="95%" border="1" cellpadding="2" cellspacing="1">
<tr>
<td width="50px" nowrap>序号</td>
<td width="150px" nowrap>分类A</td>
<td width="150px" nowrap>分类B</td>
<td width="200px" nowrap>名称</td>
<td nowrap>说明</td>
<td width="100px" nowrap>操作</td>
</tr>
……
</table>

在本例中,名为“说明”的列,内容比较长,可以将此列设置为浮动宽度列,用以自适应页面的宽度。

但是当该表格中出现长度比列幅宽的半角字符时,td的宽度会被内容撑破,应该如何解决

解决此问题的方法是:在明细行的td中,追加style="word-wrap:break-word;",这样做可以使半角连续字符强制换行,不至于撑破列宽。
例:
<td align="left" width="150px" style="word-wrap:break-word;">
……
</td>

应用此方法,针对设置了width宽度的td列可以解决,但是如果没有设置宽度的td列,是无法生效还是会被撑破td的,应该如何解决

解决此问题的方法是:在定义表格时,追加style="table-layout:fixed;",这样做可以使半角连续字符强制换行,不至于撑破列宽。需要注意的是,使用此参数后,不要轻易在tr(行)或td(列)中加入height属性,会使table不再被内容撑出适合的高度。
例:
<table width="95%" border="1" cellpadding="2" cellspacing="1" style="table-layout:fixed;">
……
</table>

此方法适用于IE与FireFox浏览器。
参考技术A 必须有一个固定,否则肯定变形,要么固定div宽度,要么固定表格宽度!本回答被提问者采纳 参考技术B <table width="100%" border="0">
<tr>
<td width="20%"> </td>
<td width="20%"> </td>

<td width="20%" height="30">
我是一个网页美工,我是一个网页美工!
</td>

<td width="20%"> </td>
<td width="20%"> </td>
</tr>
</table>

CSS
*
margin:0;
padding:0;
font-size:12px;

我的文本都可以显示完整的

以上是关于div 自适应表格列宽度的主要内容,如果未能解决你的问题,请参考以下文章

layui 的数据表格 列宽度自适应应该怎么设置

layui 的数据表格 列宽度自适应应该怎么设置

div能不能根据内容自适应宽度?

css能不能实现左边div固定宽度,右边div自适应撑满剩下的宽度

如何设置页面宽度自适应

iOS 根据给定宽度自适应文字大小