a) 浏览器将什么视为页面?
假设显示器的分辨率为 800*600,我们将浏览器展开以占据整个显示器表面区域 A1。如果我们将浏览器的大小调整到 A1 区域(A1 < A),这样它仍然可以捕获整个 html 文档(因此我们不必滚动),那么浏览器会将 A1 视为整个页面。 但是如果我们再次将浏览器调整到一个区域A2,需要滚动条才能查看整个html文档,那么页面的大小就大于显示的区域A2。
在这种情况下,浏览器将哪个区域视为整个页面——A 还是 A1?
b) 在什么情况下此信息可能很重要(也许在使用绝对或相对定位时或...)?
编辑:
Absolute positioning is relative to a containing block that provides a positioning context; by default, this is the document
a) 因此,如果绝对定位是相对于文档的,那么我们可以将文档的起点想象成一个二维坐标系,原点位于视口(viewport)的左上角(假设我们将浏览器滚动到顶部并滚动到最左边)?
b) 我假设浏览器将视口(viewport)的最右侧也视为文档的最右侧?!那么当viewport的宽度为800px时,document也有800px的宽度,但是当我们将viewport调整为400px时,document的宽度也是400px?换句话说,如果某个元素的宽度为 3000px,但如果视口(viewport)只有 400px 的宽度,那么 400px 也是文档的宽度,而不管元素的宽度是否为 3000 像素?
最佳答案
根据浏览器的页面是 <body>
之间的所有内容和 </body>
标签(从语义上讲——一些浏览器可以容忍 <body>
标签之外的内容)。显示区域无关紧要,不起任何作用(固定位置元素除外)。
因此,为了回答您的问题,页面始终为 A。只有当您的元素具有固定定位时,A1 才会出现。在固定定位中,元素始终相对于 A1 定位,即使在滚动/调整大小后也是如此。
关于html - 浏览器将什么视为页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1428621/