W3docs

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

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

Свойство text-stroke рисует контур (обводку) вокруг каждого символа текста, позволяя управлять краем глифов, а не только их заливкой. Это сокращённая форма двух отдельных свойств:

На этой странице рассматриваются синтаксис, допустимые значения, стратегия отката для неподдерживаемых браузеров и запускаемые примеры.

Зачем использовать text-stroke

Веб-шрифты обычно построены на векторной графике: форма глифа описывается математическими кривыми и точками, а не пикселями. Поскольку контур является реальным геометрическим путём, браузер может рисовать вдоль него — точно так же, как программы для работы с векторной графикой добавляют обводку к фигуре. text-stroke предоставляет эту возможность в CSS, что удобно для крупных заголовков, логотипов или «контурных» надписей, где text-shadow не даёт чёткого края.

Распространённый приём — символ только с обводкой: задайте text-fill-color равным transparent, чтобы внутренняя часть каждого глифа была пустой и была видна только обводка.

Внимание

text-stroke не является стандартным свойством. На практике его необходимо писать с префиксом -webkit- (-webkit-text-stroke). Реализации немного различаются в разных браузерах, и поведение может измениться в будущем, поэтому всегда предусматривайте запасной вариант.

Поддержка браузерами и запасной вариант

Поскольку поддержка не гарантирована, никогда не полагайтесь только на обводку. Свойство text-fill-color переопределяет обычное свойство color только в браузерах, которые его понимают, поэтому стандартная техника выглядит так:

p {
  color: #1c87c9;                    /* fallback: plain colored text everywhere */
  -webkit-text-fill-color: #f0f0f0;  /* honored only where text-stroke works */
  -webkit-text-stroke: 2px #1c87c9;
}

Браузеры без поддержки -webkit-text-fill-color игнорируют эти две строки и отображают обычный текст цвета #1c87c9. Цвета можно выбрать из справочника HTML colors.

Начальное значение0 currentColor (то есть нулевая ширина)
Применяется кВсем элементам.
НаследуетсяНет.
АнимируемоеНет (отдельные свойства text-stroke-width и text-stroke-color — да).
ВерсияCompatibility Standard
DOM Syntaxobject.style.webkitTextStroke = "1px #666";

Синтаксис

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

-webkit-text-stroke: <width> <color> | initial | inherit;

Два параметра независимы по порядку, и каждый из них может быть опущен. Ширина принимает любую единицу измерения длины CSS length (px, pt, em, cm, …); цвет принимает любое значение цвета CSS.

Пример свойства text-stroke:

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

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      p {
        font-size: 2.5em;
        margin: 0;
        -webkit-text-stroke: 2px #1c87c9;
      }
    </style>
  </head>
  <body>
    <h2>Text-stroke property example</h2>
    <p>Lorem Ipsum is simply dummy text...</p>
  </body>
</html>

Результат

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

Пример CSS text-stroke с несколькими значениями

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .a {
        font-size: 2.5em;
        margin: 0;
        -webkit-text-stroke: 1px #8ebf42;
      }
      .b {
        font-size: 2.5em;
        margin: 0;
        -webkit-text-stroke: 2pt #8ebf42;
      }
      .c {
        font-size: 2.5em;
        margin: 0;
        -webkit-text-stroke: 0.1cm #8ebf42;
      }
    </style>
  </head>
  <body>
    <h2>Text-stroke property example</h2>
    <p class="a">Lorem Ipsum is simply dummy text...</p>
    <p class="b">Lorem Ipsum is simply dummy text...</p>
    <p class="c">Lorem Ipsum is simply dummy text...</p>
  </body>
</html>

Здесь 1px, 2pt и 0.1cm — все допустимые единицы ширины, поэтому три абзаца получают постепенно утолщающиеся обводки.

Значения

ЗначениеОписание
lengthЗадаёт толщину обводки.
colorЗадаёт цвет обводки. Можно использовать названия цветов, шестнадцатеричные коды, rgb(), rgba(), hsl(), hsla().
initialУстанавливает свойство в значение по умолчанию.
inheritНаследует свойство от родительского элемента.

Практика

Практика
Свойство text-stroke является сокращением для следующих свойств:
Свойство text-stroke является сокращением для следующих свойств:
Was this page helpful?