Dom7 — это лёгкая библиотека для работы с DOM, часто используемая вместе с фреймворком Framework7, которая обеспечивает удобный и лаконичный синтаксис для манипуляций с элементами HTML. Одной из ключевых возможностей является работа со стилями элементов, включая установку inline-стилей.
.css()В Dom7 установка inline-стилей осуществляется с помощью метода
.css(). Этот метод поддерживает два основных варианта
использования:
$element.css('color', 'red');
В этом случае 'color' — имя CSS-свойства,
'red' — его значение. Метод можно применять к любому
объекту Dom7, состоящему из одного или нескольких элементов. При этом
все элементы коллекции получат указанный стиль.
$element.css({
'background-color': 'blue',
'font-size': '16px',
'margin-top': '10px'
});
В этом формате передаётся объект, где ключи — CSS-свойства, а значения — соответствующие значения этих свойств. Этот подход особенно удобен для комплексной настройки внешнего вида элементов за одну операцию.
Метод .css() также используется для чтения текущего
значения стиля:
var color = $element.css('color');
console.log(color);
Если элемент содержит несколько дочерних объектов,
.css() вернёт значение первого элемента коллекции. Это
позволяет быстро получить текущее состояние стиля без необходимости
обращаться к getComputedStyle напрямую.
$element.css('backgroundColor', 'green');
$element.css('background-color', 'green');
Оба вызова корректно установят цвет фона.
px, em, %), их необходимо
указывать явно:$element.css('margin', '20px');
Метод не добавляет единицы автоматически, поэтому 20 без
'px' будет считаться некорректным значением для большинства
свойств.
Dom7 позволяет одновременно применять стили ко всем элементам коллекции:
$$('.item').css('border', '1px solid black');
В этом примере каждая нода с классом .item получит
рамку. Это значительно упрощает массовое стилизование по сравнению с
традиционным forEach и element.style.
Для создания интерактивных эффектов inline-стили часто изменяются динамически:
$$('.button').on('click', function () {
$$(this).css('background-color', 'orange');
});
В данном случае при клике на кнопку её цвет фона меняется мгновенно. Использование Dom7 сокращает количество кода и повышает читаемость.
Метод .css() также позволяет удалять ранее установленные
свойства, присвоив им пустое значение:
$element.css('margin-top', '');
Это эквивалентно удалению inline-стиля для конкретного свойства, что позволяет вернуть элемент к стилям, заданным через CSS-классы или внешние таблицы стилей.
Dom7 нередко используется вместе с анимациями, где inline-стили играют ключевую роль. Например, плавное изменение позиции или прозрачности:
$element.css({
'opacity': '0',
'transform': 'translateY(20px)'
});
Комбинация .css() с методами .transition()
и .animate() Framework7 позволяет создавать сложные
анимационные эффекты без дополнительного вмешательства в DOM.
.css() для динамических изменений.Dom7 предоставляет удобный и лаконичный интерфейс для работы с inline-стилями, позволяя управлять внешним видом элементов программно, быстро и читаемо, без лишнего кода и громоздких циклов.