前端学习之------浏览器兼容(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 ); } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2021-09-04 vue学习之-----v-model数据双向绑定,自定义组件父子传参