2013-02-27 29 views
5

Để trích dẫn spec: HộpSự khác biệt giữa một hộp cấp khối và hộp cấp khối chính là gì?

Block cấp là hộp mà tham gia vào một khối định dạng ngữ cảnh. Mỗi phần tử cấp khối tạo ra một hộp chính cấp có chứa các hộp con cháu và nội dung được tạo ra và cũng là hộp có liên quan đến bất kỳ lược đồ định vị nào. Một số yếu tố mức khối có thể tạo thêm các hộp ngoài hộp chính: các yếu tố 'danh sách mục'. Các hộp bổ sung này được đặt với sự tôn trọng vào hộp chính.

Về bản chất chúng có giống nhau không?

+0

Cả hai đều giống nhau –

+0

Bạn nên sửa đổi câu hỏi của mình và thêm điều này :: bạn có nghĩa là các hộp khối có phần tử/nút tương ứng trong cây DOM không? –

Trả lời

9

Hộp chính cấp khối là hộp cấp khối được tạo bởi yếu tố nhất định bị ảnh hưởng trực tiếp bởi quy tắc kiểu áp dụng cho phần tử.

Hầu hết các yếu tố chỉ tạo một hộp. Đối với các yếu tố này, chúng về cơ bản giống nhau, vì không có hộp nào khác có liên quan.

Tuy nhiên, một phần tử có thể tạo nhiều hơn một hộp tùy thuộc vào loại hiển thị của nó, chẳng hạn như list item; khi bạn khai báo kiểu cho một phần tử như vậy, các kiểu thường được áp dụng cho hộp chính và bất kỳ hộp bổ sung nào được tạo sẽ được hiển thị tương ứng.

Ví dụ: mục danh sách có hộp đánh dấu ngoài hộp chính; nếu bạn chỉ định list-style-position: outside, điểm đánh dấu danh sách sẽ được đặt bên ngoài ranh giới của hộp chính nhưng nền và đường viền của hộp chính sẽ không bị ảnh hưởng. Lưu ý rằng hộp đánh dấu vẫn là hậu duệ của hộp chính, vì vậy các thuộc tính có thể kế thừa như color sẽ áp dụng cho điểm đánh dấu (đây là lý do tại sao color: red chuyển cả văn bản và dấu đầu dòng màu đỏ của nó).

Hầu hết các yếu tố khối cấp khác, bao gồm display: blocknhưng trừ display: table (xem section 17.4), chỉ đơn giản là sẽ tạo ra một hộp khối chính cho nội dung của họ và không có gì khác, làm cho chúng thực chất chỉ là "hộp khối", nhưng chỉ dành cho những các yếu tố.

Nói cách khác, tất cả các hộp cấp khối chính là các hộp cấp khối, nhưng không phải tất cả các hộp cấp khối là chính, ví dụ: anonymous block boxes. Ngoài ra, các yếu tố nội tuyến, bao gồm các khối nội tuyến, không tự tạo ra bất kỳ hộp chính nào, cũng như không có một thứ như một hộp nội tuyến chính.

+1

Cảm ơn bạn đã giải thích. Tôi giả sử, nói cách khác, các hộp ẩn danh không thể là các hộp chính. Bằng cách này, bằng cách nói * Hộp khối chính là hộp khối bị ảnh hưởng trực tiếp bởi quy tắc kiểu *, bạn có nghĩa là các hộp khối có phần tử/nút tương ứng trong cây DOM không? – h2o

+0

@Bill Jobs: Vâng, đúng vậy. – BoltClock

0

khối chính về cơ bản những gì 'đánh dấu' đại diện cho mục đích cơ học, một số yếu tố 'chính' cần các yếu tố khác được hiển thị chính xác, đó là một số loại 'hiện vật' cần thiết bởi trình duyệt để hiển thị thêm (a thanh cuộn từ một vùng văn bản chẳng hạn)

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