2010-03-10 33 views
19

Bit của một câu hỏi kỳ lạ, nhưng không ai biết giới hạn thực tế về độ dài của trang web và tại sao đó là giới hạn?Trang web có thể dài bao lâu?

Là một thử nghiệm, tôi đang sử dụng HTML và CSS để tạo trang web đại diện cho hành trình theo thang tỷ lệ 1: 1. Tôi có một danh sách ul của các dấu hiệu dọc theo cách mà tôi đã tách ra với các lề lớn trong css. Tuy nhiên, biên độ dài nhất mà tôi có thể bắt đầu làm việc cho đến nay là

top-margin:100000cm; 

Vì có 43 hạng mục danh sách, mà tương đương với 4,300,000cm, hoặc 43km. Có ai biết lý do tại sao nó đạt đến giới hạn xung quanh nhãn hiệu này không, hay làm thế nào tôi có thể đi lâu hơn? Tôi đang sử dụng Safari để thử nghiệm hiện tại.

+1

Eh! Thật kỳ quái! Bản thân nhu cầu là kỳ quái! – Kangkan

+4

Bạn đã thử với các trình duyệt, hệ điều hành, máy tính khác nhau chưa? Giới hạn có thể đến từ việc triển khai html/css của trình duyệt. – Sejanus

+1

Tôi biết, nhưng không có hại gì khi biết giới hạn thực sự của mọi thứ chắc chắn –

Trả lời

3

Dường như đơn giản là giá trị tối đa mà thuộc tính margin-top có thể được đặt thành. Tôi đã thử các giá trị lên đến 400.000cm với 100 yếu tố và trang tải chúng đều ổn. Tôi thậm chí đã cố gắng tăng lên đến 1000 yếu tố để xem nếu số lượng bị ảnh hưởng bởi thời gian tải, nhưng không có gì. Nó dường như là một con số chính xác ở đâu đó giữa 400.000 và 500.000 mà nó cắt giảm tại và rút ngắn quá khứ giá trị đó.

Mã tôi đã sử dụng (mà làm việc, cho thấy đầy đủ):

<?php 

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

?> 
+0

phải vì vậy nó không phải là quá nhiều độ dài của trang gây ra vấn đề, thay vì chiều dài của các lề? –

+1

Tôi đã giới hạn nó xuống một giá trị ở đâu đó giữa 472.500 và 475.000, ít nhất là cho trình duyệt và hệ điều hành của tôi (nếu chúng khác nhau theo cách đó). Tôi không thể nghĩ ra bất kỳ giá trị hoặc số chung nào nằm giữa hai giá trị đó có thể. – animuson

+0

không quan tâm, bạn đang sử dụng trình duyệt/os nào? –

4

Chỉ cần đoán nhưng 2147483647; Giá trị int tối đa (có thể là pixel)

Điều thú vị là IE9 dường như đi lên đến 214748.3px và khi tôi đi cao hơn, nó đi vào âm.

+0

bạn có nghĩ rằng trang có thể chỉ dài 2137383647px hay các phép đo trong CSS chỉ có thể là số tiền đó? –

+1

Vâng, 2147483647 chỉ là một số. Bạn đang nói về cái gì? –

+0

Tôi đang sử dụng cm trong biểu định kiểu hiện tại –

6

Không có giới hạn, theo bất kỳ thông số HTML/XHTML nào, vì vậy đây chỉ là giới hạn thực tế của trình duyệt bạn đang truy cập. Thời gian một trang web có thể giống như yêu cầu một cuốn sách có thể tồn tại trong bao lâu.

2

Điều này sẽ tùy thuộc vào trình duyệt. Không nên có bất kỳ giới hạn rõ ràng nào về độ dài của tệp HTML. Độ dài "thuần túy", tính bằng pixel, không được có bất kỳ giới hạn xác định rõ ràng nào. Chỉ, càng có nhiều yếu tố trong trang, càng có nhiều trình duyệt phải làm, và càng sớm nó có thể hết bộ nhớ. Bộ nhớ là về giới hạn duy nhất có.

+0

Vậy bộ nhớ của bạn có phải là giới hạn chính của tôi không? Bằng cách đó bạn có nghĩa là RAM? Tôi thấy rằng Safari có thể xử lý gần như gấp đôi độ dài mà Firefox có thể –

+1

@Chris Có, RAM, hoặc thường hơn: tài nguyên máy tính. Và như tôi đã nói, nó phụ thuộc vào trình duyệt. Các trình duyệt khác nhau xử lý tài nguyên máy tính khác nhau. – deceze

+2

@Chris: Nếu đó là một giới hạn cứng dựa trên kích thước của một biến, âm thanh "gần như gấp đôi" có khả năng là một tạo phẩm của Safari lưu trữ vị trí thẳng đứng với một dấu int và Firefox bằng int đã ký. –

1

Bên cạnh giá trị int tối đa có thể, bạn cần xem xét thời gian tải cho trang. Nếu trang web của bạn mất nhiều thời gian hơn một vài giây để hiển thị bất kỳ nội dung thú vị nào, thì bạn sẽ mất người duyệt nội dung của mình. Đó là số liệu có ý nghĩa hơn số liệu tỷ lệ 1: 1.

+0

Điểm tốt, một chút tắt chủ đề nhưng xứng đáng với upvote của tôi tất cả như nhau. – Ricket

+0

có điều này là tắt chủ đề bởi vì câu hỏi chỉ cần cố gắng tìm hiểu kích thước tối đa nó không nhớ vấn đề hiệu suất là gì. – erasmus

2

Không có giới hạn. Ngay cả về kích thước của số nguyên, bạn có thể tạo divs trong divs khác và có tất cả chúng giá trị lớn nhất của giá trị margin để trang của bạn sẽ không bị giới hạn.

+0

Ok, nhưng sau đó giá trị ký quỹ lớn nhất là gì? –

+0

không quan trọng. bất cứ điều gì, cuối cùng, trang web của bạn sẽ không có kích thước giới hạn bởi vì bạn có thể tạo một div khác trong div cũ của bạn với giá trị ký quỹ đó. – erasmus

+0

tôi đoán có thể có một giới hạn đối với số lượng div trong div, eh :)? chúng tôi sẽ không đến đó một lúc nào hết. – Halo

3

18,939 cây số, để được chính xác: http://worlds-highest-website.com/

+0

Hmm bạn có biết gì về những kẻ đã làm điều này không? Họ đưa ra một tuyên bố thú vị rằng "các trình duyệt dựa trên Gecko như Firefox cho thấy một hành vi thú vị khi bạn muốn làm cho trang web cao hơn (chính xác là 18.939583 km, nghĩa là" thu hẹp "hoặc" thu gọn "container chính của nó", mà tôi muốn tìm hiểu thêm về –

+0

Đến trên một nhận xét trong mã nguồn của họ nói rằng "Thực ra, phần tử" div "cao nhất của thế giới" ... có thể là 18.939 là giới hạn cho một phần tử đơn lẻ –

+0

I giả sử nó là 18.939.583 tức là đo bằng cm. km hoặc m không phải là đơn vị trang web hợp lệ. – DisgruntledGoat

2
  1. Đó là một kiến ​​trúc vấn đề trình duyệt/bộ nhớ/os.
  2. Đo lường mọi thứ nhưng pixel sẽ không hữu ích trừ khi bạn đang tham chiếu đến kích thước của trang web được in trên kích thước, hướng và tỷ lệ giấy cụ thể. Màn hình có kích thước khác nhau và DPI.
Các vấn đề liên quan