html.okpython.net
HTML и CSS для начинающих

HTML :: Тег <base>

Пустой элемент «base» формируется одиночным тегом <base> (от англ. baseбазовый). Он сообщает браузеру базовый адрес текущего документа, который указывается в атрибуте href, а также задает целевое окно для всех ссылок в документе при помощи атрибута target, который в качестве значения принимает одно из зарезервированных значений "_self | _blank | _parent | _top" или имя целевого окна или фрейма, которое устанавливается их атрибутом name. Если указать несуществующее имя окна или фрейма, то браузер откроет документ в новом окне. Значение "_self" установлено по умолчанию. Если использовать значение "_blank", то браузер откроет документ в новом окне или фрейме; если "_parent" – в родительском фрейме, а в случае отсутствия такового, в текущем окне; если "_top" – в главном (текущем) окне, в котором находится данный фрейм, содержащий ссылку, а в случае отсутствия фреймов в окне, данное значение сработает, как "_self". Давайте посмотрим на пример №1.

HTML htmlCodes
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">	
	<!-- Задаем базовый адрес. В нашем случае указываем 
		 путь к корневой папке сайта. 
		 Все ссылки по умолчанию будут открываться в новом окне. -->
	<base href="https://site.name/" target="_blank">
	
	<title>Элемент «base»</title>
</head>
<body>
	<!-- Теперь нам не нужно постоянно указывать полный путь 
		к файлам на сайте, т.к. начальная (базовая) часть 
		пути уже прописана в элементе «base» -->
	Перейти на домашнюю страницу сайта можно 
	<a href="index.html">здесь</a>. <br><br>
	
	<!-- Ссылка откроется в этом же окне, т.к. мы 
		 переопределили атрибут target.-->
	Заглавная страница учебника по HTML находится 
	<a href="html/html_main.html" target="_self">здесь</a>.
</body>
</html>

Пример №1. Использование элемента «base»

Таким образом, если в документе присутствует служебный тег <base> и в нем прописан базовый адрес, то в пределах документа отпадает необходимость указывать в таких атрибутах, как href в гиперссылках или src в изображениях, полный адрес. Вместо этого используется относительная адресация, а за основу берется базовый адрес. При этом разрешается применять иерархическую систему пути с двумя точками ../. В нашем примере, относительная адресация формируется от корня сайта https://site.name/. Поэтому, даже если мы перенесем страницу в другую папку или на другой сайт, все ссылки на ней останутся рабочими, т.к. благодаря элементу «base» браузер будет формировать ссылки с учетом базового адреса, получая на выходе вместо относительных ссылок абсолютные. Например, если взять вторую гипперссылку в примере, то браузер перейдет не по относительной ссылке html/html_main.html, указанной в качестве значения атрибута href, а сперва сформирует абсолютный адрес. Для этого он возьмет базовый адрес https://site.name/, указанный в атрибуте href элемента «base», затем добавит к нему относительный адрес html/html_main.html, указанный в атрибуте href гиперссылки, составит абсолютный адрес https://site.name/html/html_main.html и уже по нему совершит переход.

Что касается атрибута target элемента «base», то он позволяет изменить поведение браузера по умолчанию, загружая целевой документ при переходе по гиперссылке не в исходном окне или фрейме, а, например, в новом. При этом собственный атрибут target конкретной гиперссылки имеет приоритет и переопределяет значение, установленное в элементе «base».

Тег <base> должен использоваться только внутри элемента «head» и желательно только один раз. Если в документе будет присутствовать более одного элемента «base», то будут использованы только первые значения атрибутов href и target. Все последующие значения, содержащиеся в других элементах «base», браузер проигнорирует.

Быстрый переход к другим страницам