最简单的一些css问题是由代码中的打字和语法错误造成的。 例如在声明末尾忘了加分号,或者在输入的时候输入错误。解决方法:选择一个包含语法突出显示和代码补全功能的css编译器。自己写代码的时候也多注意。
1、特殊性和分类次序的问题
在将一个规则应用于一个元素时,如果发现没有效果,这是往往存在特殊性问题。
例如把内容中所有段落的背景颜色设置为白色,但是希望intro段落为橙色的:
.content p{ background-color: white; } .intro{ background-color: orange; }
如果在浏览器中测试,会看到intro段落仍然为白色,为实现想要的结果,需要让intro段落的选择器更特殊,最好的方法在intro段落选择器的开头添加内容元素的class
.content p{ background-color: white; } .content .intro{ background-color: orange; }
2、外边距叠加问题
外边距叠加会导致许多麻烦的css特性。以div元素内嵌套的一个段落 为例
<div id="mycontent"> <p>我的边距为20px</p> </div> //div框设置了10像素,段落设置了20像素的外边距 #mycontent { margin: 10px; background-color: #DDDDDD; } #mycontent p { margin: 20px; background-color: #FFFF00; }
现在段落的20像素顶外边距和底外边距与div的10像素外边距叠加,形成了一个20像素的垂直外边距。出现这种情况是由于具有块级子元素的元素计算其高度的方式造成的。
解决方法:通过添加一个垂直边框或内边距,外边距就不再叠加,而且元素的高度就是它包含的子元素的顶部和底部外边距边缘之间的距离。
#mycontent { margin: 10px; padding: 1px; background-color: #DDDDDD; } #mycontent p { margin: 20px; background-color: #FFFF00; }
3、3像素文本偏移bug
在ie8一下,当文本与一个浮动元素相邻时,就会出现这个bug。
解决方法:设置一个小的高度height:1%;margin-left:0;然后在浮动元素上设置一个负3像素的右外边距。
4、捕捉bug知识
跟踪bug的第一步是检测你的html和css,检查打字或语法错误。然后通过浏览器开发人员工具检查,了解页面,查看属性是否起到作用。
在开发中使用更符合标准的浏览器(firefox)作为主要的开发浏览器。记住,不要把浏览器测试留到项目快结束时。应该采用连续测试方法,在项目开发中用所有浏览器检查页面。这样就不会在页面结束是突然发现许多问题。
5、尽量一开始就避免bug
消除bug的最好办法就是从一开始就避免bug。很多bug都是由过分复杂的html或css造成的。应于最少的代码实现所需的结果。
6、隔离问题
一旦确信出现了bug,就需要尽力隔离问题。通过隔离问题和识别症状,有可能查明问题的原因并修复它。隔离的一种方法是在相关的元素上使用边框和轮廓,看看它们的反应,如果一个边框就修复问题,那么就是边距叠加问题。
尝试一些常见的解决方法,例如,将position属性设置为relaticve、将display属性设置为inline(在浮动元素上)或者设置宽高等尺寸,就能修复ie的许多bug。
7、创建基本测试案例
基本测试案例就是重现bug所需的最少量的html和css。通过创建基本的测试案例,可以去掉一些“变量”, 使问题简单化。
创建基本测试案例,复制出问题文件,然后删除多余的代码,开始注释掉或删除代码块。如果bug消失了,那么就找到了问题代码,然后解决问题。
8、修复问题,不是修复症状
知道问题的根源,对于实现正确的解决方案是很有利的。最容易的解决方法就是回避这个问题。比如;如果是外边距的问题,我们就用内边距来来代替;如果是html的组合问题,那就考虑换一种组合。
如果发现问题无法回避,那就只能解决这个问题。如果还解决不了那就寻求帮助,可以借助活跃的论坛。
相关推荐
信大家对于常见 CSS BUG 的处理已经相对比较熟悉,例如:IE6 Three Pixel Gap、IE5/6 Doubled Float-Margin Bug 等等。但时常我们也会碰到复杂的 CSS BUG 问题,所谓“复杂”实质是指触发的条件很复杂,而“BUG” 也...
CSS BUG在jb51.net介绍过也很多,也一直困扰着大家,在CSS布局中会常遇到这样的问题。相信大家对于常见 CSS BUG 的处理已经相对比较熟悉,例如:IE6 Three Pixel Gap(3px bug)、IE5/6 Doubled Float-Margin Bug...
对于初学者来说,可以比较简单的理解和处理css中遇见的一些浏览器兼容常见问题,以及对于IE中的bug得处理等,都是个人的一个整理。
相信大家对于常见 CSS BUG...对于快速定位,个人的经验处理一般如下(基本可以定位到我在 淘宝 遇到的 90% 以上的复杂 CSS BUG 问题): 1、检查页面的标签是否闭合 不要小看这条,也许折腾了你两天都没有解决的 CSS BU
对于web2.0的过度,请尽量用xhtml格式写代码,而且DOCTYPE 影响 CSS 处理,作为W3C的标准,一定要加 DOCTYPE声明. 其它请参考:CSS hack 针对IE6,IE7,firefox显示不同效果 1.div的垂直居中问题 vertical-align:middle...
├24 第二屏开发 bug处理.mp4 ├25 flex弹性盒模型 flex-direction flex-wrap.mp4 ├26 justify-content align-items align-content order.mp4 ├27 阿里矢量图标库的使用方法.mp4 ├28 淘宝网移动端首页开发实战1....
完善网上zyUpload示例的代码 新增处理上传文件的处理和文件名为中文的BUG
在进行CSS网页布局时会遇到许多奇怪的问题,这些问题可能是浏览器的bug,也可能是我们对CSS属性不够了解,虽然Webjx.com介绍了大量的知识,但多动手编码,掌握到了技巧才是自己的。 今天谈谈CSS外边距叠加的问题...
需求:制作web版计算器,要求实现+-*%和平方,开方。 2.0版:修复归零的问题 3.0版:支持正负数; 4.0版:修复多个多个运算符号导致不...解决0.1,0.2,0.04 等数字计算结果的问题可以输入0.1*0.1打断点查看处理fang'f
BugTracker.NET是完全免费的,它基于Web的错误或问题跟踪书面报告,使用ASP.NET,C#和... 你的自定义配置文件 a) Web.config b) btnet_service.exe.config c) btnet_custom.css, btnet_edit_bug.css, btnet_search.css
"html_dir_path": "D:\\projects\\github_project\\merge_js_css\\examples\\html" \\待合并处理的html页面目录 } # 前置条件 安装uglify-js npm install uglify-js --save-dev 安装clean-css npm ...
11 第六节 div+css的兼容性问题 11 一、div的垂直居中问题 11 二、margin加倍的问题 11 三、浮动ie产生的双倍距离 11 四、IE与宽度和高度的问题 11 五、页面的最小宽度 12 六、DIV浮动IE文本产生3象素的bug 12 七、...
从网上收集了IE7,6与Fireofx的兼容性处理方法并整理了一下.对于web2.0的过度,请尽量用xhtml格式写代码,而且DOCTYPE 影响 CSS 处理,作为W3C的标准,一定要加 DOCTYPE声名. CSS技巧 1.div的垂直居中问题 vertical-...
文件构成:总共有86个文件,其中Python源文件占21个,负责后端逻辑处理;样式文件包括14个Less和14个SCSS文件,以及7个CSS文件,用于界面美化;此外,还包括5个TrueType字体文件、4个HTML模板文件、4个JavaScript...
对于web2.0的过度,请尽量用xhtml格式写代码,而且DOCTYPE 影响 CSS 处理,作为W3C的标准,一定要加 DOCTYPE声明. 1.div的垂直居中问题 vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后...
由于IE系浏览器对标准的支持不够好,导致Web开发中经常需要去处理浏览器兼容性问题,特别有些莫名其妙的问题很让人头疼
Hack是针对不同的浏览器去写不同的CSS样式,从而让各浏览器能达到一致的渲染效果,那么针对不同的浏览器写不同的CSS CODE的过程,就叫CSS HACK。文件是整理所得的技巧,还有如何处理BUG!