您现在的位置是:网站首页> 编程资料编程资料

关于css兼容性问题及一些常见问题汇总CSS三列布局的多种表现形式网页中时光轴CSS实现CSS实现等分布局的4种方式CSS3实现曲线阴影和翘边阴影CSS3让登陆面板3D旋转起来CSS3 3D位移translate效果实例介绍 CSS3 3D旋转rotate效果实例介绍 CSS3过渡transition效果实例介绍四种CSS常用的选择器使用方法和注意事项CSS控制文本超出指定宽度显示省略号和文本不换行效果的实现

2023-10-08 546人已围观

简介 下面小编就为大家带来一篇关于css兼容性问题及一些常见问题汇总。小编觉得挺不错的,现在分享给大家,也给大家做个参考,一起跟随小编过来看看吧,祝大家游戏愉快哦

目前主流浏览器的兼容性做的都比较好了,本文主要针对IE6,7的不兼容问题进行解决。

1.有浮动存在时,计算一定要精确,不要让内容的宽高超出我们所设置的宽高,IE6下,内容会撑开设置好的高度。

解决方法:给对应的父级加overflow:hidden;但是会有部分被隐藏掉,最好是精确计算宽高再设定

eg:(ie会撑开)

XML/HTML Code复制内容到剪贴板
  1. <style>  
  2. box{ width:400px;}   
  3. left{ width:200px;height:300px;background:red;float:left;}   
  4. right{ width:200px;float:right;}   
  5. div{width:180px;height:180px;background:blue;padding:15px;}   
  6. *   
  7.    计算一定要精确 不要让内容的宽高超出我们设置的宽高   
  8.    在IE6下,内容会撑开设置好的宽高   
  9. /   
  10. style>  
  11. head>  
  12. <body>  
  13. <div class="box">  
  14.   <div class="left">div>  
  15.   <div class="right">  
  16.       <div class="div">div>  
  17.   div>  
  18. div>  
  19. body>  
  20.   

2. 在IE6下有元素浮动时,如果宽度需要由内容撑开,就给里边的块元素都加浮动,正常浏览器不用加浮动。

eg:

XML/HTML Code复制内容到剪贴板
  1. <style>  
  2. box{ width:400px;}   
  3. left{background:red;float:left;}   
  4. right{float:right; background:blue;}   
  5.  h3{margin:0;height:30px; float:left;}   
  6.  /*   
  7.      在IE6元素浮动,如果宽度需要内容撑开,就给里边的块元素都加浮动   
  8.  */   
  9.  style>  
  10. >  
  11. <body>  
  12. <div class="box">  
  13.    <div class="left">  
  14.        <h3>左侧h3>  
  15.    div>  
  16.    <div class="right">  
  17.        <h3>右侧h3>  
  18.    div>  
  19. </div>  
  20. </body>  


3. 在IE6下元素的高度的小于19px的时候,会被当做19px来处理

  解决办法:添加overflow:hidden;

 

4. 在IE6下border:1px dotted #000;中,dotted不支持,会以虚线的方式的出现。

  解决方法:切背景平铺

 

5. 在所有浏览器中子元素的margin-top,margin-bottom值会传递给父级;

  解决办法:

    a:给父级都添加浮动(或者给子级添加浮动也能解决margin-top问题,但是margin左右值会出现双倍的值,也就是双边据bug问题,下面会讲);

    b:给父级添加position:relative;(或position:absolute;但是会脱离文档流)

    c:添加display:inline-block; 正常浏览器,可行,但是IE,7下,块元素不支持display:inline-block;

    d: 给附件添加border属性,例如border:1px solid red; 正常浏览器可行,在IE6下必须再给父级添加zoom:1;

eg:

XML/HTML Code复制内容到剪贴板
  1. <style>  
  2. body{margin:0;}   
  3. box{background:blue;border:1px solid #000; zoom:1;}   
  4. div{width:200px;height:200px;background:red;margin:100px;}   
  5.  /*   
  6.      在IE6下解决margin传递要触发haslayout   
  7.         
  8.      在IE6下父级有边框的时候,子元素的margin值消失   
  9.         
  10.    解决办法:触发父级的haslayout   
  11. */   
  12. style>  
  13. head>  
  14. <body>  
  15. <div class="box">  
  16.    <div class="div">div>  
  17. div>  
  18. body>  

6. 在IE6下,块元素有浮动和和横向的margin值 ,横向的margin值会被放大成两倍。

解决办法:添加display:inline;

XML/HTML Code复制内容到剪贴板
  1. <style>  
  2.  .box{ float:left;border:10px solid #000;}   

相关内容

-六神源码网