Как нормализовать отступы и поля в браузерах

Как другие дизайнеры нормализуют отступы и поля в браузерах. Я пробовал сбросить CSS (в настоящее время использую YUI), но все еще сталкиваюсь с множеством несоответствий.

Кажется, что для некоторых элементов в некоторых браузерах установка отступа или поля на 0 пикселей заставит браузер использовать отступы и поля по умолчанию, определенные этим браузером. Есть ли способ полностью сбросить отступы или поля во всех браузерах, чтобы они выглядели единообразно?


Обновить

Судя по дополнительным исследованиям и полученным здесь отзывам, практически невозможно добиться того, чтобы веб-сайты выглядели одинаково в разных браузерах в буквальном смысле слова. Думаю, я буду придерживаться CSS Reset и просто постараюсь лучше спланировать свои сайты.

Я не уверен, как преодолеть стандартные механизмы браузера, которые переопределяют настройки стиля, и, вероятно, это потребует слишком больших усилий.


person chobo    schedule 07.08.2010    source источник


Ответы (3)


Обычно это решается с помощью сброса CSS, но не все из них завершены. В некоторых браузерах граница всего тела должна быть установлена ​​на 0 (например, Opera, а иногда и IE), чтобы быть действительно одинаковыми. Попробуйте следующее:

body,html{margin:0;border:0;padding:0;}

Поскольку вы не говорите, какой элемент или не даете ссылку, я не могу вдаваться в подробности. С какими элементами у вас проблемы?

person Liam    schedule 07.08.2010
comment
Проблема в том, что когда вы устанавливаете отступы или поля на 0 пикселей, браузер заменяет некоторые из этих элементов значением по умолчанию. Это похоже на if (padding = 0px) padding = 2px или что-то подобное, что делает практически невозможным получение согласованного макета без поддержки нескольких таблиц стилей. - person chobo; 09.08.2010

Не стоит дополнительных взаимодействий с CSS и дополнительного кода для добавления полного набора «нормализующих» элементов заполнения или полей.

Лучше всего стилизовать то, что вам нужно, явно указав отступы и поля для элементов, которые вы используете на своих страницах.

person Joshua    schedule 07.08.2010

Paddings обычно везде 0. Это поля, которые наиболее несбалансированы среди браузеров. Просто определите свои собственные поля для элементов блока HTML. Сброс CSS похож на кувалду. Вам нужно будет переопределить не только поля. Но это может быть полезно для новичков, поскольку они часто с первого взгляда не могут отличить стандартные встроенные и блочные элементы в HTML. Сброс CSS вынудит их переопределить то и другое в правильном направлении.

Связанные вопросы:


Тем не менее, если вы продолжаете видеть несоответствия между браузерами, может случиться так, что вы используете doctype, который заставляет браузер переходить в quirksmode. В MSIE тогда оживает ошибка блочной модели. Вы хотите использовать строгий тип документа: <!DOCTYPE html>.

Смотрите также:

person BalusC    schedule 07.08.2010
comment
В настоящее время я использую строгий документ XHTML 1.0. DI вы рекомендуете, чтобы я все еще использовал сброс css? - person chobo; 09.08.2010
comment
Я рекомендую HTML5 doctype <!DOCTYPE html> и вообще не сбрасывать CSS. HTML5 doctype отлично работает с синтаксисом стиля XHTML, и вместо сброса CSS просто определите свои собственные поля для всех элементов уровня блока. - person BalusC; 09.08.2010