Inline стили — это способ задавать CSS-свойства непосредственно
элементу через атрибут style в HTML или через объект
style в JavaScript. Этот подход позволяет изменять
визуальное представление элемента динамически, без необходимости
создания отдельных CSS-классов.
В JavaScript каждый HTML-элемент имеет объект style,
который отражает текущие inline стили. Например:
const element = document.getElementById('box');
element.style.width = '200px';
element.style.height = '100px';
element.style.backgroundColor = 'blue';
Ключевые моменты:
backgroundColor,
fontSize, borderRadius.'20px',
'red', '1.5em'.Объект style позволяет не только задавать, но и получать
значения свойств:
const width = element.style.width; // "200px"
const bgColor = element.style.backgroundColor; // "blue"
Важно: element.style возвращает только inline
стили, а не стили из внешних CSS-файлов или классов. Для
получения вычисленных стилей используют
getComputedStyle.
const computedStyle = window.getComputedStyle(element);
console.log(computedStyle.width); // значение ширины, примененной к элементу
Для удаления конкретного свойства достаточно присвоить пустую строку:
element.style.width = '';
element.style.backgroundColor = '';
Для полного удаления всех inline стилей можно использовать:
element.removeAttribute('style');
Для применения сразу нескольких стилей можно использовать объект и
метод Object.assign:
Object.assign(element.style, {
width: '300px',
height: '150px',
backgroundColor: 'green',
borderRadius: '10px'
});
Это сокращает код и делает его более читаемым при необходимости задать множество свойств одновременно.
<style> в документе, но ниже, чем
!important.transform задается как строка:
element.style.transform = 'rotate(45deg)'.Применение inline стилей часто используется совместно с анимациями и переходами CSS:
element.style.transition = 'all 0.3s ease';
element.style.opacity = '0.5';
При изменении свойств браузер плавно применяет новые значения
благодаря CSS-свойству transition.
style может приводить к
трудностям в поддержке кода при большом проекте.classList.add/remove.const button = document.querySelector('button');
button.addEventListener('click', () => {
Object.assign(button.style, {
backgroundColor: 'orange',
color: 'white',
padding: '10px 20px',
borderRadius: '5px',
transform: 'scale(1.1)'
});
setTimeout(() => {
button.style.transform = 'scale(1)';
}, 200);
});
В этом примере демонстрируется использование inline стилей для создания интерактивного эффекта при клике, сочетая динамическое изменение цвета, размеров и анимации.