• 在前端工作中遇到的一些常见的兼容问题


    1.图片下方3像素:在div中插如图片时,图片会将div下方撑大3px;

    解决方案:(a)将<div>和<img>写在一行上(IE6、ie7);

         (b)将<img>转为块状元素,给<img>添加声明:display:block;

         (c)给<div>加overflow:hidden;

    2.换行产生3像素;

    解决方案:(a)不换行,将元素放在一行显示;

         (b)给元素加浮动;

    3.鼠标指针bug:cursor属性的hand属性值只有IE浏览器识别,其他浏览器不识别该声明,cursor属性的pointer属性值IE6.0以上版本及其他内核浏览器都识别该声明;

    解决方案:如统一某元素鼠标指针形状为手型,应添加声明cursor:pointer

    4.li里a加display:block,出现行高不一致;

    解决方案:(a)给<a>加display:inline-block;

         (b)给<a>加display:inline;

    5.图片超链接边框(ie9以下);

    解决方案:给<img>添加border:none;    

    6.超链接图片边框一半;

    解决方案:给<a>标签添加display:inline-block;  

    7.表单按钮元素不对齐;

    解决方案:(a)给表单元素加float;

         (b)把图片按钮换成普通按钮;

         (c)用<a>标签伪装按钮;

    8.margin值叠加(火狐和谷歌);

    解决方案:(a)给子元素加float;

         (b)给父元素添加padding或border;

    9.用li写的导航在ie7以下呈阶梯状;

    解决方案:给<li>加float;

    10.双倍边距:当一个元素里浮动方向与外边距方向一样时,会错误的把margin值显示为双倍;

    解决方案:(a)给元素添加声明display:inline;

         (b)给父元素添加margin-left:1/2;

    11.部分元素有默认高度(一个字的高度);

    解决方案:(a)给元素添加声明font-size:0px;

         (b)给父元素添加声明overflow:hidden;

    12.百分比bug:在解析百分比时,会按四舍五入方式计算,导致50%加50%大于100%的情况;

    解决方案:给右边的浮动元素添加声明clear:right;

    13.ie6浏览器下文字重复;

    解决方案:元素之间有HTML注释影响,将其删除即可;

    14.ie6浏览器元素高度会被撑大;

    解决方案:给元素添加overflow:hidden;

    15.除a标签以外使用伪类选择器IE6一律不认识;

    解决方案:替换成a标签

    16.png24的图片在IE6浏览器上出现背景;

    解决方案:做成png8格式的,也可以引用一段脚本;

    17.像素问题:使用多个float和注释引起的;

    解决方案:给元素添加display:inline -3px;

    18.超链接hover点击后失效;

    解决方案:使用正确的书写顺序,link、visited、hover、active;

    19.z-index问题

    解决方案:给父级元素添加position:relative;

    20.最小高度:IE6不支持min-height属性,但它却认为height就是最小高度;

    解决方案:使用ie6不支持但其余浏览器都支持的属性!important;

    21.select在IE6下遮盖;

    解决方案:使用iframe嵌套;

    22.li边距"无故"增加;

    解决方案:设置ul的显示形式为 *display:inline-block 即可,前面 * 是只针对IE6/IE7有效;

    23.overflow:在IE6/7中,overflow无法正确的隐藏有相对定位position:relative的子元素;

    解决方案:给外包容器加上position:relative;

    24.border:none在IE6中不起作用;

    解决方案:写成border:0 就好了;

    25.100%高度,如果要给元素定义100%高度,必须要明确定义它的父级元素的高度,如果你要定义满屏的高度,就得先给HTML和body定义height:100%;

    26.一些定义了:hover的链接,当鼠标移到那些链接上的时候,在IE6下就会触发躲猫猫;

    结局方案:(a)在那个未浮动的内容之后加上<span style="clear:both"></span>;

         (b)触发包含了这些链接容器的hasLayout,一个简单的方法就是给其定义height:1%;

    27.IE6绝对定位的元素1px间距:当绝对定位的父元素或宽度为奇数时,bottom和right会多出现1px;

    解决方案:针对IE6进行hack处理;

  • 相关阅读:
    redis 操作使用
    sublime 设置像IDE一样的 ctrl+鼠标左键 跳转到定义方法
    tensorflow进阶篇-5(反向传播2)
    tensorflow进阶篇-5(反向传播1)
    Linux后台进程管理以及ctrl+z(挂起)、ctrl+c(中断)、ctrl+(退出)和ctrl+d(EOF)的区别(转)
    mysql基础知识(3)
    mysql基础知识(2)
    tensorflow进阶篇-4(损失函数3)
    tensorflow进阶篇-4(损失函数2)
    mysql基础知识(1)
  • 原文地址:https://www.cnblogs.com/mrsqiao/p/6565678.html
Copyright © 2020-2023  润新知