我们如何找出ASP .Net网页元素的样式来自何处?
我很困惑。我的Web应用程序(C#、. Net 3.0等)具有主题,CSS工作表,当然还有内联样式定义。现在有很多厨师在汤里加些东西。所有这些结果在我的页面上有时会出现奇怪的样式,这就不足为奇了。
我确定所有这些样式均以分层方法应用(尽管我不确定该顺序)。问题在于每种样式都被应用为"透明"层,仅掩盖了所应用的内容。我觉得这是个好主意,因为我们可以指定整体样式,然后根据需要一次性指定样式。不幸的是,我无法确定样式真正来自哪一层。
我可以通过在所有层上明确表示样式来解决此问题,但这会变得庞大且难以管理,并且页面有80%的时间可以正常工作。我只需要找出那20%的松鼠是哪里来的。
解决方案
回答
在Firefox中,请使用DOM检查器,firebug或者对此进行检查。
在IE中,请使用IE开发人员工具栏(或者可能更好的是Firebug Lite)
在Google Chrome浏览器中,使用内置的"检查元素"功能
回答
恕我直言,Firebug将是我们最好的选择。它会告诉我们样式来自哪个文件,我们可以单击要立即传输到文件中相关行的文件名。
注意:我们可以在任意页面上按ctrl + shift + C来选择和检查元素。
回答
使用IE Developer工具栏,我们可以选择一个元素(通过"单击选择元素"或者在DOM树视图中单击其节点),然后在"当前样式"窗格中,右键单击一行并选择"跟踪样式"。
其他工具具有类似的功能。
回答
这是有关如何使用Firebug来查找元素从何处获取样式的快速概述。
http://screencast.com/t/oFpuDUoJ0
回答
解决复杂CSS问题的关键是找出导致外观怪异的原因。最简单的查找方法是有选择地注释掉样式表,直到找到可以解决该问题的样式表为止。然后启用样式表并有选择地注释掉规则,直到找到导致问题的规则为止。如果我们需要知道什么优先于什么,那么将详细介绍CSS中级联的详细信息
在这里,与个别规则的实现不同,这在浏览器之间是相当一致的。
但是,如果我们完全避免使用内联样式并拥有一组精心设计的样式表,则更好得多,每个样式表都有逻辑功能,并且我们理解所有规则。出于同样的原因,我们不会以随机顺序将服务器端代码放入随机文件中