Время для прочтения: 1 мин. 6 сек.

Вложенные ссылки в HTML

Как известно, в спецификации 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 Explorer9+
Firefox4+
Opera9+
Google Chrome14+
Safari5.1+
Поделиться
Плюсануть
Телеграмнуть

Для вставки кода используйте HTML-теги
<pre><code class="php">ваш код</code></pre>

Добавить комментарий

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.

Нажимая на кнопку "Отправить", я даю согласие на обработку персональных данных.