浏览器兼容性

225 阅读2分钟
  • 在ie6下 1px的dotted有问题建议用图片代替
  • H5标签不支持IE6 建议:<script src="js/html5shiv.js"></script>
  • 元素float之后最好设置宽度.如果需要能容撑开宽度,最好给内容设浮动
  • 第一块元素浮动,第二块加margin值,会使第一块元素在ie6下有间隙。建议:同级都要加浮动
  • 子元素超出父级高度,会把父级高度撑开:建议子级不要超过父级高度
  • p,h.dt不能嵌套块标签:比如div
  • margin兼容性问题会触发触发haslayout、BFC。建议:量使用同一方向的margin,比如都设置top或者bottom;或者用padding代替.

IE6不支持inline-block 解决方法:

  • display: inline;zoom:1;
  1. *代表ie6,ie7
  2. _代表ie6
  • ie6最小高度是16px 给元素设置:over-flow:hidden;
  • 浮动元素有margin值时会触发双倍边剧,当margin为left时会触发最左边的元素,为right时会触发右边第一个元素
    • 解决方法:针对ie6,ie7使用hack *display: inline;
  • li元素在ie6 ie7下有四像素间隙问题
    • 解决方法: 1.针对ie6、7使用hack给li添加vertical-align
      2.给li加float

  • 两个浮动元素中间有内联元素或者注释并且和父级宽度相差不过3像素 文字会被复制
  • 在ie6下绝对定位元素和浮动元素同级的话定位元素会消失。只要不是同级就能解决问题
  • 在ie6下 input内的值不居中 需要设置字体和行高
  • 在ie6下 input内背景图在用户输入内容超出宽度时会滚动
    • 解决方法 fixed:background: url(") no-repeat fixed;
  • 在ie6下不支持半透明
<script src="js/DD_belatedPNG_0.0.8a.js"></script>
<script>
	DD_belatedPNG.fix('img,.box');
	//	不支持body上的背景图片
</script>
  • 绝对定位的父级宽高是奇数 绝对定位元素的right和bottom值会有1px的偏差 解决:绝对定位元素的父级宽高设置成偶数 -_overflow: hidden;包不住子集的relative.父级也加相对定位