This commit is contained in:
51
node_modules/licia/$css.js
generated
vendored
Normal file
51
node_modules/licia/$css.js
generated
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
var isStr = require('./isStr');
|
||||
var isObj = require('./isObj');
|
||||
var kebabCase = require('./kebabCase');
|
||||
var isUndef = require('./isUndef');
|
||||
var contain = require('./contain');
|
||||
var isNum = require('./isNum');
|
||||
var $safeEls = require('./$safeEls');
|
||||
var prefix = require('./prefix');
|
||||
var each = require('./each');
|
||||
exports = function(nodes, name, val) {
|
||||
nodes = $safeEls(nodes);
|
||||
var isGetter = isUndef(val) && isStr(name);
|
||||
if (isGetter) return getCss(nodes[0], name);
|
||||
var css = name;
|
||||
if (!isObj(css)) {
|
||||
css = {};
|
||||
css[name] = val;
|
||||
}
|
||||
setCss(nodes, css);
|
||||
};
|
||||
function getCss(node, name) {
|
||||
return (
|
||||
node.style[prefix(name)] ||
|
||||
getComputedStyle(node, '').getPropertyValue(name)
|
||||
);
|
||||
}
|
||||
function setCss(nodes, css) {
|
||||
each(nodes, function(node) {
|
||||
var cssText = ';';
|
||||
each(css, function(val, key) {
|
||||
key = prefix.dash(key);
|
||||
cssText += key + ':' + addPx(key, val) + ';';
|
||||
});
|
||||
node.style.cssText += cssText;
|
||||
});
|
||||
}
|
||||
var cssNumProps = [
|
||||
'column-count',
|
||||
'columns',
|
||||
'font-weight',
|
||||
'line-weight',
|
||||
'opacity',
|
||||
'z-index',
|
||||
'zoom'
|
||||
];
|
||||
function addPx(key, val) {
|
||||
var needPx = isNum(val) && !contain(cssNumProps, kebabCase(key));
|
||||
return needPx ? val + 'px' : val;
|
||||
}
|
||||
|
||||
module.exports = exports;
|
||||
Reference in New Issue
Block a user