Summary
The HTML Base Element (<base>) specifies the base URL to use for all relative URLs contained within a document. There can be only one <base> element in a document.
The base URL of a document can be queried from a script using {{domxref('document.baseURI')}}.
Usage Note: If multiple
<base>
elements are specified, only the first href and first target value are used; all others are ignored.- Content categories Metadata content.
- Permitted content None, it is an {{Glossary("empty element")}}.
- Tag omission There must be no closing tag.
- Permitted parent elements Any {{HTMLElement("head")}} that doesn't contain any other {{HTMLElement("base")}} element
- DOM interface {{domxref("HTMLBaseElement")}}
Attributes
This element includes the global attributes.
- {{htmlattrdef("href")}}
- The base URL to be used throughout the document for relative URL addresses. If this attribute is specified, this element must come before any other elements with attributes whose values are URLs.
Absolute and relative URIs are allowed (but see note section below). - {{htmlattrdef("target")}}
- A name or keyword indicating the default location to display the result when hyperlinks or forms cause navigation, for elements that do not have an explicit target reference. In HTML4, this is the name of, or a keyword for, a frame. In HTML5, it is a name of, or keyword for, a browsing context (for example, tab, window, or inline frame). The following keywords have special meanings:
_self
: Load the result into the same HTML4 frame (or HTML5 browsing context) as the current one. This value is the default if the attribute is not specified._blank
: Load the result into a new unnamed HTML4 window or HTML5 browsing context._parent
: Load the result into the HTML4 frameset parent of the current frame or HTML5 parent browsing context of the current one. If there is no parent, this option behaves the same way as_self
._top
: In HTML4: Load the result into the full, original window, canceling all other frames. In HTML5: Load the result into the top-level browsing context (that is, the browsing context that is an ancestor of the current one, and has no parent). If there is no parent, this option behaves the same way as_self
.
Examples
<base href="https://www.example.com/page.html"> <base target="_blank" href="https://www.example.com/page.html">
Note that HTML 2.0 and 3.2 define only the
href
attributeSpecifications
Specification | Status | Comment |
---|---|---|
{{SpecName('HTML WHATWG', 'semantics.html#the-base-element', '<base>')}} | {{Spec2('HTML WHATWG')}} | |
{{SpecName('HTML5 W3C', 'document-metadata#the-base-element', '<base>')}} | {{Spec2('HTML5 W3C')}} | |
{{SpecName('HTML4.01', 'struct/links.html#h-12.4', '<base>')}} | {{Spec2('HTML4.01')}} |
Browser compatibility
{{CompatibilityTable}}
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | {{CompatVersionUnknown}} | {{CompatGeckoDesktop("1.0")}} [1] | {{CompatVersionUnknown}} [2] | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | {{CompatVersionUnknown}} | {{CompatGeckoMobile("1.0")}} [1] | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
[1] Support of relative URIs for href
was added in Gecko 2.0 (Firefox 4.0)
[2] Before Internet Explorer 7, <base>
could be positioned anywhere in the document and the nearest value of <base>
was used. Support for relative URLs has been removed in Internet Explorer 8