Javascript 方法使布局与窗口大小调整和字体大小调整兼容

Javascript 方法使布局与窗口大小调整和字体大小调整兼容,javascript,html,css,standards,Javascript,Html,Css,Standards,是否有良好的咨询/最佳实践手册等,其中概述了通过以下两种方式使页面布局流畅的方法: a) 在调整窗口大小的情况下,布局应该是健壮的 b) 布局应该无缝地处理用户提交的字体大小调整 每次我设计页面布局时,我都会使用不同的特殊方法,使页面在上述a)和b)两种情况下都具有健壮性。我以前使用过的一些方法有: 处理主体onresize() 在%中声明所有值(当必须在px中定义图像尺寸时,这会被卡住) 在-10000像素处放置一个div,并每隔一段时间对其进行轮询以检查字体大小调整(gasp!) 我发现

是否有良好的咨询/最佳实践手册等,其中概述了通过以下两种方式使页面布局流畅的方法:

a) 在调整窗口大小的情况下,布局应该是健壮的

b) 布局应该无缝地处理用户提交的字体大小调整

每次我设计页面布局时,我都会使用不同的特殊方法,使页面在上述a)和b)两种情况下都具有健壮性。我以前使用过的一些方法有:

  • 处理主体onresize()
  • 在%中声明所有值(当必须在px中定义图像尺寸时,这会被卡住)
  • 在-10000像素处放置一个div,并每隔一段时间对其进行轮询以检查字体大小调整(gasp!)

我发现以上这些方法非常糟糕,我很想找到解决这个问题的标准、健壮的方法。我相信这里的其他人每天都会面对(并解决)这些问题。

设计网页就像为一大群人做饭。总会有人不喜欢你的烹饪。你需要做的是以一种能让大多数访问者感到高兴的方式进行设计

设计网页就像为一大群人做饭。总会有人不喜欢你的烹饪。你需要做的是以一种能让大多数访问者感到高兴的方式进行设计

所有液体页面将混合使用视口相对大小和固定像素大小(如您所述,图像和其他必须调整大小以匹配图像的元素)。对于某些图元,您可能还需要固定的em大小

因此,一种常见的方法是,比如说,在右边绝对定位一个固定宽度的边栏,并给主体文本一个与该宽度相等的右边距。有许多方法可以实现这些类型的布局 — 请参阅关于“液体CSS列”的没完没了的帖子


在最复杂的情况下,CSS本身无法提供所需的相对和绝对的组合,因此总是有表。不理想,但通常比依赖JavaScript的布局要好。

所有液体页面都将混合使用视口相对大小和固定像素大小(如您所述,图像和其他必须调整大小以匹配图像的元素)。对于某些图元,您可能还需要固定的em大小

因此,一种常见的方法是,比如说,在右边绝对定位一个固定宽度的边栏,并给主体文本一个与该宽度相等的右边距。有许多方法可以实现这些类型的布局 — 请参阅关于“液体CSS列”的没完没了的帖子


在最复杂的情况下,CSS本身无法提供所需的相对和绝对的组合,因此总是有表。不太理想,但通常比依赖JavaScript的布局要好。

如果您正在寻找更具体的布局解决方案,我想说现在的一种常见做法是使用预构建的网格布局。有和,它们都随用户的字体大小而增大。YUI也有一个。没有JS,没有屏幕外的东西


但我也看到了用户从浏览器中缩放文本的引用。这已经不是过去的问题了。过去,你必须相当小心——如果你把文本放在%中,它会伸缩,但在某些浏览器中px不会。现在,所有浏览器都将页面作为一个整体进行放大,包括文本和图像——两者成比例。随着图像的增长,文本大小的调整就像是在“放大”页面一样。您可以简单地在“全尺寸”模式下以px(或%或pt或任何形式)测量文本和列宽,浏览器可以很好地进行调整。

如果您正在寻找更具体的布局解决方案,我想说,现在的一种常见做法是使用预构建的网格布局。有和,它们都随用户的字体大小而增大。YUI也有一个。没有JS,没有屏幕外的东西


但我也看到了用户从浏览器中缩放文本的引用。这已经不是过去的问题了。过去,你必须相当小心——如果你把文本放在%中,它会伸缩,但在某些浏览器中px不会。现在,所有浏览器都将页面作为一个整体进行放大,包括文本和图像——两者成比例。随着图像的增长,文本大小的调整就像是在“放大”页面一样。您可以简单地在“全尺寸”模式下以px(或%或pt或其他任何形式)测量文本和列宽,浏览器可以很好地调整。

确实让我饿了。:-)但总的来说,没有办法取悦所有人。考虑一下:如果我在我的桌面上最大化我的浏览器,它将是38 40x1200!你想支持这么广泛的东西吗?不过,确实让我饿了。:-)但总的来说,没有办法取悦所有人。考虑一下:如果我在我的桌面上最大化我的浏览器,它将是38 40x1200!你想支持这么广泛的东西吗?