Тег base
действительно учитывается только относительными ссылками внутри самого HTML-документа .
Однако существует ошибка, специфичная для IE6, которую вы действительно должны учитывать при использовании тега <base>
в HTML (не в XHTML).Тег <base>
в HTML задокументирован как не имеющий конечного тега </base>
, но IE6 неправильно принял его за true, что приведет к тому, что весь контент после тега <base>
будет помещен как child тега <base>
в его дереве DOM HTML.Это может вызвать на первый взгляд необъяснимые проблемы в Javascript / jQuery / CSS, то есть элементы совершенно недоступны в определенных выборках (например, html>body
), пока вы не обнаружите, что на самом деле существует base
между ними.обычное исправление IE6 использует условные комментарии для включения конечного тега:
<base href="http://example.com/"><!--[if lte IE 6]></base><![endif]-->