如何使JSP页面的宽度根据显示器的分辨率自适应

如何使JSP页面的宽度根据显示器的分辨率自适应,第1张

一、 自然拉伸

如果你的网站结构没有用到大量的图形来衔接,主要由表格来定结构,那么你就可以使用该方法。非常适用于主要由表格、文字来表达信息的简单的网页页面。制作表格时,只要你把表格的宽度属性定义为100% ,表格就会根据分辨率的不同自行调整宽度。

二、 固定居中

在800×600分辨率下制作的网页在1024×768分辨率的机器上打开,整个网页就会跑到左边;1024×768分辨率的网页在800×600分辨率的机器上有时也会变得"不堪入目"。两种分辨率各做一个吧?做起来费劲。所以目前普遍采用的方法是固定居中法!

现在大多数网民都还在用800600的分辨率,所以我们一般可以以此分辨率为主。只要在网页原代码的<body>后紧加一句<center>,</body>前加一句</center>就OK了。不过有几个问题这是要注意一下,第一个要注意的是上面说到的百分比的问题,表格、单元格的宽度单位最好要使用像素单位,而不要用百分比。例如width=770。如果你的表格宽度设的是百分比,那么使用大于800×600的像素时,网页就会拉宽,这样网页可能会变形。在<body>中加入leftmargin=0,即<body leftmargin=0>这种情况下,800×600支持的表格宽度为780像素时不会出现滚动条。还有一点要注意的是不能用DW中的层来定位。

三、 兵分两路

如果你的网页不经常更新,而且对页面效果极其在意,那好,你就设计两个页面,分别对应800×600和1024×768两种分辨率。然后根据不同的分辨率进行跳转就行了。

我以前也遇到过类似的问题,但后来发现这个期望本来就是有问题的,

如果想要表格完全自适应到完美状态,必须里面内容都是长度合理的,如果内容本身不可能让表格达到那种效果,程序自然无法处理

你循环的 

<tr>  <td style="word-break:break-all"><%=listget(0) %></td>    <td style="word-break:break-all"><%=listget(1) %></td>    <td style="word-break:break-all"><%=listget(2) %></td>    <td style="word-break:break-all"><%=listget(3) %></td>    <td style="word-break:break-all"><%=listget(4) %></td>  </tr>

这些td里,没有加宽度。

  另外如果你循环出来的内容有是连串的字母数字的话,也不会折行的,因为不知道应该从那里断开。

为什么不用滚动条呢?

客户的excel如果宽度不是固定的话,那我们就从action里处理完数据,jsp页面用el表达式读,和上面一样的,页面让美工做的时候,按照客户最多列的情况,再多做上几列,所有列都有一个判断,如果里面数据为null或为空时,不显示该列,这样不知可否能打到你的要求。

第一行比如10列,全满了,第二行也是10列,里面填了8列数据,第9列判断,里面的数据为null,不显示;第10列判断后也不显示。一共显示18列数据。

又比如:第一行10列,填写了8列数据,第一行的后2列判断后不显示,第二行的10列,数据全为null,判断后亦不显示,页面展示效果,8列数据。

就是这个意思,我个人觉得是唯一高效的解决方案。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/12186895.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存