Библиотека Bliss.js предоставляет удобный и
лаконичный способ работы с DOM-элементами. Метод $.style()
позволяет напрямую управлять inline-стилями элементов, обеспечивая
простоту и гибкость в изменении внешнего вида без необходимости
написания громоздких цепочек
element.style.property = value.
Метод $.style() может использоваться для:
Синтаксис метода:
element.style(property, value);
element.style({ property1: value1, property2: value2 });
element.style(property); // для чтения
element.style(property, ''); // для удаления
Прямое назначение свойства выполняется очень просто. Первый аргумент — название CSS-свойства в camelCase, второй — значение.
var box = $('#box');
box.style('backgroundColor', 'red');
box.style('width', '200px');
box.style('height', '100px');
В примере свойство background-color задаётся через
backgroundColor в camelCase, а размер задаётся в пикселях.
Это обеспечивает корректное сопоставление с DOM API.
Метод поддерживает передачу объекта, где ключи — имена свойств, значения — соответствующие значения стилей. Такой способ удобен для массовой настройки элементов.
box.style({
backgroundColor: 'blue',
border: '2px solid black',
borderRadius: '10px',
padding: '20px'
});
Использование объекта повышает читаемость кода и позволяет централизованно управлять стилями.
Для получения текущего inline-значения свойства достаточно вызвать метод с одним аргументом:
var bgColor = box.style('backgroundColor');
console.log(bgColor); // "blue"
Важно понимать, что метод возвращает только
inline-стиль, заданный через style="". Стили из
CSS-файлов или computed styles возвращены не будут.
Удалить inline-стиль можно, установив значение свойства в пустую строку:
box.style('border', '');
После этого свойство исчезнет из атрибута style и
элемент будет наследовать стиль из CSS-файлов или других источников.
Bliss.js позволяет работать и с CSS-переменными через --
синтаксис:
box.style('--main-color', '#ff6600');
Это создаёт или обновляет CSS-переменную для конкретного элемента,
которую можно использовать в стилях через
var(--main-color).
Метод $.style() принимает не только строку, но и функцию
для динамического расчёта значения:
box.style('width', function(el, i) {
return (i + 1) * 50 + 'px';
});
Функция получает два аргумента: элемент и индекс (если применяется к коллекции). Это особенно удобно при работе с группами элементов для плавного распределения стилей.
Если метод вызывается на наборе элементов, Bliss.js применяет стили ко всем сразу:
$$('.item').style({
margin: '10px',
padding: '5px'
});
Каждый элемент получит одинаковые inline-стили без необходимости использования циклов.
backgroundColor, fontSize.getComputedStyle.$$().var button = $('#btn');
button.on('mouseover', function() {
this.style('backgroundColor', 'green');
});
button.on('mouseout', function() {
this.style('backgroundColor', '');
});
var box = $('#box');
var width = 100;
var interval = setInterval(function() {
width += 10;
box.style('width', width + 'px');
if (width >= 300) clearInterval(interval);
}, 100);
$$('.item').style(function(el, i) {
return {
marginLeft: (i * 20) + 'px',
opacity: 1 - i * 0.1
};
});
Метод $.style() позволяет создать чистый и лаконичный
код при работе с DOM, заменяя громоздкие конструкции
element.style.property = value и повышая читаемость
проекта.