前端学习之------浏览器兼容(CSS)

浏览器兼容指的是:由于各浏览器使用了不同的内核,使得网页在各种浏览器上的显示效果不一致,做好浏览器兼容,才能够让网站在不同浏览器上正常显示

CSS方面:

1、不同浏览器的标签默认的内外边距不同,所以,可以全部初始化为0

1
2
3
4
*{
    margin: 0;
    padding: 0;
}

2、图片<img>和<a>标签在IE9中会有边框,解决办法:

1
2
3
img,a{
    border: none;
}

3、margin边距重叠,取最大值,舍弃小值

解决办法:尽可能使用padding;或者添加父元素,并设置overflow:hidden;

4、IE6及更低版本中,部分块级元素有默认高度,解决办法:

1
2
3
.box{
    font-size: 0;
}

5、<a>标签蓝色边框,解决办法:

1
2
3
a{
    outline: none;
}

6、IE6不支持min-height属性,解决办法:

1
2
3
4
5
6
.box{
    /* _height: 200px;在IE6显示正常,但是不符合W3C标准 */
    min-height: 200px;
    _height: 200px;
    overflow: visible;
}

7、IE9以下浏览器不能使用opacity,解决办法:

Firefox/Chrome/Safari/Opera浏览器使用opacity,IE浏览器使用filter

8、IE6、7不支持display:inline-block,解决办法:

1
2
3
4
.box{
    display: inline-block;
    *display:inline;
}

9、cursor兼容问题,解决办法:

1
2
3
.box{
    cursor: pointer;
}

10、IE6、7中图片<img>标签与文字放一起时,line-height失效问题,解决办法:

<img>和文字都设置float

11、a标签伪元素状态添加顺序不同,会导致链接显示效果不同,浏览器解释CSS时遵循“就近原则”

1
2
3
4
5
6
7
8
9
10
11
12
a:link{
    color: red; /* 还未访问的状态 */
}
a:visited{
    color: green; /* 已访问的状态 */
}
a:hover{           
    color: grey; /* 鼠标在连接上的状态 */
}
a:active{
    color: blue; /* 激活链接时的状态 */
}

12、IE6、7图片下面有空隙的问题,解决办法:

1
2
3
img{
    display: block;
}

13、IE中<li>标签在指定高度后,出现排版错误,解决办法:

设置line-height值

14、<ul>或<li>设置float后,显示在<div>外,解决办法:

1
2
3
4
5
6
7
<div>
    <ul>
        <li style="float:left;"></li>
        <li style="float:left;"></li>
    </ul>
     <div style="clear: both;"></div>
</div>

15、<ul>设置float之后,在IE中margin值变大,解决办法:

1
2
3
4
5
6
ul{
    display: inline;
}
li{
    list-style-position: outside;
}

16、在Chrome中,字体不能小于10px,解决办法:

1
2
3
4
.box{
    font-size: 12px;
    transform: scale(0.5);
}

  

posted @   程序员冒冒  阅读(90)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2021-09-04 vue学习之-----v-model数据双向绑定,自定义组件父子传参
点击右上角即可分享
微信分享提示