src/ispriter.js
function setImageWidthHeight(styleObj, imageInfo) {
    var w = 0,
        h = 0,
        mw = imageInfo.width,
        mh = imageInfo.height;

    // 遍历所有规则, 取最大值
    styleObj.cssRules.forEach(function(style) {
        w = getPxValue(style.width),
        h = getPxValue(style.height);

        // TODO 这一步有必要么? // 没有设置宽高的样式, 用图片的大小来设置
        // if(!style.hasOwnProperty('width')){
        //     style.setProperty('width', imageInfo.width + 'px', null);
        // }
        // if(!style.hasOwnProperty('height')){
        //     style.setProperty('height', imageInfo.height + 'px', null);
        // }
        if (w > mw) {
            mw = w;
        }
        if (h > mh) {
            mh = h;
        }
    });

    /*
     * 最后的大小还要加上 config 中配置的 margin 值
     * 这里之所以用 w / h 来表示宽高, 而不是用 with / height
     * 是因为 packer 算法限定死了, 值读取传入元素的 w / h 值
     */
    styleObj.w = mw + spriteConfig.output.margin;
    styleObj.h = mh + spriteConfig.output.margin;
}
function setImageWidthHeight(styleObj, imageInfo) {
    var w = 0,
        h = 0,
        mw = imageInfo.width,
        mh = imageInfo.height;

    // 遍历所有规则, 取最大值
    styleObj.cssRules.forEach(function(style) {
        w = getPxValue(style.width),
        h = getPxValue(style.height);

        // TODO 这一步有必要么? // 没有设置宽高的样式, 用图片的大小来设置
        // if(!style.hasOwnProperty('width')){
        //     style.setProperty('width', imageInfo.width + 'px', null);
        // }
        // if(!style.hasOwnProperty('height')){
        //     style.setProperty('height', imageInfo.height + 'px', null);
        // }
        if (w > mw) {
            mw = w;
        }
        if (h > mh) {
            mh = h;
        }
    });

    /*
     * 最后的大小还要加上 config 中配置的 margin 值
     * 这里之所以用 w / h 来表示宽高, 而不是用 with / height
     * 是因为 packer 算法限定死了, 值读取传入元素的 w / h 值
     */
    styleObj.w = mw + spriteConfig.output.margin;
    styleObj.h = mh + spriteConfig.output.margin;
}
function setImageWidthHeight ( styleObj , imageInfo ) { var w = 0 , h = 0 , mw = imageInfo . width , mh = imageInfo . height ; // 遍历所有规则, 取最大值 styleObj . cssRules . forEach ( function ( style ) { w = getPxValue ( style . width ) , h = getPxValue ( style . height ) ; // TODO 这一步有必要么? // 没有设置宽高的样式, 用图片的大小来设置 // if(!style.hasOwnProperty('width')){ //     style.setProperty('width', imageInfo.width + 'px', null); // } // if(!style.hasOwnProperty('height')){ //     style.setProperty('height', imageInfo.height + 'px', null); // } if ( w > mw ) { mw = w ; } if ( h > mh ) { mh = h ; } } ) ; /*
     * 最后的大小还要加上 config 中配置的 margin 值
     * 这里之所以用 w / h 来表示宽高, 而不是用 with / height
     * 是因为 packer 算法限定死了, 值读取传入元素的 w / h 值
     */ styleObj . w = mw + spriteConfig . output . margin ; styleObj . h = mh + spriteConfig . output . margin ; }
把用了同一个图片的样式里写的大小 (with, height) 跟图片的大小相比较, 取最大值,
防止有些样式写的宽高比较大, 导致合并后显示到了周边的图片内容
@param {StyleObj} styleObj
@param {ImageInfo} imageInfo
把用了同一个图片的样式里写的大小 ( with height ) 跟图片的大小相比较 取最大值 防止有些样式写的宽高比较大 导致合并后显示到了周边的图片内容