关于那些常见的坑爹的小bug(会持续更新)

当我学了矩阵分析的时候我知道什么是麻烦,当我学了傅里叶级数的时候我知道什么是相当麻烦。然而,当我刚刚接触前端,我才明白什么叫做坑爹的ie6。这个分享对于经验丰富的前端基本都遇过。对于刚入行的新手,或许可以起到一点点的指导作用。不求救万人于水火,但求某日能帮到路过的你。

在说bug之前,先看看各大浏览器最近的份额

有这个百度的浏览器份额可以看出ie6的末日渐行渐近了。

但是中国盗版的xp系统用户还不在少数,所以ie6在短期内不会消失。下面就说一下以ie6为首的一些奇葩而又常见的bug。

1、IE6.0 Bug---双倍边距(margin)的bug

这个不用多说,入门和没入门的区别就在于有没有听说这个bug了。

解决方法:

加一句:display:inline;就ok.

2、ie6在以下情况下将会引起文字溢出bug

出现的前提:

一个容器包含2两个具有“float”样式的子容器。

第二个容器的宽度大于父容器的宽度,或者父容器宽度减去第二个容器宽度的值小于3

在第二个容器前存在注释(这也是为什么此bug也叫做“IE6注释bug”的原因)。

解决方法:

1.去掉注释。

2.讲--改成————

3、ie下图片空隙BUG

出现的前提:

有2个img或者同时用的时候,就会出现。

解决方法:

1.img加vertical-align:top;

2.设置图片的浮动属性,例如img加float:left;

4、解决IE6不支持position:fixed的bug

解决方法:

/* 除IE6浏览器的通用方法 */
* html,* html body{background-image:url(about:blank);background-attachment:fixed}防抖动
.ie6fixedTL{position:fixed;left:0;top:0}
.ie6fixedBR{position:fixed;right:0;bottom:0}
.ie6fixed3 { /* IE6浏览器的特有方法 */
/* IE6浏览器的特有方法 */ * html .ie6fixedTL{position:absolute;left:expression(eval(document.documentElement.scrollLeft));
top:expression(eval(document.documentElement.scrollTop))} * html .ie6fixedBR{position:absolute;left:expression(eval(document.documentElement.scrollLeft+document.documentElement.clientWidth-this.offsetWidth)-(parseInt(this.currentStyle.marginLeft,10)||0)-(parseInt(this.currentStyle.marginRight,10)||0));top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0)))}

5.定义不了高度为1px的容器

IE6下的默认的行高造成这个bug,

解决方法很多,

例如:overflow:hidden 或者zoom:0.08 或者 line-height:1px。

6.超链接访问过后hover样式就不出现的问题

被点击访问过的超链接样式不再具有hover和active了

解决方法:

改变CSS属性的排列顺序: L-V-H-A

<style type="text/css">
a:link {}
a:visited {}
a:hover {}
a:active {}
</style>   

今晚就写这么多,有空再往里面加。

虽然很多东西都经常见到,但是如果你不记下来,有一天你遇到了,不一定能想得起如何解决。

所以就算简单,不忘积累。

顺便把demo的网址发一下吧,请在相应的浏览器看,例如ie6.

链接:http://jsbin.com/hacadukurilo/1/edit

Author: Alone

Antroduction: 高级前端开发工程师

Sign: 人生没有失败,只有没到的成功。

博主相关文章推荐:

有趣的前端题目,看了不后悔

移动端前端开发概述

浅谈 标签的语义化

浅谈鼠标滚轮事件

不积跬步无以至千里----高度自适应的textarea

sass和less,优秀的前端样式预处理器

视差滚动的那些事儿

时间: 2025-02-01 06:55:42

关于那些常见的坑爹的小bug(会持续更新)的相关文章

C#小常识,持续更新..

