2010-11-16 3 views
5

У меня вопрос о CSS в Firefox.Firefox добавляет дополнительную ширину с дополнением

Если я установил ширину плавающего div - допустим, 200px - установка padding-left до 10px в Firefox добавит эти дополнительные 10px к ширине. В IE это не так.

Что вы можете сделать, чтобы Firefox не добавил дополнительную ширину в div?

+4

Всегда, но всегда создавать свои макеты в совместимом браузере стандартов, таких как FF и Chrome. Затем вернитесь и выясните места, в которых IE обманывает вещи. – Stephen

+1

У вас есть IE в режиме quirks. FF правильно представляет CSS, используя «коробчатую модель». Узнайте о модели коробки здесь: http://www.w3schools.com/css/css_boxmodel.asp. Возможно, вы захотите задать еще один вопрос с вашим кодом, мы можем помочь вам получить его. –

ответ

8

Это не firefox, это проблема, это IE.

IE не выполняет стандартов, есть несколько трюков, чтобы это, но все они боль в заднице: http://en.wikipedia.org/wiki/Internet_Explorer_box_model_bug

Самый простой способ включить действительный строгий DOCTYPE тег:

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

Тогда просто переписать CSS для коробочной модели соответствующих стандартов

More doctypes here

+0

Правильные, но новые веб-страницы должны всегда использовать строгий doctype. – Rob

+0

Вот что я сказал! : D –

+0

Вы показываете переходный doctype. – Rob

4

по умолчанию коробчатых проклеек устанавливается в поле содержимого в mozilla и border-box в IE.

с помощью:

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

в ваш стиль, тогда вы сможете установить окно проклейки Mozilla, сафари и оперы до границы коробки тоже.

для дополнительной проверки информации: http://www.css3.info/preview/box-sizing/

Смежные вопросы