如何设置HTML页面自适应宽度的table(表格)(一)
程序员文章站
2022-07-06 23:28:29
...
原文地址:http://blog.sina.com.cn/s/blog_66d8992d0100pb5i.html
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浏览器。
上一篇: Divide Candies CodeForces - 1056B(思维+数学)
下一篇: ABAP report的递归submit和在虚拟机里再次启动另一个虚拟机 ABAPCloud for CustomerCloudC4CSAP成都研究院
推荐阅读
-
如何设置HTML页面自适应宽度的table(表格)(一)
-
DIV+CSS 布局一行两列,左列固定宽度,右列自适应宽度;设置最小宽度,窗口小的时候显示滚动条._html/css_WEB-ITnose
-
一个页面分为左中右3部分,中间部分像素固定为1000px, 中间部分要居中, 剩下左右2部分的宽度如何设置?_html/css_WEB-ITnose
-
如何让HTML页面中的背景图片自适应浏览器高度和宽度(电脑高度和宽度)
-
如何设置一段文字,是它的宽度是页面宽度的62%且能自动换行?_html/css_WEB-ITnose
-
如何绝对控制住表格table里单元格的宽度,没我命令不得变动_html/css_WEB-ITnose
-
如何设置网页中的一段文字,使它的宽度是页面宽度的62%且能自动换行?_html/css_WEB-ITnose
-
有两个input标签放到一行,如何实现左边的Input自适应宽度,右边的固定宽度。_html/css_WEB-ITnose
-
一个页面分为左中右3部分,中间部分像素固定为1000px, 中间部分要居中, 剩下左右2部分的宽度如何设置?_html/css_WEB-ITnose
-
如何设置页面宽度的CSS_html/css_WEB-ITnose