W3docs

Свойство CSS text-stroke-width

Используйте свойство CSS text-stroke-width для задания ширины обводки. Смотрите значения и примеры.

Свойство -webkit-text-stroke-width задаёт толщину контура (обводки), рисуемого вокруг каждого символа. Это одна из двух составляющих функции text-stroke: данное свойство управляет шириной контура, а text-stroke-color — его цветом.

Обводка текста рисуется поверх обычной заливки буквы, по центру края каждого глифа. При большой ширине буквы выглядят как контурные или «полые»; при значении 0 (по умолчанию) обводка вообще не рисуется. Это делает свойство популярным способом создания крупных заголовков с эффектом обводки, «прозрачного» текста и декоративных заголовков без необходимости использовать изображения.

h1 {
  -webkit-text-stroke-width: 2px;
  -webkit-text-stroke-color: #1c87c9;
}

Зачем и когда использовать

Используйте text-stroke-width, когда нужен эффект контура, чёткий при любом размере, при этом текст остаётся настоящим и выделяемым:

  • Контурные заголовки — добавьте заголовку цветную рамку для плакатного вида.
  • Прозрачный / «полый» текст — сочетайте обводку с text-fill-color: transparent, чтобы была видна только обводка, а сквозь буквы просвечивал фон.
  • Читаемость на фоне изображений — тонкая обводка помогает отделить светлый текст от насыщенного фона — аналогично text-shadow, но плотнее прилегает к глифу.
Информация

text-stroke-width не является самостоятельным стандартизированным свойством. Стандартная форма — сокращённое свойство text-stroke (CSS Text Decoration Level 4). На практике все современные браузеры по-прежнему требуют префикс -webkit-, поэтому используйте -webkit-text-stroke-width для ширины и сочетайте с -webkit-text-stroke-color для цвета.

На что обратить внимание

  • Всегда задавайте цвет. Если указана ширина без -webkit-text-stroke-color, используется currentColor (цвет текста элемента), и обводка может быть незаметна на фоне заливки. Задайте оба значения или используйте сокращённое свойство text-stroke: -webkit-text-stroke: 2px #1c87c9;.
  • Ширина распространяется внутрь и наружу. Обводка центрируется по краю глифа, поэтому широкая обводка на мелком тексте съедает форму букв и ухудшает читаемость. Используйте большие значения font-size для более широких обводок.
  • Не анимируется. Переход по ширине непосредственно не даёт эффекта.
  • Предусмотрите запасной вариант. Браузеры без поддержки -webkit-text-stroke просто игнорируют его и показывают обычный текст, поэтому результат должен оставаться читаемым без обводки.
Начальное значение0
Применяется кВсем элементам.
НаследуетсяНет.
АнимируетсяНет
ВерсияCSS Text Decoration Module Level 4 (с вендорным префиксом)
DOM Синтаксисobject.style.webkitTextStrokeWidth = "1px";

Синтаксис

Значения CSS text-stroke-width

-webkit-text-stroke-width: length | initial | inherit;

Пример использования свойства text-stroke-width:

Разные единицы измерения (px, mm) задают толщину обводки. Здесь три абзаца имеют одинаковый цвет обводки, но разную толщину — тонкую, среднюю и толстую — для сравнения.

Пример кода CSS text-stroke-width

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      p, h2 {
        margin: 0;
        font-size: 4em;
        -webkit-text-stroke-color: #1c87c9;
      }
      .thin {
        -webkit-text-stroke-width: 1px;
      }
      .medium {
        -webkit-text-stroke-width: 3.5px;
      }
      .thick {
        -webkit-text-stroke-width: 1.3mm;
      }
    </style>
  </head>
  <body>
    <h2>Text-stroke-width property example</h2>
    <p class="thin">Lorem Ipsum </p>
    <p class="medium">Lorem Ipsum</p>
    <p class="thick">Lorem Ipsum</p>
  </body>
</html>

Результат

Список значений CSS text-stroke-width

Пример «прозрачного» (полого) текста:

Установка text-fill-color в значение transparent скрывает заливку букв, оставляя только обводку. Это классический эффект «только контур» для заголовков.

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      h1 {
        font-size: 5em;
        font-family: sans-serif;
        -webkit-text-fill-color: transparent;
        -webkit-text-stroke-width: 2px;
        -webkit-text-stroke-color: #8ebf42;
      }
    </style>
  </head>
  <body>
    <h1>Outline</h1>
  </body>
</html>

Примечание: где это поддерживается, два объявления -webkit-text-stroke-* можно заменить сокращённым свойством text-stroke, например -webkit-text-stroke: 2px #8ebf42;.

Значения

ЗначениеОписание
lengthЗадаёт толщину обводки.
initialУстанавливает свойство в значение по умолчанию.
inheritНаследует значение свойства от родительского элемента.

Связанные свойства

  • text-stroke — сокращённое свойство, задающее ширину и цвет одновременно.
  • text-stroke-color — задаёт цвет обводки.
  • text-fill-color — управляет заливкой букв (используйте transparent для прозрачного текста).
  • text-shadow — альтернативный способ придать тексту глубину или контрастность.

Практика

Практика
Какое утверждение о свойстве CSS text-stroke-width является неверным?
Какое утверждение о свойстве CSS text-stroke-width является неверным?
Was this page helpful?