Библиотека Zepto.js предоставляет удобные методы для работы с CSS-свойствами элементов на веб-странице, сочетая компактность с функциональностью, аналогичной jQuery. Работа с CSS в Zepto охватывает чтение и изменение как одиночных, так и множественных стилей элементов.
Для чтения значения CSS используется метод css. Он
возвращает вычисленное значение свойства элемента.
var color = $('#element').css('color');
backgroundColor или
background-color).css
возвращает значение первого элемента коллекции.Пример чтения нескольких свойств сразу:
var styles = $('#element').css(['width', 'height', 'margin-top']);
console.log(styles.width, styles.height, styles['margin-top']);
Возвращаемое значение в этом случае — объект, где ключи соответствуют переданным свойствам, а значения — их текущие вычисленные значения.
Метод css используется и для изменения стилей.
Существует несколько вариантов вызова.
Установка одного свойства:
$('#element').css('color', 'red');
Установка нескольких свойств одновременно через объект:
$('#element').css({
width: '200px',
height: '100px',
'background-color': '#f0f0f0'
});
backgroundColor), так
и стандартный CSS-формат (background-color).Для свойств, ожидающих числовые значения с единицами
(px, %, em), Zepto автоматически
добавляет px, если указано число:
$('#element').css('width', 300); // эквивалентно '300px'
Для свойств без единиц (opacity, zIndex)
число передавать можно напрямую:
$('#element').css('opacity', 0.5);
$('#element').css('zIndex', 10);
При выборе нескольких элементов через селектор, вызов метода
css применяется ко всем элементам
коллекции:
$('.box').css('border', '1px solid black');
Чтение свойства возвращает значение только первого элемента:
var border = $('.box').css('border');
Zepto позволяет удалить свойство, установив его значение в пустую строку:
$('#element').css('color', '');
Это эквивалентно удалению inline-стиля для данного свойства.
Метод css возвращает вычисленное
значение, а не значение, указанное в стилевом файле. Например,
если в CSS задано width: 50%;, вызов:
$('#element').css('width');
вернет фактическую ширину в пикселях, вычисленную браузером.
Zepto напрямую не поддерживает чтение стилей псевдоэлементов
(::before, ::after). Для этого требуется
использовать window.getComputedStyle:
var content = window.getComputedStyle(document.querySelector('#element'), '::before').content;
Кастомные CSS-переменные можно получать и устанавливать через метод
css с синтаксисом --variable:
$('#element').css('--main-color', 'blue');
var mainColor = $('#element').css('--main-color');
Хотя Zepto не имеет встроенного комплексного механизма анимации как
jQuery, библиотека поддерживает плавное изменение некоторых свойств
через метод animate. Например:
$('#element').animate({ width: '300px', opacity: 0.5 }, 400);
Метод принимает объект свойств, длительность анимации и функцию обратного вызова.
Порядок единиц измерения. Если у свойства по
умолчанию нет единиц, Zepto не добавляет px. Например,
lineHeight и opacity — это числа без
единиц.
Чтение вычисленных значений всегда возвращает строку, даже если это число. Для арифметики требуется конвертация:
var width = parseInt($('#element').css('width'), 10);Совместимость с IE: старые версии IE могут
возвращать значения в нестандартном формате (например,
auto).
Метод css в Zepto обеспечивает универсальный доступ к
стилям элементов, позволяя управлять как одиночными, так и
множественными свойствами, с поддержкой числовых значений, кастомных
CSS-переменных и совместимости с анимацией. Его компактность и простота
делают работу с DOM-стилями удобной и предсказуемой.