ChatGPT解决这个技术问题 Extra ChatGPT

谷歌浏览器两种元素样式的区别

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

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

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

当前样式差异的示例是我在 A 旁边有一个内联 H4,其中 A 在垂直对齐中显得更高。我不会在这个问题上寻求解决方案,因为我会解决它。


P
Paul Irish

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

https://i.stack.imgur.com/YHKum.png

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

概念证明

作为概念证明,我们可以在这里做一个小技巧,避免创建扩展。 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);

如何使用它?

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

结果

https://i.stack.imgur.com/0KoEK.png


@GeoffreyHudik CSS Diff 扩展现在可以在选项卡之间工作 - 看看吧。
如果您不介意使用 Firefox,我添加了一个功能,可让您右键单击,设置“A”节点,右键单击,设置“B”节点,并比较元素 及其子元素的 css 属性addons.mozilla.org/en-US/firefox/addon/devtools-tweaks
链接目前已失效
CSS diff 扩展似乎无法正常工作 - 我没有在 devtools 中看到 CSS diff 选项卡 :-(。我过去使用过它并且非常满意。我再也找不到它了。
从 github github.com/kdzwinel/CSS-Diff 手动安装的 0.33.0 版正在运行。这是你自己的风险。