2011-12-29 2 views
2

Посмотрите на это fiddle.Понимание рендеринга браузера «quirk»

Краткая информация:

  • ДИВ является 500px ширины
  • Изображения внутри центрируются с помощью CSS (маржа: 0 авто)
  • Изображения имеет якорь тег обертку вокруг него (нет CSS)

Проблема:
Если вы Inspe ct анкерный тег (firebug или другой инспектор), он показывает ту же ширину и высоту, что и изображение, что для меня правильно, НО полный div можно щелкнуть.

Вопросы:

  • ли поджигатель показывает неправильный размер тега привязки?
  • Являются ли браузеры неправильными? (Предположим, нет)
  • Что происходит? :)
+0

Anchor показывает 500px широкий здесь ... (Chromium 15, Ubuntu 11,10) –

+0

Да, вы правы. Firebug - нет. Хотя, я хочу знать, почему? Почему автоматическая граница изображения расширяет анкер, когда якорь является встроенным? – Frexuz

ответ

2

Я подозреваю, что это потому, что <img> оформлен в стиле display:block. Это означает, что элемент <img> (!) (В отличие от самого графического изображения) будет расширяться, чтобы заполнить любую ширину, выделенную для него. Обратите внимание, что когда вы удаляете display:block, зона, на которую можно щелкнуть, возвращается к пространству изображения, как и ожидалось.

Тогда возникает вопрос: как вы центрируете связанное изображение, ограничивая область с клики к изображению? Один из способов:

div { width: 500px; text-align:center; } 
+1

Кажется логичным, но Firebug заставил меня смутить. Может быть запрос функции :) – Frexuz

0

Анкерный ярлык как вокруг изображения. Изображение имеет запас. auto не 0 здесь, это разница между 500 и шириной изображения/2.

Если вы хотите не включать маржу, оберните изображение и привяжите в div, а затем установите, что с маркой: 0 авто;

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