2011-08-08 39 views
6

Tôi đã thiết lập một số div cho bố cục của mình, div chính và div menu.Tràn: ẩn lộn xộn với lề trong Chrome và Safari

Chúng trông hoàn hảo trong Firefox, nhưng vì một số lý do, Chrome và Safari bị rối tung lên.

Vì lý do nào đó chiều rộng của div sẽ nhỏ hơn khi overflow:hidden; được thêm vào CSS. Tôi cần overflow:hidden; mặc dù, bởi vì tôi có phao khác bên trong div chính. Bạn có thể xem ví dụ ở đây:

http://jsfiddle.net/kR7rs/2/

Nó xuất hiện tốt trong Firefox, nhưng trong Safari và Chrome, có một lề ở phía bên phải của div là tốt.

Trả lời

3

Loại bỏ lề từ main dường như để sửa chữa nó:

http://jsfiddle.net/kR7rs/3/

Những gì tôi nghĩ rằng nó xảy ra là khi overflow:hidden được thiết lập, toàn bộ phần tử kết thúc tốt đẹp xung quanh các phao nổi thay vì dòng chữ trong div. Vì vậy, điều này cho kết quả trong fiddle. Sau đó, nếu bạn thiết lập một lề trên nó cũng có, chiều rộng được giảm hơn nữa bởi padding bên trái.

Loại có vẻ như là lỗi.

(Đừng có FF ngay bây giờ để kiểm tra nó và xem nếu nó phá vỡ nó cho FF.)

+0

Vì vậy, overflow: hidden về cơ bản làm cho một yếu tố khối ép rộng như nó có thể mà không tràn cho bất kỳ phao nổi trên cùng một dòng? Giải pháp của bạn dường như đang hoạt động .. nó dường như quá kỳ quặc để có một div trên cùng một dòng như một phao không có bất kỳ lề nào – Rob

+0

Tôi không nghĩ rằng tôi nhận ra rằng sẽ làm điều đó, nhưng nó có vẻ là trường hợp. –

0

Di chuyển overflow:hidden đến #wrapper. Điều đó sửa chữa nó, nhưng không giải thích tại sao.

+0

Tôi muốn chắc chắn kết thúc tốt đẹp div chính của tôi xung quanh nổi bên trong nó, mặc dù. Đó là lý do tại sao tôi đặt 'overflow: hidden' trong đó – Rob

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