1.cs部分添加隐藏样式IntegratedEquipmentblock.Style.Add("display", "none"); 2.gridview添加奇偶行样式 protected void gvIntegratedEquipmentList_RowDataBound(object sender, GridViewRowEventArgs e) { //添加样式-----------begin switch (e.Row.RowType) { case Da

Ubuntu小知识(持续更新)

一.环境变量 1./etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户 第一次登录时,该文件被执行. 2./etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量. 3.~/.bash_profile:在登录时用到的第三个文件是.bash_profile文件,每个用户都可使用该文件输入专用于自己使用的 shell信息,当用户登录时,该文件仅仅执行一次!默认情况下

iOS 小知识点(持续更新)

1.如何通过代码设置Button  title的字体大小 设置Button.titleLabel.font = [UIFont systemFontOfSize:<#(CGFloat)#>] : 2.获取当前时间 NSDate *timeDate=[NSDate date]; NSDateFormatter * dateformatter=[[NSDateFormatter alloc] init]; [dateformatter setDateFormat:@"YYYYMMddHH

sourceInsight使用小技巧汇总--持续更新中

作为测试人员,读各种平台的工程代码时,根本不想安装各种vs或者eclipse等,于是,就找了一款代码阅读工具. sourceInsight,下载地址为官网:http://www.sourceinsight.com/ 那么,问题就来了,sourcinsight的界面风格呀,真真不习惯,而且打开代码文件的时候没有文件标签. 于是,就百度呀 总结一些设置小技巧 设置前打开新建project后打开时这样的 一. Source Insight中文字体设置 Source Insight是一个面向项目开发的程

来吧,IT小小鸟(持续更新ing)

我是一只小小小小鸟,想要飞呀飞呀却飞不高啊....... 有人冷冷应对:你飞不高是因为学的不够 [中国目前还是启蒙时代,路子一不留神就错了.我更建议通过大量阅读,从科学中获得方法:技术与创业获得财富:大时间周期进行自我监控.自我反思与自我练习,获得竞争优势:参与志同道合的社区,与自我驱动的人共事,获得友情的路子. 未来时代,商业合作与个人发展,日益"阳谋".可以持续性地利用信息不对称牟利的机会越来越少:反之,可以持续性地利用智力不对称谋利的机会越来越多.当然,我所定义的智力,是神经智力

【转】[总结]vue开发常见知识点及问题资料整理(持续更新)

1.(webpack)vue-cli构建的项目如何设置每个页面的title 2.vue项目中使用axios上传图片等文件 3.qs.stringify() 和JSON.stringify()的区别以及在vux中使用post提交表单数据需要qs库序列化 4.vue中实现全局的setCookie,getCookie以及delCookie方法笔记 5.webpack中alias配置中的"@"是什么意思? 6.webpack proxyTable 代理跨域 7.如何在 vue 项目里正确地引用

基础小知识,持续更新中~

一.一些基础小命令 dir = 查看当前目录文件列表 cd .. 返回上一层目录 cd ../.. 返回上上一层目录 二.关于中文编码 #-*- coding:utf-8 -*-print ("中国") 三.设置notepad++ 快捷键 设置--->首选项--->语言---->勾选替换为空格,tab键自动打印4个空格 视图--->显示符号--->显示空格与制表符. 四.注释 # 单行注释'''多行注释'''""" 多行注释

一些有意思的小知识(持续更新?)

一些iOS的小知识点(持续更新???)

有两年没有开发iOS了,最近又开始接触iOS开发,发现好多旧知识忘记了,好多新知识还不知道. 最近正在学习中,一些心得做下memo,也可以和大家分享一下. 初始化方法的返回值类型(类名,id,instancetype) 初始化方法的返回值一般设成id.为什么呢?为什么不设成类名呢?如果你设成类名,子类就不好处理了.比如说子类想覆盖父类的初始化方法,但想返回自己的类型,就不好处理了.所以一般返回id类型. 但是id类型不是type safe的.比如说,NSString *str = [NSArra