Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: style, binding

Как использовать :style для условной стилизации?

Вопрос проверяет понимание динамического управления inline-стилями во Vue и отличий этого подхода от работы с CSS-классами.

Короткий ответ

:style позволяет задавать inline-стили на основе данных компонента. Значения могут вычисляться динамически через выражения или computed-свойства. Этот подход полезен для значений, которые сложно выразить через классы. Однако его не рекомендуется использовать для сложной стилизации. Чаще всего :style применяется для отдельных свойств.

Длинный ответ

Директива :style используется, когда внешний вид элемента напрямую зависит от данных.

Определение

:style — это механизм Vue для динамического задания inline-стилей через JavaScript-объект или массив объектов.

Базовый синтаксис

Простейший пример:

<div :style="{ color: isError ? 'red' : 'black' }"></div>

Vue применит соответствующее значение в зависимости от состояния данных.

Объектная форма

Наиболее распространённый вариант:

<div :style="{ width: size + 'px', opacity: isVisible ? 1 : 0.5 }"></div>

Использование computed

Для более сложной логики рекомендуется:

computed: {
  styles() {
    return {
      backgroundColor: this.isActive ? 'green' : 'gray'
    }
  }
}
<div :style="styles"></div>

Когда использовать, а когда нет

:style уместен, если:

  • значение вычисляется динамически

  • стиль зависит от данных

  • невозможно выразить через классы

Для сложных визуальных состояний лучше использовать CSS-классы.

Краткий вывод

:style подходит для точечной динамической стилизации, но не заменяет полноценную работу с CSS.

Уровень

  • Рейтинг:

    4

  • Сложность:

    6

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#style

#binding

Подпишись на React Developer в телеграм