【问题标题】:How long can a webpage be?一个网页可以多长?
【发布时间】:2012-02-26 06:06:05
【问题描述】:

有点奇怪的问题,但有谁知道网页长度的实际限制,以及为什么是限制?

作为一项实验,我正在使用 HTML 和 CSS 制作一个以 1:1 的比例代表旅程的网站。我有一个 ul 标记列表,沿途我在 css 中以较大的边距分隔。但是,到目前为止我可以工作的最长边距是

top-margin:100000cm;

由于有 43 个列表项,因此等于 4,300,000 厘米或 43 公里。有谁知道为什么它会在这个标记附近达到极限,或者我如何才能让它更长?我目前正在使用 Safari 进行测试。

【问题讨论】:

  • 诶!真的很奇怪!需求本身很奇怪!
  • 你试过不同的浏览器、操作系统、电脑吗?限制可能来自浏览器对 html/css 的实现。
  • 我知道,但肯定知道事物的真正界限并没有什么坏处
  • 我猜,这一定是学校项目……还是毒品?
  • 是的,已经在 Safari 和 Firefox 中尝试过,并且使用 Safari 获得了更好的结果,所以它必须是一个依赖于浏览器的东西

标签: html css


【解决方案1】:

根据任何 HTML/XHTML 规范,没有限制,因此这只是您所使用的浏览器的实际限制。一个网页能有多长,就等于问一本书能有多长。

【讨论】:

    【解决方案2】:

    这似乎只是 margin-top 属性可以设置的最大值。我已经尝试了高达 400,000cm 的 100 个元素的值,并且页面加载它们都很好。我什至尝试将其增加到 1000 个元素,以查看该数字是否受加载时间的影响,但没有任何影响。它似乎确实是一个介于 400,000 和 500,000 之间的确切数字,它会在该值处截断并缩短到该值以上。

    我使用的代码(有效,完整显示):

    <?php
    
    print "<ul>";
    for ($i = 1; $i <= 1000; $i++) print "<li style=\"margin-top: 400000cm;\">{$i}</li>";
    print "</ul>";
    die();
    
    ?>
    

    【讨论】:

    • 是的,所以导致问题的不是页面长度,而是页边距的长度?
    • 我已将其限制在 472,500 和 475,000 之间的某个值,至少对于我的浏览器和操作系统而言(如果它们不同的话)。我想不出这两个值之间的任何共同值或数字。
    • 出于兴趣,您使用的是什么浏览器/操作系统?
    • 我在 Windows 7 上使用 Firefox。我刚刚在 IE 和 Chrome 中进行了测试。当值变得太大并在 944 处中断时,IE 有一个模糊的滚动条,但我不确定它是否会死在那里,或者是因为滚动条模糊。在 chrome 中,我不知道它在哪里停止,因为它在它出现的末尾有一堆额外的空白,它开始处理一个元素并将其切断。也许不同的浏览器有不同的截止设置。 Firefox 看起来是一个数字,IE 看起来是一个大小,Chrome 看起来是一个高度。
    • 那么它是一个浏览器的东西。谢谢!
    【解决方案3】:

    只是猜测,但 2147483647;最大 int 值(可能是像素)

    有趣的是,虽然 IE9 似乎上升到 214748.3px,但当我更高时,它变成了负数。

    【讨论】:

    • 你认为这意味着页面只能是 2137383647px 长,还是 CSS 中的尺寸只能是这个数量?
    • 是的,2147483647 只是一个数字。你说的是什么单位?
    • 我目前在样式表中使用 cm
    • 一切都必须转换为像素才能显示,所以这就是我期望的限制。
    • 32 位有符号整数的范围为 -2147483646 - 2147483647。这就是评论所指的内容,可能是您遇到的人为限制。
    【解决方案4】:

    18.939 公里,确切地说: http://worlds-highest-website.com/

    【讨论】:

    • 嗯,你知道制作这个的人吗?他们提出了一个有趣的说法,“当你想让网站变得更高(即超过 18.939583 公里)时,像 Firefox 这样的基于 Gecko 的浏览器会表现出一种有趣的行为,即通过“缩小”或“折叠”它的主容器”,我想了解更多关于
    • 在他们的源代码中看到一条注释,上面写着“实际上,世界上最高的“div”元素”......可能是 18.939 是单个元素的限制
    • 我假设它是 18,939,583,即以厘米为单位。 km 或 m 不是有效的网页单位。
    【解决方案5】:

    这取决于浏览器。 HTML 文件的长度不应该有任何明确的限制。以像素为单位的纯“长度”也不应该有任何明确定义的限制。只是,页面中的元素越多,浏览器要做的事情就越多,它可能越快耗尽内存。内存是唯一的限制。

    【讨论】:

    • 所以你的记忆是我的主要限制?你的意思是RAM吗?我发现 Safari 能够处理的长度几乎是 Firefox 的两倍
    • @Chris 是的,RAM,或更一般地说:计算机资源。正如我所说,这取决于浏览器。不同的浏览器处理计算机资源的方式不同。
    • @Chris:如果它是基于变量大小的硬限制,那么“几乎双倍”听起来可能是 Safari 使用无符号整数存储垂直位置而 Firefox 使用有符号整数存储的工件.
    【解决方案6】:

    没有限制。即使是整数的大小,你也可以在其他的div中创建div,并让它们都具有最大的margin值,这样你的页面就不会被限制了。

    【讨论】:

    • 好的,那么最大的保证金价值是多少?
    • 这并不重要。不管它是什么,最后,您的网页不会有大小限制,因为您可以在旧 div 中使用该边距值创建另一个 div。
    • 我猜一个 div 中的 div 数量可能有限制,嗯:)?反正我们暂时不会去那里
    【解决方案7】:
    1. 这是浏览器/内存/操作系统架构问题。
    2. 除非您指的是在特定纸张尺寸、方向和比例上打印的网页的尺寸,否则以像素以外的任何单位测量它都不会很有用。屏幕有不同的尺寸和 DPI。

    【讨论】:

      【解决方案8】:

      除了可能的最大 int 值之外,您还需要考虑页面的加载时间。如果您的网页显示任何有趣内容的时间超过几秒钟,那么您将失去浏览您内容的人。这是一个比 1:1 比例指标更有意义的指标。

      【讨论】:

      • 好点,有点离题,但同样值得我点赞。
      • 是的,这是题外话,因为问题只是尝试了解它不介意性能问题的最大尺寸。
      猜你喜欢
      • 1970-01-01
      • 2019-04-20
      • 2019-02-03
      • 2013-12-01
      • 2018-09-27
      • 2014-09-15
      • 2013-04-26
      • 1970-01-01
      • 2011-02-27
      相关资源
      最近更新 更多