HTML5基础归纳(2)--常遇到的兼容问题及解决办法
2017-08-19 17:13
183 查看
在说到常遇到的兼容问题及解决办法之前,先来简单了解一下五大浏览器及其内核是什么。
1、Trident内核:代表作品是IE
2、Gecko内核:代表作品是Firefox,即火狐浏览器。
3、Webkit内核:代表作品是Safari、曾经的Chrome,是开源的项目。
4、Presto内核:代表作品是Opera。
5、Blink内核:由Google和Opera Software开发的浏览器排版引擎。
下面我们来说说常遇到的浏览器兼容问题:
1、图片间隙
解决办法:1)将<div>与<img>写在一行上
2)将<img>转换为块元素,即给<img>添加声明:display:block;
2、dt,li图片间隙,图片将div撑大3px
解决办法:将<img>转换为块元素,即给<img>添加声明:display:block;
3、默认高度,低于16px就无法正常显示
解决办法:1)给元素添加声明:font-size:0;
2)给元素添加声明:overflow:hidden;
4、双倍浮向(双倍边距),错误将浮向边界加倍显示
解决办法:给浮动元素添加声明:display:inline;
5、表单元素行高不一致
解决办法:给表单元素添加声明:float:left;
6、按钮元素默认大小不一致
解决办法:1)统一大小,可用a标签模拟
2)input外边套一个标签,在标签里面写样式,吧input边框去掉
3)若按钮是图片,可将图片作为按钮背景图片
7、百分比bug,在IE6一下版本中解析百分比时,会按四舍五入的方式计算,从而导致50%+50%>100%
解决办法:给右边元素添加声明:clear:right; clear:left; clear:both;
8、按钮解析边框时会把边框解析在内部,但不会影响按钮原有的大小
9、鼠标指针bug,cursor属性的hand属性值只在IE识别,cursor属性的pointer属性值在IE6及以上版本识别
解决办法:统一鼠标形状为手形,即添加声明:cursor:pointer;
cursor常用样式可自行查询,这里就不多说了
10、透明属性
IE8以下写法:filter:alpha(opacity=value);/*value取值范围为1-100*/
其他浏览器兼容写法:opacity:value;/*value取值范围为0.1-1*/
11、列表阶梯bug,列表阶梯通常会在给li子元素a标签使用float:left;时触发,在IE6及以下版本会出现垂直或阶梯状
解决办法:给父元素设置浮动属性即可
12、在IE6及以下版本想去掉input默认边框,设置:border:0;即可
13、li标签的面的a标签设置display:block;后悔出现行高不一致
解决办法:给li设置浮动属性,并将li宽度等于父元素宽度
14、子元素没设置任何浮动,但设置了margin-top属性后,会错误的把margin-top属性加给父元素(这是标准浏览器的问题)
解决办法:给父元素添加声明:overflow:hidden;
15、在IE6中隐藏元素,如添加display:none;的元素被包含在浮动元素里,可能会引发文本重复bug
解决办法:给浮动元素添加:display:inline;
16、若要给元素定义100%宽高度,必须明确它的父级元素为100%;若要定义满屏高度,就先给html和body定义height:100%;
17、浮动元素高度自适应(父元素不写高度时,子元素写浮动后,父元素高度会发生高度塌陷)
解决办法:1)给父元素添加声明:overflow:hidden;
2)在浮动元素下方添加空div,并给元素添加声明:clear:both;height:0;overflow:hidden;
3)万能清除浮动法(针对IE6以下,一般使用该方法)
格式:.clearfix:after{content:"."; clear:both; display:block; heihgt:0; overflow:hidden; visibility:hidden;}
.clearfix{zoom:1;}
18、最小高度自适应解决办法
1)min-height:value; _height:value;
2)min-height:value; height:auto !imgportant; height:value;(建议使用该方法)
1、Trident内核:代表作品是IE
2、Gecko内核:代表作品是Firefox,即火狐浏览器。
3、Webkit内核:代表作品是Safari、曾经的Chrome,是开源的项目。
4、Presto内核:代表作品是Opera。
5、Blink内核:由Google和Opera Software开发的浏览器排版引擎。
下面我们来说说常遇到的浏览器兼容问题:
1、图片间隙
解决办法:1)将<div>与<img>写在一行上
2)将<img>转换为块元素,即给<img>添加声明:display:block;
2、dt,li图片间隙,图片将div撑大3px
解决办法:将<img>转换为块元素,即给<img>添加声明:display:block;
3、默认高度,低于16px就无法正常显示
解决办法:1)给元素添加声明:font-size:0;
2)给元素添加声明:overflow:hidden;
4、双倍浮向(双倍边距),错误将浮向边界加倍显示
解决办法:给浮动元素添加声明:display:inline;
5、表单元素行高不一致
解决办法:给表单元素添加声明:float:left;
6、按钮元素默认大小不一致
解决办法:1)统一大小,可用a标签模拟
2)input外边套一个标签,在标签里面写样式,吧input边框去掉
3)若按钮是图片,可将图片作为按钮背景图片
7、百分比bug,在IE6一下版本中解析百分比时,会按四舍五入的方式计算,从而导致50%+50%>100%
解决办法:给右边元素添加声明:clear:right; clear:left; clear:both;
8、按钮解析边框时会把边框解析在内部,但不会影响按钮原有的大小
9、鼠标指针bug,cursor属性的hand属性值只在IE识别,cursor属性的pointer属性值在IE6及以上版本识别
解决办法:统一鼠标形状为手形,即添加声明:cursor:pointer;
cursor常用样式可自行查询,这里就不多说了
10、透明属性
IE8以下写法:filter:alpha(opacity=value);/*value取值范围为1-100*/
其他浏览器兼容写法:opacity:value;/*value取值范围为0.1-1*/
11、列表阶梯bug,列表阶梯通常会在给li子元素a标签使用float:left;时触发,在IE6及以下版本会出现垂直或阶梯状
解决办法:给父元素设置浮动属性即可
12、在IE6及以下版本想去掉input默认边框,设置:border:0;即可
13、li标签的面的a标签设置display:block;后悔出现行高不一致
解决办法:给li设置浮动属性,并将li宽度等于父元素宽度
14、子元素没设置任何浮动,但设置了margin-top属性后,会错误的把margin-top属性加给父元素(这是标准浏览器的问题)
解决办法:给父元素添加声明:overflow:hidden;
15、在IE6中隐藏元素,如添加display:none;的元素被包含在浮动元素里,可能会引发文本重复bug
解决办法:给浮动元素添加:display:inline;
16、若要给元素定义100%宽高度,必须明确它的父级元素为100%;若要定义满屏高度,就先给html和body定义height:100%;
17、浮动元素高度自适应(父元素不写高度时,子元素写浮动后,父元素高度会发生高度塌陷)
解决办法:1)给父元素添加声明:overflow:hidden;
2)在浮动元素下方添加空div,并给元素添加声明:clear:both;height:0;overflow:hidden;
3)万能清除浮动法(针对IE6以下,一般使用该方法)
格式:.clearfix:after{content:"."; clear:both; display:block; heihgt:0; overflow:hidden; visibility:hidden;}
.clearfix{zoom:1;}
18、最小高度自适应解决办法
1)min-height:value; _height:value;
2)min-height:value; height:auto !imgportant; height:value;(建议使用该方法)
相关文章推荐
- 关于HTML5 Placeholder新标签低版本浏览器下不兼容的问题分析及解决办法
- HTML5实现简单图片上传所遇到的问题及解决办法
- 遇到的问题以及解决办法
- 遇到的问题------SQL Server 附加数据库失败的解决办法(3415错误)
- windows环境下Eclipse开发MapReduce程序遇到的四个问题及解决办法
- 32位win7系统下配置IIS遇到php-cgi.exe - FastCGI 进程意外退出问题的解决办法
- 关于android开发遇到的一些问题的解决办法---间断的更新
- VC6.0工程升级到VS2010遇到问题及解决办法
- 用better-scroll来解决ios中html5页面fixed布局不兼容问题的处理
- CentOs 中遇到的一些问题和解决办法
- 【自己遇到的小问题】 重启eclipse color theme失效的解决办法
- SqlServer安装遇到的问题几则以及解决办法
- 项目适配iOS9遇到的一些问题及解决办法
- keras画图(可视化)中遇到的问题以及解决办法
- js上传图片在ie8中出现不兼容问题HTTP ERROR 解决办法
- 删除/维护 VS2008时出现:“加载安装组件时遇到问题。”的解决办法
- VS2010安装完SP1后再安装Silverlight Tools 4遇到的问题解决办法
- 微信支付开发的流程以及开发过程中遇到的问题和解决办法,持续整理中
- ubuntu 安装rails 遇到的问题及解决办法
- html5新标签【placeholder】解决浏览器低版本不兼容问题