Spec-Zone.ru › CSS

fill-opacity

Baseline Широко распространённый

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2020 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Свойство fill-opacity CSS определяет непрозрачность операции рисования (цвет, градиент, узор и т. д.) применённой к фигурам SVG или элементам текстового содержимого для заполнения элемента. Свойство определяет непрозрачность только fill элемента; оно не влияет на обводку. При наличии оно переопределяет атрибут элемента fill-opacity.

Примечание: Свойство fill-opacity применяется только к элементам <circle>, <ellipse>, <path>, <polygon>, <polyline>, <rect>, <text>, <textPath> и <tspan>, вложенным в элемент <svg>. Оно не применяется к другим элементам SVG, HTML или псевдоэлементам.

Синтаксис

/* numeric and percentage values */
fill-opacity: 0.2;
fill-opacity: 20%;

/* Global values */
fill-opacity: inherit;
fill-opacity: initial;
fill-opacity: revert;
fill-opacity: revert-layer;
fill-opacity: unset;

Значения

Значения <number> и <percentage> обозначают непрозрачность fill элемента.

<number>

Числовое значение от 0 до 1, включительно.

<percentage>

Процентное значение от 0% до 100%, включительно.

При значении 0 или 0%, элемент полностью прозрачен. При значении 1 или 100%, элемент полностью непрозрачен. При промежуточных значениях элемент полупрозрачен, и содержимое за элементом будет видно.

Формальное определение

Начальное значение 1
Применимо к Фигурам SVG и элементам текстового содержимого
Наследуется да
Проценты соответствуют диапазону [0,1]
Вычисленное значение То же, что и указанное значение после обрезки <number> до диапазона [0,0, 1,0].
Тип анимации по типу вычисленного значения

Формальный синтаксис

fill-opacity = 
<'opacity'>

<opacity> =
<opacity-value>

<opacity-value> =
<number> |
<percentage>

Примеры

Определение непрозрачности заливки элементов SVG

Этот пример демонстрирует базовый случай использования fill-opacity, и как свойство CSS fill-opacity имеет приоритет над атрибутом fill-opacity и не влияет на любые stroke применённые к фигуре.

HTML

Мы включаем несколько различных графических элементов SVG и устанавливаем атрибут fill-opacity каждого из них в 1 (кроме line), что означает, что заливка каждого элемента непрозрачна. Атрибут SVG fill-opacity не применяется к <line>.

<svg viewBox="0 0 100 150" xmlns="http://www.w3.org/2000/svg">
  <rect x="10" y="10" width="30" height="30" fill-opacity="1" />
  <rect x="60" y="10" rx="10" ry="10" width="30" height="30" fill-opacity="1" />
  <circle cx="25" cy="75" r="20" fill-opacity="1" />
  <ellipse cx="75" cy="75" rx="20" ry="10" fill-opacity="1" />
  <line x1="50" x2="90" y1="40" y2="60" stroke="black" stroke-width="5" />
  <polyline
    points="60 90 65 100 70 95 75 110 80 105 85 120 90 115 95 130 100 125"
    fill-opacity="1" />
  <path d="M20,130 Q40,105 50,130 T90,130" fill-opacity="1" />
</svg>

CSS

С помощью CSS мы используем свойство fill-opacity для переопределения значения атрибута SVG fill-opacity, придавая каждому элементу SVG разное значение.

Мы добавляем stroke к кругу и эллипсу, чтобы продемонстрировать, что непрозрачность обводки не изменяется свойством fill-opacity.

Другие стили SVG устанавливаются, включая фоновое изображение, чтобы сделать непрозрачность каждого элемента более заметной. Они не показаны для краткости.

svg > * {
  fill: black;
}
rect:last-of-type {
  fill-opacity: 0.1;
}
circle {
  fill-opacity: 0.6;
}
ellipse {
  fill-opacity: 40%;
}
line {
  fill-opacity: 10%;
}
polyline {
  fill-opacity: 50%;
}
path {
  fill-opacity: 0.5;
}

circle,
ellipse {
  stroke: black;
  stroke-width: 3px;
}

Результаты

Только два элемента полностью непрозрачны: первый прямоугольник и линия. Первый прямоугольник не соответствует ни одному из селекторов, поэтому CSS не применяется, и заливка полностью непрозрачна. line соответствует, с fill-opacity: 10% установленным. Однако, линия не имеет операции рисования fill — только stroke — поэтому объявление не оказывает влияния.

Спецификации

Спецификация
CSS Fill and Stroke Module Level 3
# fill-opacity

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet WebView Android
fill-opacity ≤80 ≤80 ≤72 67 ≤13.1 80 79 57 ≤13.4 13.0 80

См. также

  • Атрибут SVG fill-opacity
  • Свойства презентации: fill-opacity, clip-rule, color-interpolation-filters, fill-rule, fill, marker-end, marker-mid, marker-start, shape-rendering, stop-color, stop-opacity, stroke, stroke-dasharray, stroke-dashoffset, stroke-linecap, stroke-linejoin, stroke-miterlimit, stroke-opacity, stroke-width, text-anchor и vector-effect
  • opacity
  • background-color
  • <color>
  • <basic-shape> тип данных

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/fill-opacity

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API