Znacznik HTMLStruktura dokumentu

<base>

Ustala adres bazowy dla wszystkich względnych adresów w dokumencie oraz domyślny cel odnośników.

Wyświetlanie
none
Znacznik zamykający
Brak, element pusty
Dozwolona zawartość
Brak, element pusty
Na tej stronie

Przykład

#
HTML
<head>
  <meta charset="utf-8">
  <base href="https://www.codeworlds.com/kursy/">
  <title>Kursy | CodeWorlds</title>
</head>
<body>
  <a href="html">Kurs HTML</a>
  <a href="/cennik">Cennik</a>
  <img src="okladki/html.webp" alt="Okładka kursu HTML" width="240" height="160">
</body>

Link „Kurs HTML” prowadzi do https://www.codeworlds.com/kursy/html, a obraz wczyta się z https://www.codeworlds.com/kursy/okladki/html.webp. Ścieżka zaczynająca się od /, jak w linku „Cennik”, pomija katalog i wskazuje https://www.codeworlds.com/cennik.

Definicja i zastosowanie

#

Element <base> to pusty element nagłówka, który zmienia sposób rozwiązywania adresów względnych. Atrybut href podaje adres bazowy, od którego liczone są wszystkie względne ścieżki w dokumencie: w linkach, obrazach, skryptach i formularzach. Atrybut target ustala, gdzie domyślnie otwierają się odnośniki i wyniki formularzy.

W dokumencie może być tylko jeden <base> i musi stać przed wszystkimi elementami, które korzystają z adresów, najlepiej zaraz po <meta charset>. Jeśli przez pomyłkę dodasz kilka, przeglądarka weźmie pod uwagę pierwszy.

Uważaj na kotwice. Przy ustawionym <base> odnośnik <a href="#faq"> prowadzi do adresu bazowego z dopiskiem #faq, a nie do sekcji na bieżącej stronie. Jeśli adres bazowy wskazuje inną stronę, kliknięcie przeniesie użytkownika gdzie indziej.

Dziś <base> stosuje się rzadko. Spotkasz go w aplikacjach jednostronicowych, na przykład w Angularze, który domyślnie wstawia <base href="/">, oraz na stronach publikowanych w podkatalogu serwera.

Składnia

#
Składnia
<base href="https://www.codeworlds.com/kursy/">

Atrybuty

#
  • href

    URL

    Adres bazowy dla wszystkich adresów względnych w dokumencie. Zwróć uwagę na ukośnik na końcu: przy https://www.codeworlds.com/kursy/ ścieżka python da …/kursy/python, a bez końcowego ukośnika …/python, bo ostatni człon adresu zostanie potraktowany jak nazwa pliku.
  • target

    _self | _blank | _parent | _top | nazwa

    Domyślne miejsce otwierania odnośników i wyników formularzy, które nie mają własnego atrybutu target. Przy _blank każdy link otworzy się w nowej karcie. Pojedynczy odnośnik może to nadpisać, np. atrybutem target="_self".

Element obsługuje też wszystkie atrybuty globalne, takie jak class, id, style czy hidden.

Atrybuty w praktyce

#

href

URL

Adres bazowy dla wszystkich adresów względnych w dokumencie. Zwróć uwagę na ukośnik na końcu: przy https://www.codeworlds.com/kursy/ ścieżka python da …/kursy/python, a bez końcowego ukośnika …/python, bo ostatni człon adresu zostanie potraktowany jak nazwa pliku.

HTML
<base href="https://www.codeworlds.com/kursy/">
<a href="python">Kurs Python</a>

Odnośnik prowadzi do https://www.codeworlds.com/kursy/python.

target

_self | _blank | _parent | _top | nazwa

Domyślne miejsce otwierania odnośników i wyników formularzy, które nie mają własnego atrybutu target. Przy _blank każdy link otworzy się w nowej karcie. Pojedynczy odnośnik może to nadpisać, np. atrybutem target="_self".

HTML
<head>
  <base target="_blank">
</head>
<body>
  <a href="https://developer.mozilla.org">Otworzy się w nowej karcie</a>
  <a href="/kursy" target="_self">Otworzy się w tej samej karcie</a>
</body>

Domyślny CSS

#

Większość przeglądarek wyświetla ten element z takimi stylami domyślnymi:

CSS
base {
  display: none;
}

Obsługa przeglądarek

#

Szeroko dostępne

Działa we wszystkich nowoczesnych przeglądarkach, także na telefonach. Możesz używać bez obaw.

  • Chrome
  • Edge
  • Firefox
  • Safari

Dobre praktyki

#
  • Kończ adres w href ukośnikiem, jeśli wskazuje katalog. Bez niego ostatni człon adresu zostanie pominięty.
  • Po dodaniu <base> sprawdź wszystkie kotwice typu #sekcja. Mogą zacząć prowadzić na inną stronę.
  • Zanim ustawisz <base target="_blank">, zastanów się, czy linki naprawdę muszą otwierać nowe karty. Użytkownicy wolą decydować o tym sami.

Powiązane hasła

#

Widzisz błąd albo brakuje przykładu? Napisz do nas.