远离CSS BUG 尽量保持代码有语义

2016-02-19 23:30 3 1 收藏

下面是个远离CSS BUG 尽量保持代码有语义教程,撑握了其技术要点,学起来就简单多了。赶紧跟着图老师小编一起来看看吧!

【 tulaoshi.com - Web开发 】

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

对于快速定位,个人的经验处理一般如下(基本可以定位到我在 淘宝 遇到的 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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

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

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

6、边框背景调试法

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

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

来源:http://www.tulaoshi.com/n/20160219/1630066.html

延伸阅读
如果你在生成页面的时候过多的使用div,那你有必要阅读这篇文章了。本文主要关注如何通过语义化的标签、减少div使用等方法来简化代码。你是否在修改某人的页面时,被他的乱七八糟的代码搞晕乎?简洁的代码不但方便自己,同时方便你的团队成员。他在你调试页面或编辑的时候节省你的时间(尤其对于大的项目来说)。 一、去掉不必要的div标签 我...
标签: Web开发
从技术上讲,你可以将样式您想要的位置。 不过, HTML规范的建议,将他们放在文件头标记。 主要的好处是,您的网页加载速度似乎更快一些。 head       title应把所有CSS样式都放在Head Tag - www.webjx.com/title       link rel="s...
标签: 辐射4 游戏动漫
《辐射4》永久保持隐形BUG详解 在《辐射4》中有一个BUG,可以使玩家永久隐形,大家是不是很感兴趣,今天图老师图老师小编给大家带来的是一位玩家分享的《辐射4》永久保持隐形BUG介绍,快跟图老师图老师小编一起来看看吧。 刚游戏时偶然发现的。。 我穿着变色龙装,蹲下时会隐形。 当你穿着变色龙装,并且蹲下后,在隐形的同时快速站起,就能...
标签: Web开发
进入空间主页——点击鼠标右键——查看源文件——按Ctrl+F弹出搜索对话框,在里面输入CSS——开始查找——找到以CSS为后缀名的代码(一般是第三个):href="/xxxx/css/item/1bf5638135e103d8bd3e1e52.css",复制/css/item/1bf5638135e103d8bd3e1e52.css加在空间网址http://hi.baidu.com/xxxx,回车,弹出的记事本内的代码即是该空间代码
标签: Web开发
SNS的传播主体是人际传播。校内网与Web2.0应用典范的博客相比,校内网利用后发优势,集成了包括博客在内的绝大部分传统人际传播媒介的功能,更简易地实现了主体的多种需求。通过与博客等媒介的比较,归纳出传者的自组织性及去中心化,以隐私性和自主性为前提的高分享度微内容传播,传播符号的多元化,对象群体的同龄化及指定性,传播主体的...

经验教程

731

收藏

45
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部