Как известно, в спецификации HTML чётко указано, что вложенных ссылок нет и быть не может. Но, буквально на днях, Роман Комаров (разработчик интерфейсов в Яндексе) предложил поистине простой и вполне рабочий вариант решения данной проблемы.
Суть проблемы
Дело в том, что при написании данной конструкции:
<a href="#post"> Название поста </a><a href="#category">Категория</a><br /> Анонс поста
Парсер браузера просто «съест» ваш код и на выходе вы получите:
<a href="#post"> Название поста</a> <a href="#category">Категория</a><br /> Анонс поста
Что, соответственно, является совсем не тем, чего вы хотели добиться, вкладывая ссылки друг в друга.
Решение проблемы
Чтобы пофиксить данное стандартное поведение браузера (который следует указаниям спецификации), достаточно вложенную ссылку обернуть в тег <object />:
<a href="#post"> Название поста <object> <a href="#category">Категория</a> </object><br /> Анонс поста </a>
Теперь все работает как надо. За разъяснениями милости прошу в блог Романа.
Поддержка браузерами
Браузер | Версия |
---|---|
Internet Explorer | 9+ |
Firefox | 4+ |
Opera | 9+ |
Google Chrome | 14+ |
Safari | 5.1+ |