Тег <basefont> задавал шрифт по умолчанию для всей страницы: размер, цвет и название шрифта. Значения записывались в атрибуты size, color и face, а действовали на весь текст, который идёт после тега. Тег пустой, закрывающего тега нет. Он был в HTML 3.2 с одним атрибутом size, а color и face добавил HTML 4.01. Сейчас стандарт HTML запрещает тег, а браузеры не применяют его атрибуты.
<basefont size="5" color="navy" face="Georgia">
<p>Абзац</p>
В этой статье
Что делал тег basefont и что с ним сейчас
Раньше браузер брал значения из <basefont> и применял их к тексту после тега. Размер, цвет и название шрифта хватало записать один раз, а не оборачивать каждый абзац в font. Сейчас тег остаётся в разметке, но невидим и ничего не меняет: текст за ним выглядит так, как задано по умолчанию.
Пример: меняет ли basefont текст после себя
Кнопки выбирают вариант, запись показана над рамкой. В рамке два абзаца: образец до тега и проверяемый после него. Под рамкой записаны класс тега, его показ и размер, а также шрифт и цвет обоих абзацев.
Тег скрыт: показ none, размер 0 на 0. Абзац после него совпадает с образцом, значит атрибуты size=7, color=red и face=monospace не подействовали.
Атрибуты basefont: size, color и face
У basefont три атрибута, и все они описывают шрифт.
| Атрибут | Что задавал | Значения |
|---|---|---|
size | Размер шрифта | Число от 1 до 7 или сдвиг от текущего, например +2 и -1 |
color | Цвет текста | Название цвета или шестнадцатеричный код |
face | Шрифт текста | Название шрифта |
Пример: действует ли каждый атрибут
Кнопки выбирают запись, она показана над рамкой. В рамке образец до тега и проверяемый абзац после него. Под рамкой записаны размер, цвет и совпадение гарнитуры с образцом.
Ни одна запись ничего не меняет, даже все три вместе: абзац после тега такой же, как образец до него.
Заодно пропала связь с font. В HTML 4.01 относительный размер вроде size=+1 отсчитывался от размера, который задавал basefont. Теперь он отсчитывается от обычного размера текста страницы.
Пример: зависит ли font от basefont
Кнопки выбирают тег перед проверяемым font, запись показана над рамкой. В рамке font с записью size=+1 до тега и после него. Под рамкой записаны размеры обоих.
Размер остаётся тем же при любом значении size у basefont: и без тега, и с ним.
Где писать basefont: head, body и внутри абзаца
По HTML 4.01 <basefont> можно писать только в <body>, в том числе внутри абзаца и несколько раз подряд. В <head> стандарт его не допускает, хотя браузер тег принимает. Закрывающий тег </basefont> браузер отбрасывает, а текст после него остаётся на странице, поэтому тег считается пустым.
<body>
<basefont size="5">
<p>Абзац</p>
</body>
Пример: куда браузер принимает basefont
Кнопки выбирают положение, запись показана над рамкой. Под рамкой записаны число тегов, их родитель, число дочерних узлов, показ и видимый текст.
Браузер оставляет тег там, где он записан, в каждом варианте, детей у него нет, а видимый текст остаётся целым. Закрывающий тег ни на что не влияет, два тега подряд тоже остаются на странице.
Чем заменить тег basefont: CSS на body
Вместо basefont пишут стили на <body>: они наследуются всем текстом страницы. Каждому атрибуту соответствует своё свойство.
| Атрибут | Свойство CSS | Подробнее |
|---|---|---|
size | font-size | размер шрифта в px, em и rem |
color | color | цвет текста: hex и rgb |
face | font-family | как задать шрифт |
body {
font-size: 20px;
color: navy;
font-family: Georgia, serif;
}
Пример: basefont и CSS на body
Кнопки выбирают способ, запись показана над рамкой. Под рамкой записаны размер и цвет абзаца и то, совпала ли гарнитура.
Тег ничего не изменил, а стиль на <body> сработал. Проверка в Nu Html Checker для <basefont> сообщает: The “basefont” element is obsolete. Use CSS instead.