<link> vs <a>: когда использовать один над другим?
У меня есть некоторая путаница между <link>
и <a>
.
Я знаю, что для добавления CSS в HTML-документ мы используем тег <link>
, например:
<link type="text/css" rel="stylesheet" href="/spinner/styles.css?ln=css" />
Но я не понимаю, почему мы не используем тэг anchor <a>
(так как он содержит те же необходимые атрибуты), что-то вроде:
<a type="text/css" rel="stylesheet" href="/spinner/styles.css?ln=css" />
Являются ли эти два тега взаимозаменяемыми? Кроме того, если это возможно, то как мы выбираем один за другим и почему?
Update:
У меня возникла такая путаница, потому что я видел в книге "Полный справочник HTML и CSS" атрибут rel
тега <a>
, который:
rel: для якорей, содержащих атрибут href
, этот атрибут определяет связь целевого объекта с объектом ссылки.
Итак, я думал, что он может выполнять ту же функцию, что и тег <link>
.
Ответы
Ответ 1
Атрибуты не совпадают с тегами, в которых они находятся.
<link />
является пустым элементом, т.е. у него ничего не может быть внутри. Все, что он делает, это указать связь с другим документом. Кроме того, тег <link>
используется только в разделе <head>
.
<a></a>
, с другой стороны, не является пустым элементом и указывает объект, который будет создан на странице - как ссылка на клики или изображение - которое выводит пользователя в другое место. Этот тег используется только в разделе <body>
.
Итак, хотя теги могут иметь одинаковые атрибуты, это не значит, что они делают то же самое.
Ответ 2
Вы не можете использовать тег A для добавления css в документ HTML, поскольку он предназначен для создания интерактивных гиперссылок между документами.
Но если вы хотите создать ссылку, позволяющую пользователям загружать css файл, вы можете сделать это
<a type="text/css" rel="stylesheet" href="/spinner/styles.css?ln=css">Download css</a>
Ответ 3
Юп Джон прав,
Еще одно дополнение к его ответу:
Любая вещь в <a>insideanchortag</a>
видна конечному пользователю
Но вы не видите данные <link />
в представлении конечного пользователя,
Он отображается только в контрольном элементе.