W3docs

Свойство CSS outline-color

Свойство CSS outline-color задаёт цвет обводки элемента. Значения свойства и примеры использования.

Свойство CSS outline-color задаёт цвет обводки элемента — линии, которая рисуется сразу за внешним краем рамки.

Обводка похожа на border, но имеет два важных отличия:

  • Она не занимает места. width и height элемента не включают обводку, поэтому её добавление или изменение никогда не сдвигает окружающий макет (в отличие от рамки, которая является частью блочной модели).
  • Нельзя задать отдельные стороны. Обводка оборачивает элемент целиком; нельзя задать разный цвет только для верхней или левой стороны, как это можно сделать с помощью border-color.

Поскольку обводки располагаются за пределами блока и не перестраивают страницу, они являются стандартным способом показа фокуса клавиатуры. Когда пользователь переключается по ссылкам, кнопкам и полям форм клавишей Tab, браузер рисует обводку фокуса, чтобы было видно, где он находится. Это делает outline-color прежде всего инструментом доступности, а уже потом — декоративным — будьте осторожны, убирая или скрывая обводки фокуса.

Зачем использовать outline-color

outline-color применяется главным образом для:

  • Оформления состояний фокуса — чтобы задать :focus или :focus-visible контрастный, фирменный цвет обводки вместо браузерного по умолчанию.
  • Выделения элемента без изменения его размера и без смещения соседних элементов.
  • Отладки макета — временная яркая обводка показывает точные границы элемента без влияния на блочную модель.
Информация

outline-color сам по себе не имеет видимого эффекта. Обводка отображается только тогда, когда у неё задан стиль, поэтому используйте его вместе с сокращённым свойством outline или свойством outline-style (значение стиля по умолчанию — none).

Допустимые значения цвета

Цвет обводки можно задать любым стандартным CSS-цветом: именем цвета (red), шестнадцатеричным кодом (#1c87c9) или функциональными обозначениями rgb(), rgba(), hsl() и hsla(). Также удобно ключевое слово currentColor — оно делает обводку того же цвета, что и текст элемента color. Полный список форматов цветов см. в разделе HTML colors.

Начальное значениеinvert
Применяется кВсем элементам.
НаследуетсяНет.
АнимируетсяДа. Цвет поддаётся анимации.
ВерсияCSS2
DOM Syntaxobject.style.outlineColor = "#8ebf42";

Синтаксис

CSS outline-color syntax

outline-color: invert | color | initial | inherit;

Пример использования свойства outline-color:

CSS outline-color code example

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      p {
        border: 3px solid #ccc;
        outline-style: double;
        outline-color: invert;
      }
    </style>
  </head>
  <body>
    <h2>Outline-color property example</h2>
    <p>Invert default value is applied.</p>
  </body>
</html>

Результат

CSS outline-color all values

Пример использования outline-color с шестнадцатеричными, RGB, RGBA, HSL, HSLA цветами:

CSS outline-color all values example

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .p1 {
        outline-style: solid;
        outline-color: #1c87c9;
      }
      .p2 {
        outline-style: solid;
        outline-color: hsl(65, 100%, 50%);
      }
      .p3 {
        outline-style: solid;
        outline-color: hsla(84, 49%, 50%, 1);
      }
      .p4 {
        outline-style: solid;
        outline-color: rgb( 224, 0, 0);
      }
      .p5 {
        outline-style: solid;
        outline-color: rgba(204, 204, 204, 1);
      }
    </style>
  </head>
  <body>
    <h2>Outline-color property example</h2>
    <p class="p1">This is a paragraph with hexadecimal blue outline.</p>
    <p class="p2">This is a paragraph with hsl yellow outline.</p>
    <p class="p3">This is a paragraph with hsla green outline.</p>
    <p class="p4">This is a paragraph with rgb red outline.</p>
    <p class="p5">This is a paragraph with rgba grey outline.</p>
  </body>
</html>

Каждый абзац сохраняет одинаковый макет — меняется только цвет обводки — потому что обводка располагается за пределами блока и не добавляет ни ширины, ни высоты.

Пример оформления обводки фокуса:

Наиболее распространённое практическое применение outline-color — сделать фокус клавиатуры заметным и соответствующим фирменному стилю. Здесь ссылка получает толстую синюю обводку фокуса вместо браузерной по умолчанию:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      a:focus-visible {
        outline-style: solid;
        outline-width: 3px;
        outline-color: #1c87c9;
        outline-offset: 2px;
      }
    </style>
  </head>
  <body>
    <h2>Focus outline example</h2>
    <p>Press <kbd>Tab</kbd> to move focus to the link below:</p>
    <a href="#">Focus me with the keyboard</a>
  </body>
</html>

Свойство outline-offset отодвигает обводку на несколько пикселей от элемента, чтобы она не касалась текста. Используйте :focus-visible вместо :focus, чтобы обводка отображалась для пользователей клавиатуры, но не при кликах мышью.

Внимание

Избегайте outline: none или outline-color: transparent на фокусируемых элементах, если только вы не заменяете индикатор фокуса чем-то столь же заметным. Его удаление делает страницу непригодной для использования только с клавиатурой.

Значения

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

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

outline-color — одно из трёх подсвойств сокращённого свойства outline:

  • outline-style — задаёт стиль линии (solid, dashed, double, …). Требуется для отображения обводки.
  • outline-width — задаёт толщину линии.
  • outline-offset — задаёт отступ между обводкой и краем рамки.

Запись outline: 3px solid #1c87c9; является сокращением для одновременного задания ширины, стиля и цвета.

Практика

Практика
Что верно о свойстве Outline Color в CSS?
Что верно о свойстве Outline Color в CSS?
Was this page helpful?