调试技巧:如何快速知道页面上所有元素的轮廓跟位置!

调试技巧:如何快速知道页面上所有元素的轮廓跟位置!

相信大家都有遇到过这种时候,想知道页面上所有元素的轮廓位置,以便从中获取某些信息,如:是否溢出。
其实最简单的实现方法就是如下CSS代码:

* {
outline: 1px solid red;
}
效果如下:
调试技巧:如何快速知道页面上所有元素的轮廓跟位置!
注意:这里不用border的原因是,border会改变元素的大小。
但是啊,轮廓都是红色,这样看起来层次感还不够。所以我们需要给不同元素生成随机颜色轮廓

document.querySelectorAll("*").forEach(item => {
item.style.outline = "1px solid #" + (~~(Math.random() * (1 << 24))).toString(16);
});
效果如下:
调试技巧:如何快速知道页面上所有元素的轮廓跟位置!
看起来还不错,对吧?但是,这样显得有点麻烦,每次都需要执行一段代码 ????
这里有一个方法可以把上面的代码做成一个开关,点击就开,再此点击就关。
首先代码的逻辑要跟上:

javascript: (function () {
// 初始化一个变量(因为每点一次标签都会执行这个函数,所以该函数内不存在全局变量,以下方式可解决)
if (typeof hasOutline == "undefined") hasOutline = false;

document.querySelectorAll("*").forEach(item => {
item.style.outline = hasOutline ? "none" : "1px solid #" + (~~(Math.random() * (1 << 24))).toString(16);
});

hasOutline = !hasOutline;
})();
然后借用Chrome浏览器的书签功能,书签的网页内容可以放一个地址,也可以执行一段JS脚本!
  1. 打开Chrome浏览器

  2. 在书签栏点击右键,选择添加网页,把上面的代码复制到网址输入框


调试技巧:如何快速知道页面上所有元素的轮廓跟位置!


效果如下:
调试技巧:如何快速知道页面上所有元素的轮廓跟位置!


以上内容参考了其他人的实现
本文主要是改进了轮廓的随机颜色


本文到此结束,感谢你看到最后



 分享给身边更多好友 

调试技巧:如何快速知道页面上所有元素的轮廓跟位置!