Найти в Дзене

Тег <span> в HTML, полное руководство

Оглавление

Народ, всем привет. В среде веб-разработки есть теги, которые видны и понятны сразу, ну например, <h1> или <img>, а есть такие, которые играют некую вспомогательную роль. Один из самых часто используемых и универсальных тегов второго типа, это <span> (кстати, мой любимчик). Несмотря на простоту, он является довольно мощным инструментом для оформления и, скажем, структурирования текста на веб-страницах. Давайте сегодня, в этой статье мы подробно разберем, что такое <span>, зачем он нужен, как его правильно применять, и я покажу его действие на примерах из практики.

Что такое <span>

Сам по себе тег <span> это строчный (inline) контейнер без какого-либо собственного смыслового значения. Он используется для оборачивания фрагмента текста или других строчных элементов, чтобы можно было применить к ним стили CSS или поведение с помощью JavaScript. Если говорить еще проще, то <span> нужен, чтобы выделить часть текста внутри строки и что-то с ней сделать, скажем, поменять цвет, добавить эффект наведения, скрыть, выделить и т.д.

-2
<p>Это <span style="color: red;">важное</span> слово выделено красным цветом.</p>

Результатом будем, что слово «важное» отображается красным, а остальной текст остаётся обычным. Если говорить об основных характеристиках, то, как я сказал, это строчный элемент, закрывающий тег обязателен (</span>), поддерживает все основные, в том числе, глобальные атрибуты, а также события (например, class, id, style, onclick и др.). И он не имеет собственного визуального стиля или структуры, и без CSS он никак не влияет на внешний вид текста.

Когда использовать <span>?

1. Ну, использование тега <span> оправдано, когда нужно просто выделить часть текста для стилизации. Например, изменить цвет, размер, шрифт или добавить подчеркивание.

<p>Я люблю <span style="font-weight: bold;">программировать</span>.</p>

2. Когда нужно добавить JavaScript-поведение, например, вы можете назначить обработчики событий:

<span onclick="alert('Привет!')">Нажми на меня</span>

3. Ну и семантически разделить контент, если других тегов не подходит. Например, если нужно стилизовать только часть фразы в абзаце, но использовать <em> или <strong> неуместно. Я чаще всего использую его именно так, когда у меня, скажем, есть часть стиля текста (не заголовки, а просто отдельные элементы), которые повторяются.

-3
Хотите знать больше? Читайте нас в нашем Telegram – там еще больше интересного: новинки гаджетов, технологии, AI, фишки программистов, примеры дизайна и маркетинга.

Но при этом, несмотря на универсальность, <span> не должен подменять собой семантические теги, и это важно. Не злоупотребляйте им, и если можно использовать более точный тег, то выбирайте его. Чаще всего его используют вместо заголовков, и это плохо. И даже если хотите выделить важное слово, то лучше применить <strong> или <em>, а не просто <span>. Тут нужно чувствовать эту грань. По факту <span> нужно применять там, где семантика не нужна, а просто нужно что-то выделить «для красоты и стиля».

Еще иногда новички путают <span> и <div>. Это тоже плохо, ведь у первого тип элемент строчный (inline), а у второго блочный (block).

Применение CSS к <span>

1. Использование классов

<p>Сегодня <span class="highlight">солнечно</span> и тепло.</p>
<style>
.highlight {
background-color: yellow;
color: black;
font-weight: bold;
}
</style>
-4

2. Использование идентификаторов

<span id="username">Алексей</span>
<style>
#username {
color: green;
}
</style>

3. Комбинации

Можно применять несколько классов сразу:

<span class="highlight underline">текст</span>
<style>
.highlight { color: orange; }
.underline { text-decoration: underline; }
</style>

Наш <span> и JavaScript

Тег <span> часто используется как интерактивный элемент для JavaScript. Например, чтобы обрабатывать клики или изменять текст динамически.

<p>Привет, <span id="user">гость</span>!</p>
<button onclick="document.getElementById('user').innerText='Алексей'">Изменить имя</button>
-5

Когда пользователь нажимает кнопку, текст внутри <span> изменяется.

По факту вот и все. Тут важно помнить, что, поскольку <span> не несет смысловой нагрузки, поисковые системы и программы экранного доступа (например, для людей с нарушениями зрения) не придают значения содержимому <span>. Если информация имеет смысл, то всегда используйте семантические теги:

  • <em> — для выделения важности или интонации,
  • <strong> — для сильного выделения,
  • <mark> — для подсветки.

<span> оставляйте для тех случаев, когда нужна чисто визуальная или скриптовая обработка.

-6

Если Вам нравятся наши статьи, и вы хотите отблагодарить автора (на развитие канала), нам будет очень приятно!