2013-10-24 12 views
6

Tại sao tất cả * trình duyệt có phong cách một lề có kích thước tùy ý trên phần tử <body> của tất cả các trang web? Tôi không ngạc nhiên bởi điều này, vì tôi đã làm cho các trang web trong nhiều năm nay, nhưng tôi chỉ giả định nó là một phần của spec, trong cùng một cách văn bản bên trong <strong> nên được in đậm. Tuy nhiên, như đã thấy trong HTML5, HTML 4.01, HTML 4.0, HTML 3.2 và thậm chí HTML 2.0the RFC Definition, các kiểu mặc định thậm chí không bao giờ được đề cập!Tại sao các trình duyệt lại phong cách một lề được xác định trước vào tất cả các trang web?

tôi không thể tìm thấy bất kỳ định nghĩa về HTML trước 2.0, được phát hành trên toàn thế giới vào năm 1995, vì vậy tại sao tất cả các trình duyệt * chèn lề rất cụ thể 8px trên tất cả các trang web, đặc biệt là trong những ngày này, nơi mọi trang web loại bỏ nó trong vài dòng đầu tiên của CSS (ngay cả các HTML 4.01 spec's stylesheet hiện điều này) hoặc một stylesheet bình thường/thiết lập lại? Chắc chắn, người ta có thể lập luận rằng các trang web cổ đại như đã liệt kê ở trên HTML 3.2 spec dựa vào điều này, nhưng họ thực sự không nhìn xấu mà không có lợi nhuận (hãy thử gỡ bỏ nó với thanh tra trình duyệt của bạn).

* bởi "tất cả các trình duyệt", ý tôi là tất cả phiên bản của Chrome, Firefox, IE, Opera, và Safari, bao gồm cả các phiên bản đều liên quan lỗi thời, beta, alpha, và nightly, tính đến câu hỏi này.

+3

Câu hỏi hay. Tôi luôn tự hỏi mình về điều này ... –

Trả lời

5

Trình duyệt phải có hiển thị mặc định là một số loại (bản định kiểu tác giả không tồn tại khi HTML được giới thiệu lần đầu và vẫn là tùy chọn bổ sung ngày hôm nay).

Nếu không có lề/đệm trên phần thân/html thì văn bản sẽ chạy lên biên giới cửa sổ và thanh công cụ, nơi sẽ rất khó đọc (đây sẽ là lựa chọn không tốt cho hiển thị mặc định).

tại sao tất cả các trình duyệt sẽ chèn lề 8px rất cụ thể trên tất cả các trang web

"Nhưng có vẻ khác nhau trong Netscape" là một triệu chứng thông thường. Các trình duyệt đã sao chép kết xuất mặc định từ nhau để bù cho các tác giả viết các trang và chỉ nghĩ về một trình duyệt.

nơi mỗi trang web loại bỏ nó trong vài dòng đầu tiên của CSS

Không phải mọi trang web không. Đó là một thực tế phổ biến (nhưng không phổ quát) cho các trang web sẽ bao gồm một biểu định kiểu, nhưng không phải tất cả các trang web đều làm.

+0

Tôi thích cách thông tin và vô giá trị tất cả các điểm của bạn! Nó sẽ là tốt đẹp để xem một số ví dụ, mặc dù; Tôi hiếm khi, nếu có, hãy xem bất kỳ trang web nào vẫn được duy trì sử dụng lề. – Supuhstar

3

Style sheet bạn đề cập đến tại http://www.w3.org/StyleSheets/TR/W3C-REC loại bỏ bên lề nhưng cũng áp dụng một đệm cho cơ thể, di chuyển văn bản ra khỏi chrome trình duyệt để có thể đọc ..

trình duyệt phải có ít nhất một số phong cách mặc định của phần tử HTML để truyền đạt thứ bậc và cấu trúc.

Cập nhật: bạn có thể xem stylesheets user-agent ví dụ sau:

+0

Điều này chỉ ra rằng các trình duyệt thực hiện điều này vì "chúng phải", nhưng tôi muốn biết ai nói "chúng phải", và tại sao tất cả chúng đều đồng ý mặc định là 8px thay vì giả sử các nhà thiết kế web có thể tự thêm nó nếu họ cảm thấy cần nó . Cũng lưu ý rằng, StackOverflow, trong số nhiều trang web, quyết định rằng việc căn giữa trang là quan trọng hơn là cho nó đệm bên, và chỉ cần loại bỏ lề và đệm hoàn toàn. Bạn sẽ thấy điều này nếu bạn thay đổi kích thước cửa sổ này đủ nhỏ để sử dụng thanh cuộn ngang – Supuhstar

+1

Tôi sẽ tưởng tượng rằng điều này có thể đến từ Sir Tim Berners-Lee khi anh phát triển trình duyệt đầu tiên vào cuối năm 1990 và sau đó được lặp lại bởi Marc Andreessen trong 1993 với việc phát hành Mosaic/Netscape. Hãy nhớ rằng các trang ở giữa được thiết kế chứ không phải mặc định. Chúng tôi thiết kế và phát triển đưa ra ràng buộc đó trên trang web khi chúng tôi đặt chúng lại với nhau. Nguồn: http://en.wikipedia.org/wiki/Marc_Andreessen, http://en.wikipedia.org/wiki/HTML, http://en.wikipedia.org/wiki/Cascading_Style_Sheets –

1

Để thêm một chút để các các câu trả lời khác, Trình duyệt web đã được tiếp thị rất khác nhau trong những năm 90 so với ngày hôm nay, và chúng cũng bao gồm các thành phần khác nhau. Một thành phần như vậy được bao gồm trong bộ Netscape (hãy nhớ, tại thời điểm này, Netscape là con chó duy nhất trong thị trấn, và bạn phải mua nó) là một trình soạn thảo HTML có tên là Netscape Composer. Tôi sẽ tưởng tượng rằng khi Microsoft phát hành IE để cạnh tranh, họ có thể có một số tính năng tương tự, do đó sử dụng kiểu dáng mặc định của riêng mình (mặc dù tôi không nhớ nó là gì, tôi thậm chí không nghĩ đến việc phát triển trở lại sau đó). Dự đoán tốt nhất của tôi là các tính năng của trình chỉnh sửa HTML này đã đóng góp ít nhất một mức độ nào đó đối với các kiểu mặc định của các trình duyệt web khác nhau.

Các vấn đề liên quan