Вжите значення

Вжите значення властивості CSS – це її значення після того, як над обчисленим значенням були виконані всі обчислення.

Після того, як користувацький агент завершив усі необхідні обчислення, кожна властивість CSS отримує вжите значення. Вжиті значення розмірностей (наприклад, width, line-height) – у пікселях. Вжиті значення властивостей-скорочень (наприклад, background) узгоджені зі значеннями своїх властивостей-складових (наприклад, background-color або background-size) та зі значеннями position та float.

[!NOTE] API DOM getComputedStyle() повертає вирішене значення, котре може бути або обчисленим значенням, або вжитим значенням, залежно від властивості.

Приклад

Цей приклад обчислює та виводить вжите значення width трьох елементів (оновлюється при зміні розміру):

HTML

<div id="no-width">
  <p>Без явно заданої ширини.</p>
  <p class="show-used-width">..</p>

  <div id="width-50">
    <p>Явно задана ширина: 50%.</p>
    <p class="show-used-width">..</p>

    <div id="width-inherit">
      <p>Явно задана ширина: inherit.</p>
      <p class="show-used-width">..</p>
    </div>
  </div>
</div>

CSS

#no-width {
  width: auto;
}

#width-50 {
  width: 50%;
}

#width-inherit {
  width: inherit;
}

/* Для яскравішого підкреслення результатів */
div {
  border: 1px solid red;
  padding: 8px;
}

JavaScript

function updateUsedWidth(id) {
  const div = document.getElementById(id);
  const par = div.querySelector(".show-used-width");
  const wid = window.getComputedStyle(div)["width"];
  par.textContent = `Вжита ширина: ${wid}.`;
}

function updateAllUsedWidths() {
  updateUsedWidth("no-width");
  updateUsedWidth("width-50");
  updateUsedWidth("width-inherit");
}

updateAllUsedWidths();
window.addEventListener("resize", updateAllUsedWidths);

Результат

Відмінність від обчисленого значення

Стандарт CSS 2.0 визначав лише обчислене значення як останній крок обчислення властивостей. Потім версія CSS 2.1 запровадила окреме визначення вжитого значення. Після цього елемент міг явно успадковувати ширину чи висоту від предка, чиє обчислене значення – у відсотках. Для властивостей CSS, що не залежать від компонування (наприклад, display, font-size чи line-height), обчислені значення та вжиті значення збігаються. Наведені нижче властивості CSS 2.1 залежать від компонування, тому в них обчислені значення та вжиті значення відрізняються: (взято зі Змін у CSS 2.1: Задані, обчислені та фактичні значення):

  • background-position
  • bottom, left, right, top
  • height, width
  • margin-bottom, margin-left, margin-right, margin-top
  • min-height, min-width
  • padding-bottom, padding-left, padding-right, padding-top
  • text-indent

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

Дивіться також