请选择 进入手机版 | 继续访问电脑版
贠老师培训群:150322713    贠老师QQ:767708506

贠老师office培训-excel学习网

 找回密码
 立即注册
点击咨询贠老师
查看: 339|回复: 4

如何查找页面中的CSS bug

[复制链接]

607

主题

604

帖子

1909

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1909
发表于 2016-1-24 21:43:18 | 显示全部楼层 |阅读模式

相信大家对于常见CSS BUG的处理已经相对比较熟悉,例如:IE6 Three PixeLGap、IE5/6 Doubled Float-Margin Bug等等。但时常我们也会碰到复杂的CSS BUG问题,所谓“复杂”实质是指触发的条件很复杂,而“BUG” 也并非指一定是浏览器的BUG 。对于此类问题,我们首先要解决的是如何定位到问题,只有快速的定位到问题,才能更好的解决问题。

对于快速定位,个人的经验处理一般如下(基本可以定位到我在 淘宝 遇到的 90% 以上的复杂CSS BUG 问题):

1、检查页面的标签是否闭合

不要小看这条,也许折腾了你两天都没有解决的CSS BUG 问题,却仅仅源于这里。毕竟页面的模板一般都是由开发来嵌套的,而他们很容易犯此类问题。

快捷提示:可以用 Dreamweaver 打开文件检查,一般没有闭合的标签,会黄色背景高亮。

2、样式排除法

有些复杂的页面也许加载了N个外链CSS 文件,那么逐个删除CSS 文件,找到 BUG 触发的具体CSS 文件,缩小锁定的范围。

对于刚才锁定的问题CSS 样式文件,逐行删除具体的样式定义,定位到具体的触发样式定义,甚至是具体的触发样式属性。

3、模块确认法

有时候我们也可以从页面的HTML元素出发。删除页面中不同的HTML模块,寻找到触发问题的HTML模块。

4、检查是否清除浮动

其实有不少的CSS BUG 问题是因为没有清除浮动造成的。养成良好的清除浮动的习惯是必要的,推荐使用 无额外HTML标签的清除浮动的方法(尽量避免使用 overflow:hidden;zoom:1 的类似方法来清除浮动,会有太多的限制性)。

5、检查IE 下是否触发Haslayout

很多的IE 下复杂CSS BUG 都与IE 特有的Haslayout 息息相关。熟悉和理解Haslayout 对于处理复杂的CSS BUG 会事半功倍。推荐阅读 old9 翻译的 《OnHaving layout》(如果无法翻越穿越伟大的 GFW,可阅读 蓝色上的转帖 )

快捷提示:如果触发了Haslayout,IE 的调试工具IE Developer Toolbar 中的属性中将会显示Haslayout 值为 -1。

6、边框背景调试法

故名思议就是给元素设置显眼的边框或者背景(一般黑色或红色),进行调试。此方法是最常用的调试CSS BUG 的方法之一,对于复杂 BUG 依旧适用。经济实惠还环保^^

最后想给大家强调一点的是,养成良好的书写习惯,减少额外标签,尽量语义,符合标准,其实可以为我们减少很多额外的复杂CSS BUG,更多的时候其实是我们自己给自己制造了麻烦。希望大家远离 BUG ,生活越来越美好。


回复

使用道具 举报

0

主题

882

帖子

6

积分

注册会员

Rank: 2

积分
6
发表于 2017-10-7 09:00:44 | 显示全部楼层
有些不是太明白,研究研究再说
回复 支持 反对

使用道具 举报

1

主题

1074

帖子

76

积分

注册会员

Rank: 2

积分
76
发表于 2018-2-6 14:09:00 | 显示全部楼层
抱走~老好人
回复 支持 反对

使用道具 举报

2

主题

968

帖子

108

积分

注册会员

Rank: 2

积分
108
发表于 2018-8-9 16:57:10 | 显示全部楼层
大神啊!豁然开朗。。。。。。
回复 支持 反对

使用道具 举报

1

主题

1074

帖子

76

积分

注册会员

Rank: 2

积分
76
发表于 2018-11-12 10:00:20 | 显示全部楼层
不错,学习了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



陕ICP备15003731号  

贠老师培训 GMT+8, 2018-12-19 21:54 , Processed in 0.229917 second(s), 33 queries .

快速回复 返回顶部 返回列表