: Элемент — ссылка на внешний ресурс — HTML
Элемент HTML — Ссылка на Внешний Ресурс (<link>
) определяет отношения между текущим документом и внешним ресурсом. Этот элемент чаще всего используется для ссылки на stylesheets, а также для создания иконок сайта (как для иконок в стиле «favicon», так и для иконок домашних экранов и приложений мобильных устройств) среди прочего.
Чтобы подключить таблицу стилей, вы должны включить элемент <link>
внутри вашего <head>
следующим образом:
<link href="main.css" rel="stylesheet">
В этом простом примере указывается путь к таблице стилей внутри атрибута href
и атрибут rel
со значением stylesheet
. rel
означает «отношения (relationship)», и, вероятно, является одной из ключевых особенностей элемента <link>
— значение сообщает как указанный элемент связан с содержащим его документом.
Существует ряд других распространённых типов, с которыми вы столкнётесь. Например, ссылка на сайт иконок:
<link rel="icon" href="favicon.ico">
Есть ряд других значений rel
для иконок, в основном, используемых для обозначения специальных типов иконок для использования на различных мобильных платформах, например:
<link rel="apple-touch-icon-precomposed"
href="apple-icon-114.png" type="image/png">
Атрибут sizes
определяет размер иконки, когда type
содержит тип MIME связанного ресурса. Они предоставляют советы, позволяющие браузеру выбрать наиболее подходящую иконку.
Вы можете, также, указать медиа тип или запрос внутри атрибута media
; этот ресурс будет загружен только в том случае, если media состояние равно true. Например:
<link href="print. css" rel="stylesheet" media="print">
<link href="mobile.css" rel="stylesheet" media="screen and (max-width: 600px)">
В элемент <link>
также были добавлены некоторые новые интересные возможности производительности и безопасности, к примеру:
<link rel="preload" href="myFont.woff2" as="font"
type="font/woff2" crossorigin="anonymous">
Значение rel
— preload
указывает, что браузер должен предварительно загрузить этот ресурс (смотрите Предварительная загрузка контента при помощи rel=»preload» для более подробной информации), атрибут as
указывает на определённый класс загружаемого контента. Атрибут crossorigin
указывает должен ли ресурс загружаться с помощью запроса CORS.
Другие замечания по использованию:
- Элемент
<link>
может присутствовать в элементах<head>
или<body>
, в зависимости от того, имеет ли он тип ссылки, являющейся body-ok. Например, ссылка типаstylesheet
является body-ok,и, поэтому,<link rel="stylesheet">
допускается в body. Однако, это не очень хорошая практика использования; более осмысленно отделять ваши<link>
от содержимого body, помещая их в<head>
. - При использовании
<link>
для установки favicon сайта, и когда ваш сайт использует Политику Безопасности Контента (CSP) для повышения безопасности, политика применяется к favicon. Если вы столкнулись с проблемой при загрузке favicon, проверьте, чтоimg-src
директива заголовка Content-Security-Policy (en-US) не препятствует доступу к ней. - Спецификации HTML и XHTML определяют обработчики событий для элемента
<link>
, но не указывают как они будут использоваться. - В XHTML 1.0, пустые элементы, такие как
<link>
, требуют слеш:<link />
. - WebTV поддерживает использование значения
next
дляrel
в качестве предварительной загрузки следующей страницы в серии документов.
Этот элемент включает в себя глобальные атрибуты.
as
- Этот атрибут используется только для элементов
<link>
с атрибутомrel="preload"
илиrel="prefetch"
. Он указывает тип контента, загружаемого<link>
, который необходим для определения приоритетов контента, сравнения запросов, применения корректного content security policy, и установки корректногоAccept
запрашиваемого заголовка. crossorigin
- Этот перечисляемый атрибут указывает, должен ли CORS использоваться при загрузки ресурса. CORS-поддерживаемые изображения могут быть повторно использованы в элементе
не искажая их. Допустимы значения:anonymous
- Cross-origin запрос (т.е. с HTTP-заголовком
Origin
) выполняется, но учётные данные не отправляются (т.е. нет cookie, сертификата X.509, или базовой аутентификации HTTP). Если сервер не передал учётные данные исходному сайту (нет настроенного HTTP-заголовкаAccess-Control-Allow-Origin
), изображение будет искажено, а его использование ограничено. use-credentials
- Cross-origin запрос (т.е. с HTTP-заголовком
Origin
) выполняется вместе с отправкой учётных данных (т.е. выполняется аутентификация cookie, сертификата, и/или базового HTTP). Если сервер не передал учётные данные исходному сайту (через HTTP-заголовок Access-Control-Allow-Credentials (en-US)), ресурс будет искажён, а его использование ограничено.
Origin)
, предотвращая его незагрязненное использование. В случае невалидности, он обрабатывается как при использовании ключевого слова anonymous. Для получения дополнительной информации смотрите CORS settings attributes. href
- Этот атрибут определяет URL, связываемого ресурса. URL может быть абсолютным или относительным.
hreflang
- Этот атрибут определяет язык, связываемого ресурса. Он является консультативным. Допустимые значения определяются BCP47. Используйте этот атрибут только если присутствуют атрибуты
href
. importance
- Указывает на относительную важность ресурса. Приоритетные подсказки передаются используя значения:
auto
: указывает на отсутствие предпочтений. Браузер может использовать собственную эвристику для определения приоритетов ресурсов.high
: указывает браузеру, что ресурс находится в высоком приоритете.low
: указывает браузеру, что ресурс находится в низком приоритете.Примечание: Атрибут
importance
можно использовать только для элементов<link>
с атрибутамиrel="preload"
илиrel="prefetch"
.integrity
- Содержит встроенные метаданные — криптографический хеш-код ресурса(файла) в кодировке base64, который вы сообщаете браузеру для загрузки. Браузер может использовать его для проверки, что загруженный ресурс был получен без неожиданных манипуляций. Смотрите Subresource Integrity.
media
- Этот атрибут указывает медиа, который применяет связываемый ресурс. Его значение должно быть типом медиа или медиавыражением. Этот атрибут, в основном, полезен при связывании с внешними таблицами стилей — он позволяет пользовательскому агенту выбрать наиболее подходящее устройство для запуска. Примечания:
- В HTML 4, это может быть только простой, разделённый пробелами, список литералов, описывающих медиа, т.е. media типы и группы, которые определены и допустимы в качестве значений для этого атрибута, такие как
print
,screen
,aural
,braille
. HTML5 распространил это на любые медиавыражения, которые являются расширенным набором допустимых значений HTML 4. - Браузеры, не поддерживающие медиавыражения, могут не распознать соответствующую ссылку; не забудьте установить резервные ссылки, ограниченные набором медиавыражений, определённым в HTML 4.
- В HTML 4, это может быть только простой, разделённый пробелами, список литералов, описывающих медиа, т.е. media типы и группы, которые определены и допустимы в качестве значений для этого атрибута, такие как
referrerpolicy
- Строка, указывающая какой реферер использовать при загрузки ресурсов:
no-referrer
означает, что заголовокReferer
не будет отправлен.no-referrer-when-downgrade
означает, что заголовокReferer
не будет отправлен при переходе к источнику без TLS (HTTPS). Это поведение пользовательского агента по умолчанию, если не указано иное.origin
означает, что реферером будет источник, который соответствует схеме, хосту и порту.origin-when-cross-origin
означает, что навигация к другим источникам будет ограничена схемой, хостом, портом, в то время как навигация по одному и тому же источнику будет включать путь реферер .unsafe-url
означает, что в качестве источника ссылки будет указываться источник и путь (но не фрагмент, пароль или имя пользователя). Этот вариант небезопасен, потому что он может способствовать утечки источников и путей из TLS-защищённых ресурсов в незащищённые источники.
rel
- Этот атрибут определяет отношения связываемого документа и текущего документа. Атрибут должен быть разделённым пробелами списком значений типов ссылки.
sizes
- Этот атрибут определяет размеры иконки для визуальных медиа, содержащихся в ресурсе. Он должен быть представлен только, если
rel
содержит значениеicon
или нестандартный тип, напримерapple-touch-icon
Apple. Может иметь следующие значения:any
, означает, что иконка может быть масштабируема до любого размера, например в векторном форматеimage/svg+xml
.- пробелоразделенный список размеров, каждый в формате
<width in pixels>x<height in pixels>
или<width in pixels>X<height in pixels>
. Каждый из этих размеров должен содержаться в ресурсе.
Примечание: Большинство форматов иконок могут хранить только одну иконку, поэтому чаще всего
sizes
содержит только одну запись. MS’s ICO формат, как и Apple’s ICNS. ICO более распространены; вы должны использовать их. title
- Атрибут
title
имеет особое значение для элемента<link>
. При использовании<link rel="stylesheet">
он определяет предпочтительную или альтернативную таблицу стилей. Неверное использование может стать причиной игнорирования таблицы стилей. type
- Этот атрибут используется для определения типа связываемого контента. Значение атрибута должно быть типом MIME, такое как text/html, text/css и т.д. Обычно он используется для определения типа таблицы стилей, на которую делается ссылка (например, text/css), но, учитывая, что CSS является единственным языком таблиц стилей, используемым в сети, этот атрибут может быть пропущен, что является рекомендацией. Он также используется для типов ссылок
rel="preload"
, чтобы браузер загружал только те типы файлов, которые он поддерживает.
Нестандартные атрибуты
disabled
- Этот атрибут используется для отключения отношения ссылки. В сочетании со скриптом, этот атрибут может использоваться для включения и выключения различных отношений таблицы стилей.
Примечание: Хотя в стандарте HTML нет атрибута
disabled
, атрибутdisabled
есть в объекте DOMHTMLLinkElement
. methods
- Значение этого атрибута предоставляет информацию о функциях, которые могут выполняться над объектом. Значения обычно задаются протоколом HTTP, когда он используется, но может быть (аналогично атрибуту title) полезно заранее включить в ссылку консультативную информацию. Например, браузер может выбрать другое отображение ссылки в зависимости от указанных методов; то, что доступно для поиска может получить другую иконку, или внешняя ссылка может отображаться с указанием перехода с текущего сайта. Этот атрибут не совсем понятен и не поддерживается, даже определяющим браузером, Internet Explorer 4.
prefetch
Secure context- Этот атрибут идентифицирует ресурс, который может потребоваться при следующей навигации, и необходимость получить его пользовательским агентом. Это позволяет пользовательскому агенту быстрее реагировать, когда, в будущем, ресурс будет запрошен.
target
- Определяет название фрейма или окна, которое определяет связывающие отношения, или, которое будет показывать рендеринг любого связываемого ресурса.
Устаревшие атрибуты
charset
Этот API вышел из употребления и его работа больше не гарантируется.- Этот атрибут определяет кодировку символов связываемого ресурса. Значение представляет собой список наборов символов, разделённый пробелами и/или запятыми, как определено в RFC 2045. Значение по умолчанию
iso-8859-1
. Примечание по использованию: Для получения эффекта использования данного устаревшего атрибута, используйте HTTP-заголовокContent-Type
на связываемый ресурс. rev
Этот API вышел из употребления и его работа больше не гарантируется.Значение этого атрибута показывает отношение текущего документа к связываемому документу, как определено атрибутом
href
. Этот атрибут, таким образом, определяет обратную связь по сравнению со значением атрибутаrel
. Значения типов ссылки для атрибута аналогичны возможным значениям дляrel
.Примечание: Этот атрибут считается устаревшим жизненным стандартом WHATWG HTML (который является каноничной спецификацией MDN). Однако, стоит отметить, что
rev
не считается устаревшим в спецификации W3C. Стоит сказать, учитывая неопределённость, полагаться наrev
не стоит.Взамен, вы должны использовать атрибут
rel
с противоположным значением типов ссылки. Например, чтобы установить обратную ссылку дляmade
, укажитеauthor
.Также, этот атрибут не означает «ревизия» и не должен использоваться с номером версии, даже если многие сайты используют его в этих целях.
Элемент <link>
не имеет визуального представления в веб-документе, поэтому он не должен стилизоваться.
Включение таблицы стилей
Включение таблицы стилей на страницы имеет следующий синтаксис:
<link href="style.css" rel="stylesheet">
Предоставление альтернативных таблиц стилей
Вы можете указать альтернативные таблицы стилей.
Пользователь может выбрать, какую таблицу стилей использовать, выбрав её в меню Вид > Стиль страницы. Это позволяет пользователям видеть мультиверсию страницы.
<link href="default.css" rel="stylesheet" title="Default Style">
<link href="fancy.css" rel="alternate stylesheet" title="Fancy">
<link href="basic.css" rel="alternate stylesheet" title="Basic">
Предоставление иконок для различных контекстов использования
Вы можете включить ссылки на несколько различных иконок на одной странице, и браузер выберет, какая из них лучше подходит для его конкретного контекста, используя значения rel
и sizes
как подсказки.
<link rel="apple-touch-icon-precomposed" href="favicon144.png">
<link rel="apple-touch-icon-precomposed" href="favicon114.png">
<link rel="apple-touch-icon-precomposed" href="favicon72.png">
<link rel="apple-touch-icon-precomposed" href="favicon57.png">
<link rel="icon" href="favicon32.png">
Условная загрузка ресурсов с медиавыражениями
Вы можете предоставить тип медиа или запрос внутри атрибута media
; этот ресурс будет загружен только в том случае, если условия медиа равно true. Например:
<link href="print.css" rel="stylesheet" media="print">
<link href="mobile.css" rel="stylesheet" media="all">
<link href="desktop.css" rel="stylesheet" media="screen and (min-width: 600px)">
<link href="highres.css" rel="stylesheet" media="screen and (min-resolution: 300dpi)">
События загрузки таблицы стилей
Вы можете определить, когда таблица стилей была загружена, наблюдая за событием load
, запускающимся в нем; аналогично, вы можете обнаружить, произошла ли ошибка при обработки таблицы стилей, наблюдая за событием error
:
<script>
var myStylesheet = document.querySelector('#my-stylesheet');
myStylesheet.onload = function() {
}
myStylesheet.onerror = function() {
console.log("An error occurred loading the stylesheet!");
}
</script>
<link rel="stylesheet" href="mystylesheet.css">
Примечание: Событие load
запускается после загрузки и анализа таблицы стилей и всего импортируемого содержимого, непосредственно перед тем, как стили будут применены к содержимому.
Preload примеры
BCD tables only load in the browser
Тег | htmlbook.ru
Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS |
3.0+ | 1.0+ | 4.0+ | 1.0+ | 1.0+ | 1.0+ | 1.0+ |
Спецификация
HTML: | 3.2 | 4.01 | 5.0 | XHTML: | 1.0 | 1.1 |
Описание
Устанавливает связь с внешним документом вроде файла со стилями или со шрифтами. В отличие от тега <a>, тег <link> размещается всегда внутри контейнера <head> и не создает ссылку.
Синтаксис
HTML |
|
XHTML |
|
Атрибуты
- charset
- Кодировка связываемого документа.
- href
- Путь к связываемому файлу.
- media
- Определяет устройство, для которого следует применять стилевое оформление.
- rel
- Определяет отношения между текущим документом и файлом, на который делается ссылка.
- sizes
- Указывает размер иконок для визуального отображения.
- type
- MIME-тип данных подключаемого файла.
Также для этого тега доступны универсальные атрибуты.
Закрывающий тег
Не требуется.
Пример
HTML5IECrOpSaFx
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Тег LINK</title>
<link rel="stylesheet" href="ie.css">
<link rel="alternate" type="application/rss+xml"
title="Статьи с сайта htmlbook.ru" href="http://htmlbook.ru/rss.xml">
<link rel="shortcut icon" href="http://htmlbook.ru/favicon.ico">
</head>
<body>
<p>...</p>
</body>
</html>
В данном примере подключается внешний файл со стилями с помощью атрибута rel=»stylesheet» тега <link>, указывается RSS-документ текущего сайта (link rel=»alternate» type=»application/rss+xml») и устанавливается иконка сайта в адресной строке браузера (link rel=»shortcut icon»).
Оформление ссылок | WebReference
Хотя для оформления текстовых ссылок традиционно применяется подчёркивание, допустимо использование и других способов изменения вида ссылок. Вот некоторые из них:
- ссылки без подчёркивания;
- декоративное подчёркивание;
- выделение фоновым цветом;
- рамки;
- рисунок возле ссылки.
Далее указанные методы оформления ссылок рассматриваются более подробно.
Ссылки без подчёркивания
Подчёркивание текстовых ссылок уже стало определённым стандартом и сигналом о том, что это не просто текст, а именно ссылка. Это, кстати, является одной из причин, по которой не следует применять подчёркивание к обычному тексту, — пользователи будут считать, что имеют дело со ссылкой. Наряду с использованием подчёркивания благодаря CSS у разработчиков сайтов появился и альтернативный вариант — создание ссылок без подчёркивания. При правильном применении такое оформление ссылок даже может придать сайту определённый эффект. Только надо обязательно дать понять пользователю, что является ссылкой, а что обычным текстом, разграничивая их, например, цветом. Ещё можно сделать так что при наведении курсора ссылка становится подчёркнутой, меняет свой цвет или используется и тот, и другой эффект одновременно.
Чтобы убрать подчёркивание у ссылки, следует в стилях для селектора a добавить text-decoration со значение none (пример 1).
Пример 1. Отсутствие подчёркивания у ссылок
<!DOCTYPE html> <html> <head> <meta charset=»utf-8″> <title>Ссылки</title> <style> a { text-decoration: none; /* Убираем подчёркивание */ } </style> </head> <body> <p><a href=»link.html»>Ссылка без подчёркивания</a> </body> </html>Для псевдоклассов :hover и :visited нет необходимости добавлять text-decoration, они наследуют свойства селектора a.
Подчёркивание ссылок при наведении на них курсора мыши
Чтобы добавить подчёркивание для ссылок, у которых установлено text-decoration: none, следует воспользоваться псевдоклассом :hover. Он определяет стиль ссылки, когда на неё наводится курсор мыши. Остаётся только добавить для псевдокласса свойство text-decoration со значением underline (пример 2).
Пример 2. Подчёркивание ссылок
<!DOCTYPE html> <html> <head> <meta charset=»utf-8″> <title>Ссылки</title> <style> a { text-decoration: none; } a:hover { text-decoration: underline; } </style> </head> <body> <p><a href=»link.html»>Ссылка без подчёркивания</a> </body> </html>Декоративное подчёркивание ссылок
Подчёркивание у ссылок можно задать не просто сплошной линией, а, например, пунктирной. Для этого надо воспользоваться свойством border-bottom, которое создаёт линию внизу элемента. Указав один из аргументов этого свойства dashed, получим пунктирное подчёркивание. В примере 3 показано задание синего пунктира у ссылок красного цвета при наведении на них курсора мыши.
Пример 3. Пунктирное подчёркивание для ссылок
<!DOCTYPE html> <html> <head> <meta charset=»utf-8″> <title>Ссылки</title> <style> a { color: blue; /* Цвет ссылок */ text-decoration: none; /* Убираем подчёркивание */ } a:hover { border-bottom: 1px dashed blue; /* Добавляем синее пунктирное подчёркивание */ } </style> </head> <body> <p><a href=»link.html»>Ссылка без подчёркивания</a> </body> </html>При использовании приведённого способа пунктирная линия появляется чуть ниже обычного подчёркивания текста. Поэтому к стилю ссылки следует добавить text-decoration со значением none, чтобы одновременно не получилось две линии (рис. 1).
Рис. 1. Использование пунктира для выделения ссылки
Не обязательно использовать пунктир, например, для создания двойной линии следует указать значение, как показано в примере 4.
Пример 4. Двойное подчёркивание ссылок
<!DOCTYPE html> <html> <head> <meta charset=»utf-8″> <title>Ссылки</title> <style> a { color: blue; text-decoration: none; } a:hover { border-bottom: 4px double red; } </style> </head> <body> <p><a href=»link.html»>Ссылка без подчёркивания</a> </body> </html>Изменяя толщину линии, её тип и цвет, можно получить множество разнообразных эффектов.
Использование фонового цвета
Чтобы добавить к ссылке цветной фон, достаточно воспользоваться свойством background, присвоив ему цвет в любом доступном формате. Аналогично можно использовать псевдокласс :hover, тогда цвет фона под ссылкой будет изменяться при наведении на неё курсора мыши (пример 5).
Пример 5. Фон под ссылкой
<!DOCTYPE html> <html> <head> <meta charset=»utf-8″> <title>Ссылки</title> <style> a { padding: 2px; /* Поля вокруг текста ссылки */ text-decoration: none; /* Убираем подчёркивание */ } a:hover { background: #f73; /* Цвет фона при наведении на ссылку курсора */ color: yellow; /* Новый цвет текста */ } </style> </head> <body> <p><a href=»link.html»>Ссылка без подчёркивания</a> </body> </html>Фон под ссылкой точно соответствует области текста, поэтому в примере для селектора a добавлено свойство padding, создающее поля вокруг текста (рис. 2).
Рис. 2. Изменение цвета фона при наведении на ссылку курсора
Рамка вокруг ссылки
При использовании рамок со ссылками возможны два варианта. Первый — рамка вокруг ссылок устанавливается заранее и при наведении на неё курсора меняет свой цвет. И второй — рамка отображается, только когда на ссылку наводится курсор.
В примере 6 показано, как изменять цвет рамки, используя свойство border. Подчёркивание текста через text-decoration можно убрать или оставить без изменения.
Пример 6. Изменение цвета рамки у ссылок
<!DOCTYPE html> <html> <head> <meta charset=»utf-8″> <title>Ссылки</title> <style> a { border: 1px solid blue; /* Синяя рамка вокруг ссылок */ padding: 2px; /* Поля вокруг текста */ text-decoration: none; /* Скрываем подчёркивание */ } a:hover { border: 1px solid red; /* Красная рамка при наведении курсора на ссылку */ } </style> </head> <body> <p><a href=»link.html»>Ссылка без подчёркивания</a> </body> </html>Чтобы рамка не «прилипала» к тексту, в примере вокруг него установлены поля с помощью padding. Можно также вместе с применением рамки добавить и фон, воспользовавшись свойством background.
Если требуется добавить рамку к ссылкам при наведении на них курсора, то следует позаботиться о том, чтобы текст в этом случае не сдвигался. Достичь этого проще всего добавлением невидимой рамки вокруг ссылки и последующего изменения цвета рамки с помощью псевдокласса :hover. Прозрачный цвет указывается с помощью ключевого слова transparent, в остальном стиль не поменяется.
a {
border: 1px solid transparent; /* Прозрачная рамка вокруг ссылок */
}
a:hover {
border: 1px solid red; /* Красная рамка при наведении курсора на ссылку */
}
Рисунки возле внешних ссылок
Внешней называется такая ссылка, которая указывает на другой сайт. Подобная ссылка никак не отличается от локальных ссылок внутри сайта, определить, куда она ведёт, можно только посмотрев строку состояния браузера. Но в эту строку заглядывают не все и не всегда. Чтобы пользователи отличали внешние ссылки от обычных, их следует выделять каким-либо способом. Например, поставить возле ссылки маленький рисунок, который показывает, что статус ссылки иной (рис. 3).
Рис. 3. Выделение ссылки с помощью рисунка
Использование рисунков возле внешних ссылок хорошо тем, что оформленная таким образом ссылка однозначно отличается от обычных ссылок внутри сайта, а правильно подобранный рисунок говорит посетителю, что ссылка ведёт на другой сайт. Чтобы разделить стиль для локальных и внешних ссылок воспользуемся селектором атрибута. Поскольку все ссылки на другие сайты пишутся с указанием протокола, например http, то достаточно задать стиль для тех ссылок, у которых значение атрибута href начинается на http://. Это делается с помощью конструкции a[href^=»http://»] {.=»http://»] { background: url(/example/image/blank.png) 100% 5px no-repeat; /* Рисунок */ padding-right: 18px; /* Отступ справа */ } </style> </head> <body> <p><a href=»1.html»>Обычная ссылка</a></p> <p><a href=»http://htmlbook.ru»>Ссылка на сайт htmlbook.ru</a></p> </body> </html>
Фоновая картинка располагается справа от ссылки, а чтобы текст не накладывался поверх рисунка добавлено поле справа через свойство padding-right. Если потребуется добавить рисунок слева, то 100% заменяем на 0, а padding-right на padding-left.
Протокол может быть не только http, но и ftp и https, для них данный рецепт перестаёт работать. Так что для универсальности лучше изменить селектор на a[href*=»//»], он сообщает что стиль надо применять ко всем ссылкам, в адресе которых встречается //.
Автор и редакторы
Автор: Влад Мержевич
Последнее изменение: 11.03.2020
Редакторы: Влад Мержевич
Элементы DOM – React
React реализует независимую от браузера систему DOM для повышения производительности и кроссбраузерной совместимости. Это позволило избавиться от некоторых шероховатостей в браузерных реализациях DOM.
В React все свойства и атрибуты DOM (включая обработчики событий) должны быть в стиле camelCase. Например, HTML-атрибут tabindex
соответствует атрибуту tabIndex
в React. Исключение составляют атрибуты aria-*
и data-*
, которые следует писать в нижнем регистре. В частности, вы можете оставить aria-label
как aria-label
.
Различия в атрибутах
Есть ряд атрибутов, которые по-разному работают в React и HTML:
checked
Атрибут checked
поддерживается компонентами <input>
типа checkbox
или radio
. Он нужен для того, чтобы узнать выбран ли компонент. Это полезно для создания управляемых компонентов. defaultChecked
— это неуправляемый эквивалент, который определяет, выбран ли компонент на момент первого монтирования.
className
Чтобы указать класс CSS, используйте атрибут className
. Это относится ко всем обычным элементам DOM и SVG, таким как <div>
, <a>
и т. д.
Если вы используете React с веб-компонентами (что встречается редко), используйте вместо этого атрибут class
.
dangerouslySetInnerHTML
Свойству innerHTML
в DOM браузера соответствует dangerouslySetInnerHTML
в React. Как правило, вставка HTML из кода рискованна, так как можно случайно подвергнуть ваших пользователей атаке межсайтового скриптинга. Таким образом, вы можете вставить HTML непосредственно из React используя dangerouslySetInnerHTML
и передать объект с ключом __html
, чтобы напомнить себе, что это небезопасно. Например:
function createMarkup() {
return {__html: 'Первый · Второй'};
}
function MyComponent() {
return <div dangerouslySetInnerHTML={createMarkup()} />;
}
htmlFor
Поскольку for
является зарезервированным словом JavaScript, для определения HTML-атрибута for
в элементах React вместо него используйте htmlFor
.
onChange
Событие onChange
ведёт себя ожидаемо: событие срабатывает при изменении поля формы. Мы намеренно не используем существующее поведение браузера, потому что имя onChange
плохо передаёт, что происходит на самом деле. Вместо этого, React-реализация onChange
опирается на браузерное событие для обработки ввода в реальном времени.
selected
Если вы хотите отметить некоторый пункт списка <option>
выделенным, задайте его значение в атрибуте value
тега <select>
.
Изучите «Тег select» для получения подробных инструкций.
style
Примечание
Некоторые примеры в документации используют для удобства
style
, но использование атрибутаstyle
для оформления элементов не рекомендуется. В большинстве случаев для ссылки на классы, определённые во внешнем CSS, следует использоватьclassName
. Атрибутstyle
в React чаще всего используется при добавлении динамически вычисляемых стилей во время рендера. Смотрите FAQ: Стилизация и CSS.
Атрибут style
принимает JavaScript-объект со свойствами в camelCase вместо CSS-строк. Такой подход повышает эффективность и защищает от XSS. Например:
const divStyle = {
color: 'blue',
backgroundImage: 'url(' + imgUrl + ')',
};
function HelloWorldComponent() {
return <div style={divStyle}>Привет, мир!</div>;
}
Обратите внимание, что браузерные префиксы не добавляются к стилям автоматически. Для поддержки старых браузеров необходимо добавить соответствующие свойства стиля:
const divStyle = {
WebkitTransition: 'all',
msTransition: 'all'
};
function ComponentWithTransition() {
return <div style={divStyle}>Это будет работать в разных браузерах</div>;
}
Ключи стилей записываются в camelCase для обеспечения доступа к аналогичным свойствам DOM из JS (например, node.style.backgroundImage
). Префиксы браузера кроме ms
должны начинаться с заглавной буквы. Вот почему WebkitTransition
начинается с заглавной «W».
React автоматически добавит суффикс «px» к свойствам стилей с числовым значением. Если вы хотите использовать единицы измерения, отличные от «px», укажите значение в виде строки с желаемой единицей измерения. Например:
<div style={{ height: 10 }}>
Привет, мир!
</div>
<div style={{ height: '10%' }}>
Привет, мир!
</div>
Однако не все свойства стилей преобразуются в пиксельные строки. Некоторые из них остаются без единиц (например, zoom
, order
, flex
). Полный список свойств без единиц измерения можно увидеть здесь.
suppressContentEditableWarning
Обычно, когда элемент с потомками помечен как contentEditable
, появляется предупреждение, что он не будет работать. Данный атрибут скрывает это предупреждение. Поэтому используйте его, только если вы создаёте похожую на Draft.js библиотеку, которая управляет contentEditable
вручную.
suppressHydrationWarning
Если вы используете рендеринг React на стороне сервера и клиент с сервером рендерят разный контент, то как правило, об этом выдаётся предупреждение. Однако в редких случаях очень сложно или невозможно гарантировать точное совпадение. Например, ожидается, что временные метки будут различаться на сервере и на клиенте.
Если для suppressHydrationWarning
установлено значение true
, React не будет предупреждать вас о несоответствиях в атрибутах и содержимом этого элемента. Он работает только на один уровень глубины и предназначен для использования в качестве запасного решения. Не злоупотребляйте этим. Вы можете прочитать больше о гидратации на странице ReactDOM.hydrate()
.
value
Атрибут value
поддерживается компонентами <input>
, <select>
и <textarea>
. Он устанавливает значение компонента. Это полезно для создания управляемых компонентов. defaultValue
— это неуправляемый эквивалент, который устанавливает значение компонента во время первого монтирования.
Поддержка всех HTML-атрибутов
Начиная с React 16, полностью поддерживаются любые стандартные или пользовательские атрибуты DOM.
React всегда предоставлял JavaScript-ориентированный API для DOM. Поскольку компоненты React часто принимают как пользовательские, так и связанные с DOM пропсы, React использует стиль camelCase
так же, как DOM API:
<div tabIndex={-1} />
<div className="Button" />
<input readOnly={true} />
Эти пропсы работают аналогично соответствующим атрибутам HTML, за исключением особых случаев, описанных выше.
Некоторые из атрибутов DOM, поддерживаемые React:
accept acceptCharset accessKey action allowFullScreen alt async autoComplete
autoFocus autoPlay capture cellPadding cellSpacing challenge charSet checked
cite classID className colSpan cols content contentEditable contextMenu controls
controlsList coords crossOrigin data dateTime default defer dir disabled
download draggable encType form formAction formEncType formMethod formNoValidate
formTarget frameBorder headers height hidden high href hrefLang htmlFor
httpEquiv icon id inputMode integrity is keyParams keyType kind label lang list
loop low manifest marginHeight marginWidth max maxLength media mediaGroup method
min minLength multiple muted name noValidate nonce open optimum pattern
placeholder poster preload profile radioGroup readOnly rel required reversed
role rowSpan rows sandbox scope scoped scrolling seamless selected shape size
sizes span spellCheck src srcDoc srcLang srcSet start step style summary
tabIndex target title type useMap value width wmode wrap
Кроме того, полностью поддерживаются все SVG-атрибуты:
accentHeight accumulate additive alignmentBaseline allowReorder alphabetic
amplitude arabicForm ascent attributeName attributeType autoReverse azimuth
baseFrequency baseProfile baselineShift bbox begin bias by calcMode capHeight
clip clipPath clipPathUnits clipRule colorInterpolation
colorInterpolationFilters colorProfile colorRendering contentScriptType
contentStyleType cursor cx cy d decelerate descent diffuseConstant direction
display divisor dominantBaseline dur dx dy edgeMode elevation enableBackground
end exponent externalResourcesRequired fill fillOpacity fillRule filter
filterRes filterUnits floodColor floodOpacity focusable fontFamily fontSize
fontSizeAdjust fontStretch fontStyle fontVariant fontWeight format from fx fy
g1 g2 glyphName glyphOrientationHorizontal glyphOrientationVertical glyphRef
gradientTransform gradientUnits hanging horizAdvX horizOriginX ideographic
imageRendering in in2 intercept k k1 k2 k3 k4 kernelMatrix kernelUnitLength
kerning keyPoints keySplines keyTimes lengthAdjust letterSpacing lightingColor
limitingConeAngle local markerEnd markerHeight markerMid markerStart
markerUnits markerWidth mask maskContentUnits maskUnits mathematical mode
numOctaves offset opacity operator order orient orientation origin overflow
overlinePosition overlineThickness paintOrder panose1 pathLength
patternContentUnits patternTransform patternUnits pointerEvents points
pointsAtX pointsAtY pointsAtZ preserveAlpha preserveAspectRatio primitiveUnits
r radius refX refY renderingIntent repeatCount repeatDur requiredExtensions
requiredFeatures restart result rotate rx ry scale seed shapeRendering slope
spacing specularConstant specularExponent speed spreadMethod startOffset
stdDeviation stemh stemv stitchTiles stopColor stopOpacity
strikethroughPosition strikethroughThickness string stroke strokeDasharray
strokeDashoffset strokeLinecap strokeLinejoin strokeMiterlimit strokeOpacity
strokeWidth surfaceScale systemLanguage tableValues targetX targetY textAnchor
textDecoration textLength textRendering to transform u1 u2 underlinePosition
underlineThickness unicode unicodeBidi unicodeRange unitsPerEm vAlphabetic
vHanging vIdeographic vMathematical values vectorEffect version vertAdvY
vertOriginX vertOriginY viewBox viewTarget visibility widths wordSpacing
writingMode x x1 x2 xChannelSelector xHeight xlinkActuate xlinkArcrole
xlinkHref xlinkRole xlinkShow xlinkTitle xlinkType xmlns xmlnsXlink xmlBase
xmlLang xmlSpace y y1 y2 yChannelSelector z zoomAndPan
Вы также можете использовать пользовательские атрибуты, если они написаны в нижнем регистре.
Справочник API | Vue Router
<router-link>
<router-link>
— это компонент предназначенный для навигации пользователя в приложении с клиентской маршрутизацией. Путь назначения указывается входным параметром to
. По умолчанию компонент рендерится в тег <a>
с корректным значением href
, но это можно изменить входным параметром tag
. Кроме того, ссылка автоматически получает активный класс CSS при переходе на путь назначения.
<router-link>
предпочтительнее <a href="...">
по следующим причинам:
- Он работает одинаково вне зависимости от режима работы (HTML5 history или хэш), поэтому если вы решите переключить режим, или маршрутизатор для совместимости переключится обратно в режим хэша в IE9, ничего не потребуется изменять.
- В режиме HTML5 history,
router-link
будет перехватывать событие click, чтобы браузер не пытался перезагрузить страницу. - При использовании опции
base
в режиме работы HTML5 history, вам не потребуется добавлять её в URL входного параметраto
.
v-slot
API (3.1.0+)router-link
предоставляет возможность более низкоуровневой настройки с помощью слота с ограниченной областью видимости(opens new window). Это более продвинутое API ориентировано в первую очередь на создателей библиотек, но может пригодиться и разработчикам, к примеру для создании пользовательских компонентов таких как NavLink или подобных.
При использовании API v-slot
необходимо передавать один дочерний элемент в router-link
. Если этого не сделать, router-link
обернёт все дочерние элементы в span
.
href
: разрешённый URL. Это будет атрибутомhref
для элементаa
route
: разрешённый нормализованный маршрутnavigate
: функция для запуска навигации. Она автоматически предотвращает события, когда это необходимо, аналогичным способом, как это делаетrouter-link
isActive
:true
если активный класс должен применяться. Позволяет применить произвольный классisExactActive
:true
если активный класс при точном совпадении пути должен применяться. Позволяет применить произвольный класс
Пример: Добавление активного класса к внешнему элементу
Иногда может потребоваться применять активный класс к внешнему элементу, а не к тегу <a>
, в этом случае можно обернуть этот элемент в <router-link>
и использовать свойства v-slot
для создания ссылки:
ПРИМЕЧАНИЕ
При добавлении target="_blank"
на элемент a
, необходимо опустить обработчик @click="navigate"
.
Входные параметры
<router-link>
to
тип:
string | Location
обязательный
Определяет итоговый маршрут ссылки. При нажатии, значение входного параметра
to
будет передано вrouter.push()
— поэтому это значение может быть как строкой, так и объектом описывающим маршрут.
replace
тип:
boolean
по умолчанию:
false
Указание входного параметра
replace
вызоветrouter.replace()
вместоrouter.push()
при нажатии на ссылку, поэтому навигация не оставит записи в истории переходов.
append
тип:
boolean
по умолчанию:
false
Указание входного параметра
append
будет добавлять относительный путь к текущему. Например, если мы переходим от/a
к относительной ссылкеb
, то безappend
будет адрес/b
, а вместе сappend
получится/a/b
.
tag
тип:
string
по умолчанию:
"a"
Иногда необходимо чтобы
<router-link>
отображался другим тегом, например<li>
. В таком случае мы можем использовать входной параметрtag
, чтобы указать нужный тег, и он всё равно будет прослушивать события click для навигации.
active-class
тип:
string
по умолчанию:
"router-link-active"
Указание активного CSS класса, который применяется когда ссылка активна. Обратите внимание, что значение по умолчанию можно задать глобально в опции
linkActiveClass
конструктора маршрутизатора.
exact
тип:
boolean
по умолчанию:
false
Стандартное поведение сопоставления, когда выставляется активный класс, основывается на совпадениях по включению. Например,
<router-link to="/a">
будет получать класс активности и когда текущий путь начинается с/a/
и когда с/a
.Обратите внимание, поэтому
<router-link to="/">
будет активным для каждого маршрута! Для «режима точного соответствия» укажите в ссылке входной параметрexact
:Ознакомьтесь с другими примерами активных классов ссылок вживую(opens new window).
exact-path
Добавлено в версии 3.5.0
тип:
boolean
по умолчанию:
false
Позволяет использовать сопоставление только на секции
path
в URL, позволяя эффективно игнорировать секцииquery
иhash
.
exact-path-active-class
тип:
string
по умолчанию:
"router-link-exact-path-active"
Указание активного CSS класса, который применяется когда ссылка активна по сопоставлению
path
. Обратите внимание, что значение по умолчанию можно задать глобально в опцииlinkExactPathActiveClass
конструктора маршрутизатора.
event
тип:
string | Array<string>
по умолчанию:
'click'
Определение события (событий), которые будут вызывать навигацию по ссылке.
exact-active-class
тип:
string
по умолчанию:
"router-link-exact-active"
Указание активного CSS класса, который применяется когда ссылка активна с точным соответствием пути. Обратите внимание, что значение по умолчанию можно задать глобально в опции
linkExactActiveClass
конструктора маршрутизатора.
aria-current-value
тип:
'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false'
по умолчанию:
"page"
Настройка значения
aria-current
когда ссылка активна по точному (exact) совпадению. Это должно быть одно из разрешённых значений для aria-current(opens new window) спецификации ARIA. В большинстве случаев наиболее подходящим значением будетpage
.
<router-view>
Функциональный компонент <router-view>
отображает компонент соответствующий данному маршруту. Компоненты внутри <router-view>
также могут содержать в шаблоне собственный <router-view>
(он будет использован для отображения компонентов вложенных маршрутов).
Все остальные входные параметры передаются в отображаемый компонент, однако данные маршрута удобнее получать из $route.params
текущего маршрута.
Поскольку это всего лишь компонент, он работает вместе с <transition>
и <keep-alive>
. При одновременном использовании обоих обязательно располагайте <keep-alive>
внутри:
Входные параметры
<router-view>
name
тип:
string
по умолчанию:
"default"
Наличие имени у
<router-view>
определяет отображение компонента с соответствующим именем из опцииcomponents
сопоставленного маршрута. Подробности и примеры использования этой возможности в разделе именованных представлений.
Опции конструктора Router
routes
mode
тип:
string
по умолчанию:
"hash" (in browser) | "abstract" (in Node.js)
возможные значения:
"hash" | "history" | "abstract"
Определяет режим работы маршрутизатора.
hash
: используется хэш URL для маршрутизации. Работает во всех совместимых с Vue браузерами, даже тех, что не поддерживают HTML5 History API.history
: требует поддержки HTML5 History API и конфигурации сервера. Подробнее в разделе Режим HTML5 History.abstract
: работает во всех JavaScript-окружениях, например при серверном рендеринге с помощью Node.js. Маршрутизатор автоматически переключается в этот режим, если не обнаружит API браузера.
base
тип:
string
по умолчанию:
"/"
Базовый URL приложения. Например, если SPA расположено по пути
/app/
, тогдаbase
должно иметь значение"/app/"
.
linkActiveClass
тип:
string
по умолчанию:
"router-link-active"
Глобальная настройка активного класса по умолчанию для
<router-link>
. Подробнее в опции router-link.
linkExactActiveClass
тип:
string
по умолчанию:
"router-link-exact-active"
Глобальная настройка активного класса по умолчанию при точном совпадении маршрута для
<router-link>
. Подробнее в опции router-link.
scrollBehavior
parseQuery / stringifyQuery
fallback
тип:
boolean
по умолчанию:
true
Определяет, должен ли маршрутизатор возвращаться в режим
hash
, когда браузер не поддерживаетhistory.pushState
.Установка этой опции в
false
будет приводить к полному обновлению страницы в IE9 для каждой навигации через<router-link>
. Это полезно, когда приложение рендерится на стороне сервера (SSR) и должно работать в IE9, потому что режимhash
не работает с серверным рендерингом.
Свойства экземпляра Router
router.app
router.mode
router.currentRoute
router.START_LOCATION
тип:
Route
Первоначальная навигация будет объектом Route с которого запускается маршрутизатор. Можно использовать в навигационных хуках для определения стартовой навигации.
Методы экземпляра Router
router.beforeEach
router.beforeResolve
router.afterEach
Сигнатуры:
Добавляют глобальные навигационные хуки. Подробнее в разделе Навигационные хуки.
Все три метода возвращают функцию для удаления зарегистрированного хука.
router.push
router.replace
router.go
router.back
router.forward
Сигнатуры:
Программная навигация на новый URL. Подробнее в разделе программная навигация.
router.getMatchedComponents
Сигнатура:
Возвращает массив компонентов (определение/конструктор, не экземпляры) сопоставленные для указанного адреса или текущего маршрута. В основном это используется для рендеринга на стороне сервера, чтобы выполнить предварительную загрузку данных.
router.resolve
Сигнатура:
Обратное разрешение URL, чтобы получить местоположение в формате, аналогичном используемому в <router-link/>
.
current
текущий маршрут по умолчанию (в большинстве случаев не требуется это менять)append
позволяет вам добавить путь к маршрутуcurrent
(как и вrouter-link
)
router.addRoutes
УСТАРЕВШИЙ: используйте вместо метод router.addRoute()
.
Сигнатура:
Динамически добавляет дополнительные маршруты в маршрутизатор. Аргумент должен быть массивом маршрутов в таком же формате, как и в опции routes
конструктора.
router.addRoute
Добавлено в версии 3.5.0
Добавляет новый маршрут в маршрутизатор. Если у маршрута указан name
и уже существует маршрут с таким же именем, то он будет перезаписан.
Сигнатура:
router.addRoute
Добавлено в версии 3.5.0
Добавляет новый маршрут в качестве дочернего для существующего маршрута. Если у маршрута указан name
и уже существует маршрут с таким же именем, то он будет перезаписан.
Сигнатура:
router.getRoutes
Добавлено в версии 3.5.0
Получение списка записей всех активных маршрутов. Обратите внимание, что только задокументированные свойства считаются публичным API, поэтому следует избегать использования любых других свойств, например regex
, так как их уже не будет в Vue Router 4.
Сигнатура:
router.onReady
Сигнатура:
Регистрирует коллбэк, который будет вызван когда маршрутизатор завершит начальную навигацию, когда будут завершены все асинхронные хуки и готовы асинхронные компоненты, связанные с начальным маршрутом.
Пригодится при рендеринге на стороне сервера, чтобы обеспечить консистентный результат как на сервере, так и на клиенте.
Второй аргумент errorCallback
поддерживается только в версиях 2.4+. Он вызывается когда начальное разрешение маршрута заканчивается ошибкой (например, не удалось разрешить асинхронный компонент).
router.onError
Сигнатура:
Регистрирует коллбэк, который будет вызван при обнаружении ошибок во время навигации по маршруту. Обратите внимание, что он вызывается в одном из следующих сценариев:
Ошибка произошла синхронно внутри функции маршрута;
Ошибка фиксируется и асинхронно обрабатывается с помощью
next(err)
внутри функции навигационного хука;Произошла ошибка при попытке разрешить асинхронный компонент, необходимый для отображения маршрута.
Объект Route
Объект Route представляет собой состояние текущего активного маршрута. Он содержит информацию о текущем URL и записи маршрутов, сопоставленные с ним.
Объект маршрута иммутабелен. Каждая успешная навигация создаёт новый объект маршрута.
Объект маршрута встречается в нескольких местах:
Внутри компонентов как
this.$route
Внутри коллбэка при отслеживании изменений
$route
Как возвращаемое значение при вызове
router.match(location)
В качестве двух первых параметров навигационных хуков:
В качестве двух первых параметров функции
scrollBehavior
:
Свойства объекта Route
Для URL /foo/bar
, значение $route.matched
будет массивом, содержащим копии объектов (клоны), в порядке сортировки от родителя к потомку.
Интеграция в компоненты
Внедряемые в компоненты свойства
Эти свойства внедряются в каждый дочерний компонент, передавая экземпляр маршрутизатора в корневой экземпляр в качестве опции router
.
this.$router
Экземпляр маршрутизатора.
this.$route
Текущий активный маршрут. Это свойство только для чтения и все его свойства иммутабельны, но можно отслеживать их изменения.
Добавляемые опции в компонент
Основы CSS: стилизация ссылок как у босса
Интернет основан на ссылках. Идея о том, что мы можем щелкать / касаться ссылки и переходить с одной веб-страницы на другую, — это то, как серфинг в Интернете стало нарицательным.
Ссылки в HTML даже выглядят иначе, чем обычный текст без каких-либо стилей CSS.
Они синие (пурпурные при посещении). Они подчеркнуты. Это ссылка в чистом виде.
Но что, если мы хотим немного изменить ситуацию? Возможно, синий не подходит к дизайну вашего сайта.Может быть, у вас есть отвращение к подчеркиванию. Какой бы ни была причина, CSS позволяет нам стилизовать ссылки так же, как и любой другой элемент. Все, что нам нужно сделать, это указать элемент в нашей таблице стилей.
Хотите использовать другой шрифт, изменить цвет, убрать подчеркивание и сделать все прописными? Конечно, а почему бы и нет?
а {
красный цвет;
текстовое оформление: нет;
преобразование текста: прописные буквы;
}
Теперь готовим на газе! Но зачем останавливаться на достигнутом? Давайте рассмотрим еще несколько способов стилизации ссылок, чтобы сделать их удобнее.
Стиль каждого состояния ссылки
Ссылки имеют разные состояния, то есть они адаптируются, когда мы взаимодействуем с ними на веб-странице. Есть три дополнительных состояния ссылки, которые стоит учитывать каждый раз, когда мы меняем стиль ссылок по умолчанию:
- Ссылка (
: ссылка
): вероятно, наименее используемая, но она предназначена для стилизации элементовhref
, а не ссылок-заполнителей. - Посещено (
: посещено
): внешний вид ссылки, по которой пользователь щелкнул на странице раньше, когда курсор мыши не находится поверх нее.Стили, которые можно применить к: посещенный
, ограничены по соображениям безопасности. - Наведение (
: наведение
): когда курсор мыши находится поверх ссылки без щелчка - Активный (
: активный
): когда ссылка находится в процессе нажатия. Это может быть очень быстро, но это когда кнопка мыши была нажата и до того, как щелчок закончился. - Focus (
: focus
): как: hover
, но где ссылка выбирается с помощью клавиши Tab на клавиатуре.Состояния наведения и фокуса часто стилизованы вместе.
Обратите внимание, порядок там важен:
- Ссылка
- Посещено
- Наведите указатель мыши
- Активно
- Фокус
Если вы не сделаете это в этом порядке (представьте, что ваш стиль : посещенный
идет после вашего стиля : наведите курсор на
), ссылки не будет вести себя так, как вы хотите. В моем воображаемом примере стиль : посещенный
будет переопределять стиль : hover
, что маловероятно, что это то, что вам нужно.Фокус — это функция доступности, поэтому последняя, потому что она наиболее важна.
Один из способов запомнить порядок — это ЛЮБОВЬ и НЕНАВИСТЬ . то есть L (ink) OV (isted) E / H (over) A (Active) TE.
Вот та же ссылка, на которую мы смотрели. Сначала попробуйте навести указатель мыши на него, не щелкая, и обратите внимание, что он становится подчеркнутым. Затем щелкните ссылку, но оставьте кнопку мыши нажатой на некоторое время, чтобы увидеть, как активный стиль меняет цвет ссылки на черный.Наконец, отпустите кнопку мыши, и ссылка должна стать фиолетовой, прежде чем она будет технически посещена.
Ссылки кажутся простой концепцией, но, черт возьми, в них много чего происходит, а CSS дает нам невероятные возможности для настройки опыта!
Ссылки как кнопки
Хотя по этому поводу ведутся споры, мы можем использовать CSS, чтобы текстовая ссылка выглядела как кнопка.
Как и другие элементы HTML, CSS может добавлять цвета фона и отступы к ссылкам, что позволяет нам создавать внешний вид кнопки.Вот наша ссылка с использованием этих методов:
a {
цвет фона: красный;
белый цвет;
заполнение: 1em 1.5em;
текстовое оформление: нет;
преобразование текста: прописные буквы;
}
Отлично! Теперь давайте воспользуемся способностями изменения состояния, которые мы узнали в предыдущем разделе, чтобы сделать нашу искусственную кнопку более интерактивной. Мы сделаем кнопку темно-серой при наведении, черной при активной и светло-серой при посещении:
a {
цвет фона: красный;
белый цвет;
заполнение: 1em 1.5em;
текстовое оформление: нет;
преобразование текста: прописные буквы;
}
a: hover {
цвет фона: # 555;
}
a: active {
цвет фона: черный;
}
а: посетил {
цвет фона: #ccc;
}
Стилизация ссылки как кнопки и использование состояний позволяет нам создавать довольно интересные эффекты.Например, давайте создадим кнопку с некоторой глубиной, которая, кажется, нажимается, когда она активна, и всплывает, когда щелчок закончен.
Ой, и курсоры!
Мы довольно подробно рассмотрели ссылки на стили, но есть еще один их компонент, который мы не можем игнорировать: курсор.
Курсор указывает положение мыши на экране. Мы уже привыкли к стандартной черной стрелке:
. Стандартная стрелка курсора мыши Мы можем изменить стрелку на указатель в виде руки при наведении (: hover
), чтобы было легче увидеть, что ссылка указывает на то, что это интерактивный элемент:
: указатель
;
предоставляет интерактивную подсказку. a: hover {
курсор: указатель;
}
Уф, это намного лучше! Теперь у нас есть довольно модная ссылка, которая выглядит как кнопка с правильными интерактивными подсказками.
Повышение уровня
Мы рассмотрели здесь довольно много вопросов, но это лишь царапина на поверхности того, как мы можем управлять стилем ссылок. Если вы готовы повысить уровень, то вот несколько ресурсов, к которым вы можете перейти отсюда:
- Mailto Links — Хороший справочник по связыванию адресов электронной почты вместо веб-страниц.
- Текущее состояние телефонных связей — Знаете ли вы, что можно привязать телефонный номер? Ну вот как.
- Курсор — Справочное руководство CSS-Tricks для настройки курсора.
- Когда использовать элемент «Кнопка». Если вас интересует разница между кнопкой ссылки и кнопкой традиционной формы, то это хороший обзор с предложениями, которые лучше подходят для конкретных контекстов.
- Button Maker — бесплатный ресурс для создания CSS для кнопок ссылок.
Примеры кода ссылки на кнопку HTML — как создавать гиперссылки HTML с помощью атрибута HREF в тегах
В этой статье мы рассмотрим три различных способа заставить кнопку HTML действовать как ссылку.
Вот методы, которые мы рассмотрим:
- Стилизация ссылки так, чтобы она выглядела как кнопка
- Использование атрибутов action и formaction в форме
- Использование события onclick JavaScript
Но сначала давайте возьмем посмотрите на неправильный подход.
Почему этот подход не работает с элементами
и
?Приведенный ниже фрагмент кода ведет на сайт freeCodeCamp при нажатии на него.
Однако это недопустимый HTML.
Элемент a
может быть обернут вокруг целых абзацев, списков, таблиц и т. Д., Даже целых разделов, при условии, что внутри нет интерактивного содержимого (например.g., кнопки или другие ссылки). — (Источник: Рабочая группа по технологиям веб-гипертекстовых приложений)
Это считается плохой практикой, поскольку из-за этого неясно намерение пользователя.
Ссылки предназначены для перехода пользователя к другой части веб-страницы или на внешний сайт. И кнопки должны выполнять определенное действие, например, отправлять форму.
Когда вы вкладываете одно в другое, это сбивает с толку, какое действие вы хотите выполнить. Вот почему лучше не вкладывать кнопку в тег привязки.
Как стилизовать ссылку, чтобы она выглядела как кнопка с помощью CSS
В этом первом подходе кнопка вообще не используется. Мы можем стилизовать тег привязки, чтобы он выглядел как кнопка, используя CSS.
Это стиль HTML по умолчанию для тега привязки.
Мы можем добавить класс к тегу привязки, а затем использовать этот селектор класса для стилизации элемента.
freeCodeCamp
Если вы хотите, чтобы ссылка открывала новую страницу, вы можете добавить атрибут target = "_ blank"
следующим образом:
freeCodeCamp
Затем мы можем добавить цвет фона и изменить цвет шрифта следующим образом:
.fcc-btn {
цвет фона: # 199319;
белый цвет;
}
Следующим шагом будет добавление отступов вокруг текста:
.fcc-btn {
цвет фона: # 199319;
белый цвет;
отступ: 15 пикселей 25 пикселей;
}
Наконец, мы можем использовать свойство text-decoration, чтобы удалить подчеркивание из текста:
.fcc-btn {
цвет фона: # 199319;
белый цвет;
отступ: 15 пикселей 25 пикселей;
текстовое оформление: нет;
}
Теперь у нас есть тег привязки, который выглядит как кнопка.
Мы также можем сделать эту «кнопку» более интерактивной, изменив цвет фона в зависимости от состояния ссылки.
.fcc-btn: hover {
цвет фона: # 223094;
}
Мы могли бы усложнить дизайн, но это просто для того, чтобы показать вам основы стилизации ссылки как кнопки.
Вы также можете использовать библиотеку CSS, например Bootstrap.
freeCodeCamp
Если ваш проект уже включает Bootstrap, вы можете использовать встроенные стили кнопок. Но я бы не стал импортировать Bootstrap только для стилизации одной ссылки.
Какие проблемы с этим подходом?
Есть некоторые споры о том, стоит ли оформлять ссылки в виде кнопок. Некоторые будут утверждать, что ссылки всегда должны выглядеть как ссылки, а кнопки должны выглядеть как кнопки.
В веб-книге под названием «Устойчивый веб-дизайн» Джереми Кейт утверждает, что
один материал не должен использоваться вместо другого, иначе конечный результат будет обманчивым.
Почему я поднял эту дискуссию?
Моя цель не состоит в том, чтобы заставить вас выбирать одну сторону дебатов вместо другой. Я просто хочу, чтобы вы знали об этом продолжающемся обсуждении.
Как использовать атрибуты
action
и formaction
для создания кнопки в формеКак использовать атрибут действия
Другой альтернативой было бы вложить кнопку внутри формы и использовать атрибут действия.
Пример ввода:
Пример кнопки:
Это будет стиль кнопки по умолчанию.
Мы могли бы использовать те же стили, что и раньше, но нам нужно было бы добавить указатель курсора и установить для границы значение none, например:
.fcc-btn {
цвет фона: # 199319;
белый цвет;
отступ: 15 пикселей 25 пикселей;
текстовое оформление: нет;
курсор: указатель;
граница: нет;
}
Как использовать
formaction
атрибутПодобно предыдущему подходу, мы можем создать форму и использовать атрибут formaction.
Пример ввода:
Пример кнопки:
Атрибут formaction можно использовать только с входами и кнопками, которые имеют type = "image"
или type = "submit"
.
Это семантически правильно?
Хотя это кажется рабочим решением, возникает вопрос, правильно ли оно семантически.
Мы используем теги формы, но это не работает как настоящая форма. Цель формы — собрать и отправить данные пользователя.
Но мы используем кнопку отправки для перехода пользователя на другую страницу.
Когда дело доходит до семантики, это не лучший способ использовать теги формы.
Побочные эффекты при использовании атрибутов action и formaction
Когда вы нажимаете кнопку, с URL-адресом происходит что-то интересное. Теперь в конце URL-адреса стоит вопросительный знак.
Причина этого изменения в том, что форма использует метод GET. Вы можете переключиться на метод POST, но также могут быть случаи, когда он не идеален.
Хотя этот подход является допустимым для HTML, он имеет непреднамеренный побочный эффект.
Как использовать событие onclick JavaScript для создания кнопки
В предыдущих подходах мы рассматривали решения HTML и CSS. Но мы также можем использовать JavaScript для достижения того же результата.
Пример ввода:
Пример кнопки:
Местоположение .href
представляет расположение определенного URL-адреса. В этом случае Window.location.href
вернет https://www.freecodecamp.org/.
Недостатки этого подхода
Хотя это решение действительно работает, есть некоторые потенциальные проблемы, которые следует учитывать.
Если пользователь решил отключить JavaScript в своем браузере, очевидно, что это решение не сработает. К сожалению, это может ухудшить работу пользователей.
Заключение
Целью этой статьи было показать вам три различных способа заставить кнопки действовать как ссылки.
Первый подход заключался в создании ссылки, которая выглядела бы как кнопка. Мы также рассмотрели дискуссию о том, стоит ли изменять внешний вид ссылок, чтобы они выглядели как другой элемент.
Второй подход использовал атрибуты form и formaction. Но мы также узнали, что этот подход имеет некоторые побочные эффекты с URL-адресом и не является семантически правильным.
Третий подход использовал событие onclick JavaScript и Window.location.href. Но мы также узнали, что этот подход может не работать, если пользователь решит отключить JavaScript в своем браузере.
Разработчику очень важно посмотреть на плюсы и минусы того или иного подхода, прежде чем включать его в свой проект.
Надеюсь, вам понравилась эта статья, и вы узнали кое-что в процессе.
Удачного кодирования!
Как удалить подчеркивание в гиперссылках, использующих FrontPage 2003
Сводка
В этой статье описывается предпочтительный метод удаления подчеркивания гиперссылки в FrontPage 2003.
Microsoft предоставляет примеры программирования только для иллюстрации, без явных или подразумеваемых гарантий. Это включает, но не ограничивается, подразумеваемые гарантии товарной пригодности или пригодности для определенной цели. В этой статье предполагается, что вы знакомы с демонстрируемым языком программирования и инструментами, которые используются для создания и отладки процедур. Инженеры службы поддержки Майкрософт могут помочь объяснить функциональность конкретной процедуры, но они не будут изменять эти примеры для предоставления дополнительных функций или построения процедур, отвечающих вашим конкретным требованиям.вернуться к началу
Как удалить подчеркивание с одной гиперссылкиЕсть два способа удалить подчеркивание в отдельной гиперссылке:
вернуться к вершине
Как удалить подчеркивание во всех гиперссылкахВы можете удалить подчеркивание со всех гиперссылок на странице, добавив на страницу раздел <СТИЛЬ>.
Чтобы удалить подчеркивание со всех гиперссылок на странице, выполните следующие действия:
Откройте страницу, которую вы хотите изменить.
Щелкните вкладку Код .
Поместите следующий HTML-код перед тегом
:Щелкните вкладку Дизайн .
Ваши гиперссылки больше не содержат подчеркивания.
вернуться к вершине
Как связать файл таблицы стилей (CSS) с файлом HTML — простой способ
HTML (язык гипертекстовой разметки) и CSS (каскадная таблица стилей) являются основными языками веб-разработки. HTML определяет содержание и структуру веб-сайта, а CSS определяет дизайн и представление.Вместе оба языка создают хорошо структурированный и функциональный веб-сайт.
CSS определяет объявления стилей и применяет их к HTML-документам. Существует три различных способа привязки CSS к HTML на основе трех разных типов стилей CSS:
- Inline — использует атрибут стиля внутри HTML-элемента
- Внутренний — записывается в разделе файла HTML
- Внешний — связывает документ HTML с внешним файлом CSS
В этой статье основное внимание будет уделено связыванию внешнего CSS с файлом HTML, поскольку это изменяет внешний вид всего вашего веб-сайта с помощью всего одного файла.Мы также включим более подробное описание CSS и его преимуществ.
Подключение внешней таблицы стилей CSS к файлу HTML
Хотя существует несколько подходов к связыванию CSS с файлом HTML, наиболее эффективным способом является привязка внешней таблицы стилей к документу HTML. Для этого требуется отдельный документ с расширением .css , который содержит исключительно все правила CSS без тегов HTML.
В отличие от внутренних и встроенных стилей, этот метод изменяет множество HTML-страниц путем редактирования одного файла CSS.Это экономит время — нет необходимости изменять каждое свойство CSS на каждой HTML-странице веб-сайта.
Начните связывать таблицы стилей с файлами HTML с создания внешнего документа CSS с помощью текстового редактора HTML и добавления правил CSS. Например, вот правила стиля example.css :
body { цвет фона: желтый; } h2 { цвет синий; поле справа: 30 пикселей; }
Убедитесь, что между значениями свойства не добавлен пробел. Например, вместо margin-right: 30px напишите margin-right: 30 px .
Затем используйте тег в разделе вашей HTML-страницы, чтобы связать файл CSS с документом HTML. Затем укажите имя вашего внешнего файла CSS. В данном случае это example.css , поэтому код будет выглядеть следующим образом:
<заголовок>
Для лучшего понимания, вот разбивка атрибутов, содержащихся в теге :
- rel — определяет связь между связанным документом и текущим.Используйте атрибут rel только при наличии атрибута href .
- type — определяет содержимое связанного файла или документа между тегами . Он имеет текст или css в качестве значения по умолчанию.
- href — указывает расположение файла CSS, который вы хотите связать с HTML. Если файлы HTML и CSS находятся в одной папке, введите только имя файла. В противном случае укажите имя папки, в которой вы храните файл CSS.
- media — описывает тип мультимедиа, для которого оптимизированы стили CSS. В этом примере мы поместили screen в качестве значения атрибута, чтобы обозначить его использование для экранов компьютеров. Чтобы применить правила CSS к печатным страницам, установите значение print .
После того, как вы включили элемент в свой HTML-файл, сохраните изменения и введите URL своего веб-сайта в браузере. Стили, записанные в файле CSS, должны изменить внешний вид веб-сайта.
Хотя внешний CSS помогает упростить процесс веб-разработки, следует помнить о нескольких вещах, которые могут некорректно отображать HTML-страницы до загрузки внешней таблицы стилей. Кроме того, ссылка на несколько документов CSS может увеличить время загрузки вашего сайта.
Кстати, если вы хотите отредактировать определенный элемент HTML, возможно, лучше использовать метод встроенного стиля. Между тем, внутренний или встроенный стиль может быть идеальным для применения правил CSS к одной странице.
Причины использования CSS
CSS — это язык таблиц стилей, который управляет визуальным представлением веб-сайта. Он состоит из списка правил форматирования для стилизации элементов, написанных на языках разметки, таких как HTML. Кроме того, CSS определяет отображение элементов HTML на различных типах мультимедиа, таких как проецируемые презентации или устройства телевизионного типа.
Каждый раз, когда браузер находит таблицу стилей, он преобразует файл HTML в соответствии с предоставленной информацией о стиле. Следовательно, важно связать CSS с файлом HTML, чтобы ваш сайт выглядел более привлекательно на разных устройствах.
Другие преимущества связывания файла CSS с документом HTML:
- Единый дизайн. Поддерживает единообразие форматирования и дизайна на всем веб-сайте. Одна корректировка правил CSS может применяться универсально к нескольким областям веб-сайта.
- Более быстрое время загрузки. Для стилизации всех файлов HTML требуется только один файл CSS. С меньшим количеством строк кода веб-сайт может загружаться быстрее. Сайт также будет кэшировать файл CSS для следующего посещения ваших посетителей.
- Улучшить SEO . Сохранение стилей CSS в другом файле делает HTML-файл более лаконичным и организованным. В результате веб-сайт будет иметь более чистый и легкий код, что улучшит возможность сканирования поисковыми системами.
С другой стороны, CSS имеет несколько недостатков, например:
- Имеется несколько уровней. Таблица стилей CSS имеет три уровня. Такие разные фреймворки могут сбивать с толку, особенно для новичков.
- Проблемы совместимости. Некоторые таблицы стилей могут не работать в определенных браузерах, поскольку разные браузеры по-разному читают CSS. Используйте валидаторы кода CSS и HTML, чтобы избежать этих проблем.
- Уязвим к атакам. Открытый исходный код CSS может увеличить риск кибератак. Например, человек, имеющий доступ к файлу CSS, может написать вредоносный код или украсть личные данные. Однако правильные меры безопасности могут предотвратить эту проблему.
В целом, CSS играет важную роль при разработке веб-сайта.Он контролирует форматирование различных элементов на веб-странице, таких как шрифты, цвета фона и положение объектов. При правильном применении CSS и HTML веб-сайт может обеспечить оптимальное взаимодействие с пользователем.
Заключение
Встраивание правил CSS в элементы HTML может занять много времени и энергии. К счастью, внешние таблицы стилей делают этот процесс более эффективным.
Внешние таблицы стилей CSS — это документы, содержащие список правил стилей. Свяжите их с документом HTML, и вы сможете изменять сразу несколько страниц, избегая раздувания кода и сохраняя чистоту структуры HTML.
Мы надеемся, что знание того, как легко связать CSS с HTML, сэкономит ваше время при создании веб-сайта, чтобы сосредоточиться на увеличении трафика.
Том — эксперт и разработчик систем управления контентом. Он увлечен тем, что помогает людям процветать в Интернете. Том любит комиксы и играет со своей собакой Луной.
Как удалить подчеркивание из ссылок в CSS
В веб-дизайне важна каждая деталь, включая ваши ссылки.
Как и любой другой элемент, ссылки можно стилизовать с помощью свойств CSS.С помощью CSS вы можете изменить их цвет, фон и размер шрифта. Вы даже можете удалить подчеркивание, которое появляется под ссылками.
То, как вы пишете этот CSS, зависит от того, в каком состоянии находятся ссылки. Эти состояния, также известные как псевдоклассы, представляют собой классы CSS, основанные на активности пользователя. Ниже определены четыре псевдокласса.
a: ссылка — когда пользователь не посещал, не зависал или не нажимал на ссылку
a: посетил — после того, как пользователь перешел по ссылке
a: hover — когда пользователь наводит указатель мыши на ссылку
a: активный — когда пользователь переходит по ссылке
По умолчанию, подчеркивание будет отображаться под ссылками в каждом псевдосостоянии: при наведении курсора, нажатии, посещении или при любом из вышеперечисленных.Это показано в демонстрации ниже:
Чтобы удалить подчеркивание из ссылок, вы можете использовать свойство CSS text-decoration . Ниже мы рассмотрим, как определить это свойство, чтобы полностью удалить подчеркивание со ссылок на вашем HTML-сайте или сайте Bootstrap.
Как удалить подчеркивание из ссылок в CSS
- Добавьте ваш HTML-код в раздел вашей веб-страницы.
- Определите четыре псевдокласса ссылок с помощью свойства text-decoration в разделе.
- Убедитесь, что ссылки: и: посещены предшествуют: hover, а: active идут последними. Это важно для каскадирования таблицы стилей.
- Установите для каждого свойства значение «нет».
Процесс удаления подчеркивания действительно настолько прост. Давайте взглянем на код целиком, а затем посмотрим, как он выглядит во внешнем интерфейсе.
Вот код CSS:
a: ссылка {украшение текста: нет; }
a: посетил {text-decoration: none; }
a: hover {украшение текста: нет; }
a: активный {text-decoration: none; }
Здесь важен порядок — сначала должны идти a: link и a :hibited , затем a: hover , затем a: active .
Вот HTML:
Это ссылка , которая появляется внутри абзаца.
Вот результат:
См. Перо «Удаление подчеркивания из ссылки с помощью CSS 1» Кристины Перриконе (@hubspot) на CodePen.
Также можно переключить подчеркивание, чтобы оно отображалось только при наведении курсора и нажатии.Сделайте это с помощью правила text-decoration: underline; вот так:
См. Перо «Удаление подчеркивания из ссылки с помощью CSS 2» Кристины Перриконе (@hubspot) на CodePen.
Как удалить подчеркивание из ссылок в CSS в Bootstrap
Процесс удаления подчеркивания из ссылок немного отличается, если вы используете в своем проекте Bootstrap CSS. Давайте кратко обсудим процесс для сайтов Bootstrap.
По умолчанию в Bootstrap ссылки показывают подчеркивание, только когда они находятся в состоянии hover или active .Это означает, что когда посетитель наводит курсор на ссылку или нажимает на нее, он будет отображать подчеркивание. В противном случае подчеркивание не будет отображаться в ссылках, даже если они были посещены. Кроме того, ссылки, определенные классом кнопки Bootstrap, никогда не имеют подчеркивания.
Чтобы удалить подчеркивание в ссылках, независимо от их состояния, вам необходимо добавить CSS.
Вот код CSS:
a: hover {украшение текста: нет; }
a: активный {text-decoration: none; }
Вот HTML:
Это ссылка , которая отображается внутри абзаца. Ниже приведена ссылка, определенная классом кнопки Bootstrap.
Вот результат:
См. Перо Удаление подчеркивания из ссылки с помощью CSS — Bootstrap от Кристины Перриконе (@hubspot) на CodePen.
Стилизация ссылок с помощью CSS
Удаление подчеркивания в ссылках — один из самых распространенных вопросов начинающих программистов.Хорошая новость заключается в том, что этот процесс прост благодаря свойству text-decoratio n. Для этого вам просто нужно немного знать HTML и CSS.
Примечание редактора: этот пост был первоначально опубликован в июле 2020 года и был обновлен для полноты.
шрифтов — Как стилизовать \ href like \ url — Шрифты TeX
— Как стилизовать \ href like \ url — TeX — LaTeX Stack ExchangeСеть обмена стеков
Сеть Stack Exchange состоит из 178 сообществ вопросов и ответов, включая Stack Overflow, крупнейшее и пользующееся наибольшим доверием онлайн-сообщество, где разработчики могут учиться, делиться своими знаниями и строить свою карьеру.
Посетить Stack Exchange- 0
- +0
- Авторизоваться Зарегистрироваться
TeX — LaTeX Stack Exchange — это сайт вопросов и ответов для пользователей TeX, LaTeX, ConTeXt и родственных систем набора.Регистрация займет всего минуту.
Зарегистрируйтесь, чтобы присоединиться к этому сообществуКто угодно может задать вопрос
Кто угодно может ответить
Лучшие ответы голосуются и поднимаются наверх
Спросил
Просмотрено 729 раз
На этот вопрос уже есть ответ :
Закрыт 3 года назад.
Я хочу использовать команду \ url
, но хочу отображать текст, отличный от самого URL. Поэтому я выбрал \ href
. Проблема здесь в том, что результат написан другим шрифтом. Есть ли способ оформить показанный текст \ href
в стиле \ url
?
Создан 16 апр.
1 Вы можете использовать \ nolinkurl
во втором аргументе \ href
.Макрос \ nolinkurl
ведет себя как \ url
, но не добавляет ссылку, потому что это уже сделано в \ href
. Пример:
\ href {https://www.example.org/} {\ nolinkurl {example.org}}
Создан 16 апр.
Хайко ОбердикHeiko Oberdiek2,1k2020 золотых знаков646646 серебряных знаков10101010 бронзовых знаков
язык-текс
TeX — LaTeX Stack Exchange лучше всего работает с включенным JavaScriptВаша конфиденциальность
Нажимая «Принять все файлы cookie», вы соглашаетесь с тем, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Принимать все файлы cookie Настроить параметры
Текст ссылки | Руководство по стилю документации для разработчиков Google
Ключевой момент: Используйте описательный текст ссылки, который помогает обеспечить контекст.Чтобы написать текст ссылки, используйте описательные фразы, которые обеспечивают контекст для материала, который вы ссылка на.
Разные читатели по-разному воспринимают ссылки. Например, пользователи программ чтения с экрана часто переходят от одной ссылки к другой, не читая слова между ними. Другие читатели визуально отсканируйте документ, чтобы найти соответствующие ссылки. Эффективный текст ссылки помогает улучшить доступность и просматриваемость.
Структурирование текста ссылки
Чтобы написать эффективный текст ссылки, используйте одну из следующих форм:
Иногда вам нужно переделать предложение, чтобы включить в него фразу, которая будет хорошим текстом ссылки.
Написание текста ссылки
При написании текста ссылки соблюдайте следующие правила:
Когда вы пишете полное предложение, которое отсылает читателя к другой теме, введите ссылку с фразой . Для получения дополнительной информации см. или Для получения дополнительной информации о … см. .
Рекомендуется: Для получения дополнительной информации см. Балансировка нагрузки и масштабирование.
Рекомендуется: Для получения дополнительной информации о планирование задач, см. Надежный планирование задач в Compute Engine с помощью Cloud Scheduler.
Напишите уникальный описательный текст ссылки, который имеет смысл без окружающего текста. Не использовать фразы типа нажмите здесь или этот документ . Они плохи для доступности и просматриваемость.
Рекомендовано:
Для получения дополнительной информации см. Уход за вомбатом и кормление его .
Не рекомендуется:
Хочу больше? Нажмите здесь! .
Также не рекомендуется:
Дополнительную информацию см. В этом документе .
Не используйте URL-адрес в качестве текста ссылки. Вместо этого используйте заголовок страницы или описание страницы.
Рекомендовано:
Для получения дополнительной информации о протоколах см. HTTP / 1.1 RFC .
Не рекомендуется:
См. HTTP / 1.1 RFC по адресу http://www.w3.org/Protocols/rfc2616/rfc2616.html .
Исключение: В некоторых юридических документах (например, в некоторых документах с Условиями обслуживания) это можно использовать URL-адреса в качестве текста ссылки.
- Если текст ссылки является описанием целевой страницы, воспользуйтесь следующими рекомендациями, чтобы помочь читателям сканировать контент, чтобы определить, актуальна ли ссылка:
- По возможности делайте текст ссылки коротким.
- Поместите важные слова в начало текста ссылки.
- Не используйте один и тот же текст ссылки в одном документе для разных целевых страниц.
- Правильно используйте значок внешней ссылки, как описано в Перекрестные ссылки.
Если ссылка загружает файл, напишите текст ссылки, который указывает это действие, а также тип файла.
Рекомендовано:
загрузите README.txt .
Если текст содержит аббревиатуру в круглых скобках, укажите полную форму и аббревиатура в тексте ссылки.
Рекомендуется: Google Kubernetes Engine (GKE)
.Не рекомендуется: Google Kubernetes Engine (GKE)
.Если в тексте есть команда или другой элемент, обычно передающийся с помощью шрифта кода, включить описание элемента кода в текст ссылки.
Рекомендуется: Чтобы создать экземпляр с пользовательское имя хоста, запустите
экземпляров gcloud, создайте команду
с- hostname
flag.Не рекомендуется: создавать экземпляр с пользовательское имя хоста, запустите
экземпляров gcloud, создайте команду
с- hostname
flag.
Подробнее о тексте ссылки см. Перекрестные ссылки.
Пунктуация со ссылками
Если знаки препинания стоят непосредственно перед или после ссылки, ставьте знаки препинания за пределы теги ссылок, где это возможно.
Рекомендовано:
Для получения дополнительной информации см. Тестирование кода .
Не рекомендуется:
Для получения дополнительной информации см. Тестирование кода .
Стилизация текста ссылки
Если вы пишете CSS для всего сайта, примените стандартный стиль к тексту ссылки. Это помогает читатели находят ссылки в вашем контенте.
- Контрастный цвет текста ссылки и обычный цвет текста. Чтобы читатели видели ссылки, текст ссылки должен отличаться от остального текста на странице.
- Подчеркните текст ссылки и не подчеркивайте текст, не являющийся ссылкой.