2011-11-26 33 views
7

Phương pháp hay nhất để phát triển bố cục là gì? Là tốt hơn để hạn chế divs? Tôi đã xem xét thông qua html/css của một số trang web phổ biến và tất cả họ dường như có divs trong divs. Ví dụ: div cho toàn bộ trang, div cho thanh trên cùng, div trong thanh trên cùng của biểu tượng, thanh tìm kiếm, v.v.Bố cục với div ... bạn có thể có quá nhiều không?

Đây có phải là phương pháp hay không? Tôi cho rằng nó dễ dàng hơn để định vị tất cả các div một cách chính xác và hơn là đặt các phần tử cần thiết trong các div. Đó là những gì tôi đã làm điều này đến nay nhưng muốn chắc chắn rằng tôi đang học cách tiếp cận chính xác.

Bất kỳ trợ giúp nào về điều này đều được đánh giá cao. Cảm ơn!

+0

Tôi đọc điều này nhanh hơn hôm nay và đã nghiên cứu thêm về 'divitis', đã xem qua bài viết này và đáng đọc! http://www.yourinspirationweb.com/en/why-tables-and-divitis-make-your-site-inaccessible/#comment-8130 – Dan

Trả lời

11

Sử dụng <div> s khi bạn cần divide (đó là những gì div s được cho là được sử dụng cho) các phần của trang của bạn với nhau. Đầu trang/chân trang từ nội dung chẳng hạn hoặc từng bài đăng trên blog.
Tuy nhiên, bạn không nên sử dụng chúng khi ngữ nghĩa thành phần khác có ý nghĩa.

Nếu lưu trữ trên blog được đề cập trước đây chỉ hiển thị bản tóm tắt hai dòng của mỗi bài đăng trong lưu trữ, danh sách có thứ tự có ý nghĩa hơn khi bạn xác định danh sách các mục theo thứ tự. Các yếu tố <li> cũng là các phần tử khối và có thể được tạo kiểu theo cách giống hệt nhau.

Đôi khi, sẽ có ý nghĩa khi có các thẻ <div> lồng nhau và đôi khi bạn không nên.
Là một thử nghiệm cơ bản, hãy tưởng tượng trang của bạn đang được phân tích bởi người đọc cho người dùng khiếm thị. Nó cần phải biết những gì có trong mỗi nút của tài liệu để nó có thể thông báo nó đúng cách. Nó không quan tâm những gì CSS trực quan của bạn cần, nó chỉ muốn phân tích nó thành lời nói một cách chính xác nhất có thể.

điểm cơ bản cần nhớ:

  • Viết HTML của bạn chủ yếu cho các cấu trúc không hình ảnh
  • Người xem trang web của bạn có thể không được sử dụng CSS của bạn
  • Người xem trang web của bạn có thể không được sử dụng một trình duyệt web thông thường
  • Bạn luôn có thể tinh chỉnh cấu trúc của mình nếu CSS không hoạt động, cung cấp nó vẫn giống nhau về mặt ngữ nghĩa.
+0

Cảm ơn thông tin đó. Nó rất hữu ích. Dường như div trong divs có thể hữu ích về cấu trúc sau đó. Tuy nhiên, nó có vượt quá những gì tôi thấy Google và Facebook đang làm với html của họ không? Ví dụ, bạn đi vào một trong các tiêu đề html của chúng (ví dụ lấy FB) và bạn sẽ thấy một ID div cụ thể cho biểu tượng, thanh tìm kiếm, biểu tượng bên trái, biểu tượng mặt phải, v.v. cấu trúc tốt hơn này? Thay vì có tất cả các mục này được đặt trong div tiêu đề một? – jstacks

+1

Google và Facebook cần phải tuân thủ mọi phổ biến của trình duyệt web mà bất kỳ ai cũng có thể sử dụng, bao gồm cả IE6 của nhà phát triển web. Do đó, họ phải đóng gói một lượng lớn các hacks cụ thể của trình duyệt vào các trang của họ để có hiển thị nhất quán, hay còn gọi là 'tinh chỉnh' mà tôi đã đề cập. Bạn có thể không cần phải làm điều này loại như IE6 phần lớn là ignorable những ngày này. Nó phụ thuộc vào ai sẽ sử dụng trang web của bạn. –

3

A <div> theo định nghĩa là một yếu tố vô nghĩa, vì vậy không quan trọng bạn có bao nhiêu phần tử.

Tuy nhiên, bạn cần có <div> giây trên trang của mình miễn là chúng có ý nghĩa và không sử dụng chúng nếu có các yếu tố phù hợp hơn cho công việc (ngữ nghĩa).

<div>This is a paragraph of text</div> 

thực sự cần được

<p>This is a paragraph of text</p> 

Và như vậy.

+0

Điều đó có ý nghĩa. Khi có thể, tôi sẽ đảm bảo sử dụng ngôn ngữ ngữ nghĩa để chỉ định một cái gì đó thay vì div, vì div nên được sử dụng để cấu trúc. Tôi đoán tôi muốn đảm bảo rằng tôi không "quá cấu trúc" (tham khảo nhận xét của tôi về câu trả lời khác ở trên về việc xem FB, Google và nhiều trang web khác sử dụng div trong divs để cấu trúc nội dung của họ, tôi muốn tạo chắc chắn rằng đó là cách tiếp cận thích hợp). – jstacks

2

Có tên cho loại "mã mùi" này trong HTML: Divitis.

Bạn nên mở rộng kiến ​​thức về ý nghĩa ngữ nghĩa cho các thẻ trong HTML. Bạn có thể bắt đầu bằng cách đọc this article, nhưng nó tập trung nhiều hơn vào html4.01 và xhtml. Có một số thẻ mới trong HTML5 và một số thay đổi về ý nghĩa ngữ nghĩa cho các thẻ HTML4 hiện có.

0

Câu hỏi lớn nói chung là có sử dụng div hoặc bảng hay không. Bàn tạo ra rất nhiều đau đầu, một số trong đó bạn không thể làm việc xung quanh. Nhưng divs cũng có thể gặp vấn đề của họ.

Bất kể bạn sử dụng cái gì, mức độ làm tổ thực sự có thể làm cho trang khó hiểu. Vì vậy, bạn nên ủng hộ các cấp độ làm tổ ít nhất cần thiết. Đồng thời, cố gắng để không làm tổ cũng có thể làm cho HTML khó hiểu.

+3

Tôi nghĩ rằng rất ít nhà thiết kế web hiện đại có thẩm quyền sử dụng bảng cho bất cứ điều gì ngoài dữ liệu bảng. Không chính xác khi đặt ra sự phân đôi này. – bookcasey

+0

Tôi làm việc trong một lĩnh vực liên quan đến việc phân tích và thay đổi HTML cho các trang web của khách hàng, nhiều người trong số đó là các nhà bán lẻ lớn. Tôi gặp phải việc lạm dụng các bảng thường xuyên. – dnuttle

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