2011-06-03 164 views
0

我想用div填充屏幕,并且我正在考虑使用php根据屏幕分辨率动态调整div的大小,因此,例如,16个div总是出现在每个屏幕上行。使用div的CSS/PHP填充屏幕

Example of DIV spacing

实施例A的问题,在实施例B我调整的div以适应屏幕。

那么,这是否有效?我想有这样的事情每个DIV的每个背景图片:

/bgimage.php?id=123456&resize=125 

凡调整大小是通过将浏览器的宽度计算16,或申报单的#我希望每个一行。

我不确定使用这种方法,因为如果分辨率很低,我不希望div看起来很小。

其他建议?使用CSS或JavaScript可以做得更好吗? The

+4

CSS/JavaScript一定会给你立竿见影的效果。每次调整浏览器大小时,PHP都需要对服务器进行一次往返访问。 – Sampson 2011-06-03 16:24:16

+1

PHP是服务器端,而不是客户端。 PHP永远不会知道屏幕分辨率,我认为你在这种情况下寻找CSS/JavaScript的onresize事件。 – 2011-06-03 16:24:28

+2

首先:php无法访问客户端屏幕大小&这可以通过单独的css来完成 – 2011-06-03 16:26:04

回答

2

我不明白为什么你需要的任何语言的任何脚本?

如果您将每个div设置为左宽度为6%,那么无论屏幕大小如何调整,16个div都将占用宽度的96%。你可以用4%的保证金将它们包裹在另一个div中,以处理剩下的4%。

+0

但我仍然需要调整背景图片的大小 – Alex 2011-06-03 16:35:57

+1

@Alex在css3中有一个名为'background-size'的属性,您也可以将其设置为百分比。因此,如果每个div的“背景大小:100%”都比无论大小如何,背景都适合。虽然不适用于旧版浏览器。 – 2011-06-03 16:37:48

+0

但是,IE6不能正确解释边距和填充,所以在编写CSS代码时必须考虑这一点。 – mc10 2011-06-03 17:15:12

0

您可以单独在CSS中执行此操作。只需将div的宽度设置为6.25%(100/16),然后为该最小宽度设置最小宽度。

http://jsbin.com/ozuxa4

+0

背景图像是固定大小,所以我需要调整大小。 – Alex 2011-06-03 16:36:41

+0

如果您设置图像宽度/高度的百分比,当屏幕被调整大小时,它们将自动调整大小。您只需将其设置为百分比而不是特定的数字。 – jefffan24 2011-06-03 16:55:07