IE9 демонстрирует смещение 4px по сравнению с IE8 - PullRequest
0 голосов
/ 02 августа 2011

Это верхний отступ плюс нижний отступ для идентификатора элемента f3c. Я приложил две фотографии - одну из IE8 и одну из IE9.

Я попытался получить соответствующую информацию от отладчика. По сути, у меня есть ссылка внутри набора полей, внутри формы. Поле установлено таким образом, что страница проверяется.

Я использую относительное позиционирование для ссылки (верх: 9 пикселей).

Не уверен, почему IE9 добавил бы в 4px из расчета IE8, если только по какой-то причине он не считает (padding-top: 2px и padding-bottom: 2px).

ФАКТИЧЕСКИЙ ДОКТИП

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

IE8

IE9

Ответы [ 3 ]

1 голос
/ 02 августа 2011

На основе скриншота вы добавляете заполнение для встроенного элемента.

Попробуйте добавить:

display: inline-block;

И внесите коррективы оттуда.

редактировать:

Встроенные элементы не применяют поля / отступы / ширину / высоту (ну, они не должны этого делать, но браузеры, например, имеют нестандартное поведение)

Блочные элементы могут иметь отступы / отступы / ширину / высоту, но из-за них элементы располагаются вертикально.

встроенный блок является своего рода гибридом между ними. Они позволяют размещать рядом другие встроенные элементы вертикально, однако вы также можете добавить к ним margin / padding / width / height.

Мое общее правило состоит в том, что элементы уровня блока - это элементы тяжелой конструкции на странице (каркасе), где в качестве встроенного указывается содержимое страницы (полужирный, курсив и т. Д.). inline-block позволяет вам немного растушевать встроенные элементы с помощью отступа.

примечание: просто имейте в виду, что в более старых версиях ie это еще не идеальный пиксель.

0 голосов
/ 02 августа 2011

У вас действительно есть теги комментариев перед типом документа, как на скриншоте?Если это так, вы находитесь в режиме причуд.Удалите теги комментариев.

0 голосов
/ 02 августа 2011

В дополнение к ответу Бена вы можете подумать об использовании Yahoo YUI Reset CSS, который разрешает несогласованные стили между браузерами.

Чтобы использовать его, просто добавьте эту строку в элемент head вашегоHTML-страницы.

<link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/3.3.0/build/cssreset/reset-min.css">

Вы можете просмотреть полную, незавершенную версию css для сброса, чтобы увидеть, что он делает здесь .

...