2011-08-24 52 views
7

Tôi có một div float: left, và sau div là phần còn lại của trang. Để giữ cho phần còn lại của trang dưới div, tôi trước tiên phải đặt mộtbr clear = "all" vs css solution

<br clear="all"> 

Q: Làm thế nào để xác định vị trí phần còn lại của trang web bên dưới div nổi? Tôi nghĩ rằng tôi cần phải bọc phần còn lại của trang trong một div mới và nổi nó là tốt. Nhưng tôi có xu hướng tránh xa nổi nhiều nhất có thể.

+0

Bạn có thể fiddle nó/đăng một ví dụ về những gì bạn có ý nghĩa? – JonH

+1

HTML trông như thế nào? – jeroen

+1

Trong html5, thẻ br không có thuộc tính như vậy. – Roland

Trả lời

6

Trên mục kế tiếp, bạn có thể sử dụng phong cách clear:left.

Một cách khác là đặt kiểu overflow trên phần tử gốc của phần tử thả nổi để làm cho nó chứa nó, như overflow:hidden.

+1

Đảm bảo rằng nếu bạn sử dụng 'overflow: hidden' mà phần tử không có tập hợp chiều cao rõ ràng (như' height: 200px') làm như vậy sẽ ẩn nội dung khỏi người dùng. – steveax

2

Tôi thường quấn một div quanh div nổi, với phong cách overflow: auto

16

sau div bạn đã thả nổi. thêm mã sau đây.

<div style='clear:both'></div> 

sau đó tiếp tục phần còn lại của trang như bình thường.

+0

Tôi đã sử dụng rất nhiều, nhưng không thấy tại sao nó tốt hơn là sử dụng thẻ br thay thế. Ngoài ra, VisualStudio không gắn cờ một lỗi nếu bạn thực hiện một (ngẫu nhiên) div tự đóng, nhưng tôi đã có thực sự ghê tởm javascript misbehavior về điều đó. Vì vậy, giải pháp này là một nguồn cho lỗi. – Roland

0

Tạo một lớp và chèn vào CSS:

br.cb { clear: both; } 

Chèn vào HTML:

<br class="cb"> 

này đã làm cho nó qua W3 đánh dấu và CSS validator.

+0

+1 Tôi cần điều này ở rất nhiều nơi, và nó ngắn hơn nhiều, và rõ ràng hơn, với một thẻ div, mà không phải là tự đóng. – Roland