2010-11-16 34 views
5

Tôi có câu hỏi liên quan đến CSS trong Firefox.Firefox thêm chiều rộng thêm với đệm

Nếu tôi đặt chiều rộng của div thả nổi - cho phép nói 200px - đặt padding-left thành 10px trong Firefox, hãy thêm 10px đó vào chiều rộng. Trong IE không phải như vậy.

Bạn có thể làm gì để ngăn Firefox thêm chiều rộng thừa vào div?

+4

Luôn luôn, nhưng luôn luôn thiết kế bố trí của bạn trong một tiêu chuẩn trình duyệt phù hợp như FF và Chrome. Sau đó, quay trở lại và tìm ra những nơi IE messes điều lên. – Stephen

+1

Những gì bạn có trong IE ở chế độ quirks. FF đang trình bày CSS đúng cách bằng cách sử dụng "mô hình hộp". Tìm hiểu về mô hình hộp ở đây: http://www.w3schools.com/css/css_boxmodel.asp Bạn có thể hỏi một câu hỏi khác với mã của bạn trong đó, chúng tôi có thể giúp bạn làm nổi bật nó. –

Trả lời

8

Nó không phải là firefox, đó là IE.

IE không thực hiện các tiêu chuẩn, có một vài thủ thuật để điều này, nhưng họ là tất cả một cơn đau ở ass: http://en.wikipedia.org/wiki/Internet_Explorer_box_model_bug

Cách đơn giản nhất là để bao gồm một nghiêm ngặt DOCTYPE thẻ hợp lệ:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

Sau đó chỉ cần viết lại css cho các tiêu chuẩn tuân thủ mô hình hộp

More doctypes here

+0

Các trang web chính xác nhưng mới phải luôn sử dụng loại tài liệu nghiêm ngặt. – Rob

+0

Đó là những gì tôi đã nói! : D –

+0

Bạn hiển thị loại tài liệu chuyển tiếp. – Rob

4

Theo mặc định, hộp-sizing được đặt thành content-box trong mozilla và border-box trong IE.

bằng cách sử dụng:

-moz-box-sizing:border-box; 
-webkit-box-sizing:border-box; 
box-sizing:border-box; 

trong của phong cách của bạn, bạn có thể thiết lập kích thước của hộp mozilla, Safari và Opera để cửa hộp quá.

để biết thêm thông tin kiểm tra: http://www.css3.info/preview/box-sizing/

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