Хотя HTML5 теперь позволяет элементам <a>
содержать элементы уровня блока (например, ol
), синтаксический анализатор Firefox традиционно не соглашался с этим, вместо этого преобразовывая их в последовательность отдельных <a>
внутри элементов уровня блока, напримерчто они окружают только встроенные элементы уровня, и это то, что вы видите.
Поскольку Firefox был единственным из основных браузеров, который сделал это, люди Mozilla приняли изменение HTML5, согласились изменить свой парсер, чтобы разрешитьэлемент <a>
для переноса содержимого блока.(Это всего лишь одно из многих изменений в синтаксическом анализаторе для HTML5, хотя, возможно, оно является наиболее заметным)
Это изменение произошло в Firefox 4, поэтому вы не увидите там проблемы, кроме Firefox 3.x по-прежнему использует старое поведение.
Обходные пути, включающие использование <div>
с атрибутом onclick вместо <a>
и использование JavaScript для переноса блока в элемент <a>
, но нет-JS решение.Учитывая, что (а) страница все еще должна быть пригодна для использования как есть, и (б) что Firefox 3.x должен исчезнуть в не слишком отдаленном будущем, один разумный вариант - это просто принять странное поведение Firefox 3 на данный момент.