常见的浏览器兼容问题

html常见兼容性问题?
1.双边距BUG float引起的
解决办法: 使用display
2.3像素问题 使用float引起的
解决办法: 使用dislpay:inline -3px
3.超链接hover 点击后失效
解决办法:使用正确的书写顺序 link visited hover active
4.IE z-index问题
解决办法:给父级添加position:relative
5.Png 透明
解决办法:使用js代码 改
6.Min-height 最小高度
解决办法: !Important 解决’
7.select 在ie6下遮盖
解决办法: 使用iframe嵌套
8.为什么没有办法定义1px左右的宽度容器
(IE6默认的行高造over:hidden,zoom:0.08 line-height:1px)
9.IE5-8不支持opacity
解决办法:.opacity {opacity: 0.4filter: alpha(opacity=60); /* for IE5-7 /
-ms-filter: "progid:DXImageTransform.Microsoftfor IE 8
/}
10IE6不支持PNG透明背景
解决办法: IE6下使用if

  • 格式为png24的图片在iE6浏览器上出现背景,解决方案是做成PNG8.

  • 浏览器默认的margin和padding不同。解决方案是加一个全局的*{margin:0;padding:0;}来统
    一。

  • IE6双边距bug:块属性标签float后,又有横行的margin情况下,在ie6显示margin比设置的大。
    浮动ie产生的双倍距离 #box{ float:left; width:10px; margin:0 0 0 100px;}
    这种情况之下IE会产生20px的距离,解决方案是在float的标签样式控制中加入 ——
    _display:inline;将其转化为行内属性。(_这个符号只有ie6会识别)
    渐进识别的方式,从总体中逐渐排除局部。
    首先,巧妙的使用“\9”这一标记,将IE游览器从所有情况中分离出来。
    接着,再次使用“+”将IE8和IE7、IE6分离开来,这样IE8已经独立识别。
    css

    .bb{
    background-color:#f1ee18;/所有识别/
    .background-color:#00deff\9; /IE6、7、8识别/
    +background-color:#a200ff;/IE6、7识别/
    _background-color:#1e0bd1;/IE6识别/
    }

  • IE下,可以使用获取常规属性的方法来获取自定义属性,
    也可以使用getAttribute()获取自定义属性;
    Firefox下,只能使用getAttribute()获取自定义属性.
    解决方法:统一通过getAttribute()获取自定义属性.

  • IE下,even对象有x,y属性,但是没有pageX,pageY属性;
    Firefox下,event对象有pageX,pageY属性,但是没有x,y属性.

  • (条件注释)缺点是在IE浏览器下可能会增加额外的HTTP请求数。

  • Chrome 中文界面下默认会将小于 12px 的文本强制按照 12px 显示, 可通过加入 CSS 属性 -
    webkit-text-size-adjust: none; 解决.

  • 超链接访问过后hover样式就不出现了 被点击访问过的超链接样式不在具有hover和active了解决 方法是改变CSS属性的排列顺序:
    L-V-H-A : a:link {} a:visited {} a:hover {} a:active {}

posted @ 2019-06-25 20:00  菜鸟的崛起之路  阅读(157)  评论(0编辑  收藏  举报
返回顶端