83

我使用 Google Chrome 开发者工具,并且不断地检查一个元素和另一个元素,以找出可能导致特定样式问题的原因。

比较元素 1 和元素 2 的风格差异会很好。

这可以通过当前的 chrome 或通过一些解决方法来完成吗?有没有可以做我正在寻找的工具?

当前样式差异的示例是我在垂直对齐中出现更高的位置H4旁边有一个内联。我不是在寻找这个问题的解决方案,因为我会解决它。AA

4

1 回答 1

148

更新:作为讨论的结果,创建了“ CSS Diff ”Chrome 扩展。

在此处输入图像描述


很好的问题和很酷的扩展想法!

概念证明

作为概念证明,我们可以在这里做一个小技巧,避免创建扩展。Chrome 将您通过“检查元素”按钮选择的元素保留在变量中。中的最后一个选定元素$0,在此之前的一个元素$1等。基于此,我创建了一个小片段,用于比较最后两个检查的元素:

(function(a,b){    
    var aComputed = getComputedStyle(a);
    var bComputed = getComputedStyle(b);

    console.log('------------------------------------------');
    console.log('You are comparing: ');
    console.log('A:', a);
    console.log('B:', b);
    console.log('------------------------------------------');

    for(var aname in aComputed) {
        var avalue = aComputed[aname];
        var bvalue = bComputed[aname];

        if( aname === 'length' || aname === 'cssText' || typeof avalue === "function" ) {
            continue;
        }

        if( avalue !== bvalue ) {
            console.warn('Attribute ' + aname + ' differs: ');
            console.log('A:', avalue);
            console.log('B:', bvalue);
        }
    }

    console.log('------------------------------------------');
})($0,$1);

如何使用它?

依次检查要比较的两个元素,然后将上面的代码粘贴到控制台。

结果

提供的片段的示例输出

于 2012-09-26T07:19:38.340 回答