问题 找出哪些HTML元素强制页面/块/部分变宽/变宽


我正在尝试更改HTML页面(包含大量CSS)。有一个 <table> 这是'太宽'。我不明白为什么它很宽。它的一个子节点必须有某种形式 width: $A_BIG_NUMBER; css规则,它使它变宽,然后提升并使整个事物变宽。

我通常的方法是手动查看所有元素(或我认为负责的元素)以尝试查找此css规则。

有更容易的方法吗?


5621
2018-05-19 14:42


起源



答案:


我遇到了这些“神秘”宽度问题 - 特别是当我试图争论一个开源主题时,我不是大多数代码的作者。

尝试在CSS中添加一些线框。使用它 加成 使用开发人员网络检查员找到罪魁祸首(safari,IE,chrome现在都带有开箱即用的开发人员工具,firefox的firebug)。

body { margin: 30px; }
/* Add some margin to the body to add space and 
see where your offending elements cross the line */

body * { border: 1px solid red; }
/* add a border to all other elements on the page */

14
2018-05-27 20:17



好小费。没见过了 body * ... 之前的技巧帮助我在大页面上大约5秒内发现了一个有问题的元素。 - Ben
也为我工作。那,并寻找 width: A_BIG_NUMBER 正如OP所建议的那样 body { min-width: 600; } 潜伏在我的CSS中。课/伪答案:不要过于自豪地考虑明显的答案。 - Bob Kaufman
非常好的把戏。我使用它甚至是保证金:0px;并帮助我找到哪个元素有额外的宽度。谢谢! - Iman Sedighi
很棒的提示。谢谢。 - dgig
我更喜欢使用 outline: 1px solid red; 因为它不会影响盒子模型。所有文档元素都保留在通常位置,而不是边框​​稍微移动。 - Joel Murphy


答案:


我遇到了这些“神秘”宽度问题 - 特别是当我试图争论一个开源主题时,我不是大多数代码的作者。

尝试在CSS中添加一些线框。使用它 加成 使用开发人员网络检查员找到罪魁祸首(safari,IE,chrome现在都带有开箱即用的开发人员工具,firefox的firebug)。

body { margin: 30px; }
/* Add some margin to the body to add space and 
see where your offending elements cross the line */

body * { border: 1px solid red; }
/* add a border to all other elements on the page */

14
2018-05-27 20:17



好小费。没见过了 body * ... 之前的技巧帮助我在大页面上大约5秒内发现了一个有问题的元素。 - Ben
也为我工作。那,并寻找 width: A_BIG_NUMBER 正如OP所建议的那样 body { min-width: 600; } 潜伏在我的CSS中。课/伪答案:不要过于自豪地考虑明显的答案。 - Bob Kaufman
非常好的把戏。我使用它甚至是保证金:0px;并帮助我找到哪个元素有额外的宽度。谢谢! - Iman Sedighi
很棒的提示。谢谢。 - dgig
我更喜欢使用 outline: 1px solid red; 因为它不会影响盒子模型。所有文档元素都保留在通常位置,而不是边框​​稍微移动。 - Joel Murphy


如果您正在使用Chromium,只需右键单击,选择“Check Element”(或其他任何东西,其德语版本中的“Elementüberprüfen”)。之后,“检查员”打开。在那里你可以选择表格标签。在右侧,您将找到包含已识别的CSS语句的列表。文件名。 (这有点像Firefox的Firebug,速度要快得多。)


2
2018-05-19 14:55



是的,我正在使用'元素检查器',但是仍然需要进行大量的手动检查,因为我必须经历所有的子元素。是否没有显示尺寸的扩展名? - Rory
@Rory如果将鼠标悬停在检查器视图中的标签上,则元素会突出显示,因此可以一目了然地看到它们的尺寸。检查器右侧面板中的styles-view下面还有一个“Metrics”选项卡。 - feeela
是的,这些指标很适合查看某些元素的大小(我也一直在关注'计算机风格'),但是我仍然需要手动检查所有元素。 - Rory
GNN。 outofbettersolutionshere 使用 overflow:hidden 在<TD> ;-) - feeela