浏览器兼容问题之我见

简介: 浏览器兼容问题之我见

在本人亲身跟进一些前端项目过程中,发现相同的项目在不同的浏览器中运行出来的展示效果不太一样。上网查询下发现这样的现象叫浏览器兼容问题。那么问题来了:为什么会有兼容问题呢?


在仔细了解浏览器方面的知识与H5特性之后,我发现市面上虽然有着种类繁多的浏览器,但不同的浏览器其自身的内核是不一样的,(内核可以理解成浏览器解析代码的心脏)因此不同的浏览器对于同样的代码的解析结果是不一样的,这就是导致兼容问题的最重要的原因。因此我们想要开发出一个能够推入实用阶段的网页就必须要解决网页在当前主流浏览器上的兼容问题。


对浏览器的兼容问题,又细分了如下几类:HTML兼容、Javascript兼容、css兼容。而HTML的问题比较好解决,其原因在于在低版本浏览器中运行了包含高版本浏览器涉及的元素,使得浏览器本身无法解析。


现在让我们来看一看我总结出来的常见的兼容问题以及解决方案:


问题一:不同浏览器的标签默认的外补丁和内补丁不同

问题症状:我们随意写几个标签,在不使用样式控制的前提下,运行出来的margin、padding差别很大。

解决方案:css里添加*{margin:0;padding:0;}

注意:这个问题本身是我们在这类问题中最常见的一个问题,因此几乎所有的网页css文件开头都需要使用通配符*来对标签的内外补丁统一为0.


问题二:图片默认有间距

问题症状:几个img标签放在一起的时候,个别浏览器中会出现图标之间有默认边距的问题,而且加上上文提到的通配符也不起作用。

解决方案:使用float属性浮动流来对img进行布局。

注意:因为img标签属于是行内标签,因此在不超出容器本身宽度的情况下,img标签通常是排在第一行的,但在少部分浏览器中的img标签之间会存在间距。此时使用float浮动流是最方便简单的方法。


问题三:标签最低高度设置min-height不兼容问题

问题症状:min-height本身就是一个不兼容css的属性,因此在设置min-height属性的网页就不能很好的被各浏览器兼容。

注意:这个问题也是在大咖的帮助下涉及到的,所以实战中遇到的可能性很低。

解决方案:假如我们要设置一个标签的最小高度为200px,需要进行这样的设置:{min-height:200px;height:auto  !important;height:200px; overflow:visible;}


问题四:块属性标签float后,又有横行的margin情况下,在部分浏览器版本中显示的margin比设置的值大

问题症状:常见症状是在ie6中,后面的一块被顶到下一行。

解决方案:在float的标签样式控制中加入如下属性:display:inline;将其转化为行内属性。


问题五:设置较小高度的标签,在ie6\7中显示出来的高度超出设置值

问题症状:在ie6\7中,这个标签的高度不受样式css等控制。

解决方案:给超出高度的标签设置overflow:hidden;或者设置行高line:height小于你设置的高度。


在开发这条路上遇到问题是小事,遇到问题说明你的知识还不够丰富,技术还不够成熟,也正是在解决这些问题的路上自身才能不断成长。因此难的不是问题本身,而是如何解决。在此希望读者能在今后的开发路上养成遇到问题先思考后动手的好习惯

目录
相关文章
|
2月前
|
前端开发 JavaScript 开发者
探索Web设计新纪元:CSS3的革新特性如何重塑我们的网页视觉体验?
【8月更文挑战第26天】随着Web技术的发展,CSS3为前端开发带来了众多激动人心的新特性,极大提升了网页设计的视觉效果与创意空间。本文通过对比CSS3与CSS2,详细介绍了CSS3在选择器增强、圆角阴影处理、渐变背景应用、转换动画实现、文字效果优化、媒体查询支持及多列布局方面的显著改进,展示了CSS3如何助力开发者打造更具吸引力和互动性的网页体验。
48 1
|
2月前
|
Rust 前端开发 JavaScript
震惊!JavaScript 与 WebAssembly 强强联合,开启前端性能传奇之旅,你准备好了吗?
【8月更文挑战第27天】在互联网飞速发展的今天,前端技术,特别是核心语言JavaScript,正经历着持续的革新。为了突破JavaScript在处理复杂计算时的性能局限,WebAssembly应运而生。作为一种高效的二进制格式,WebAssembly能以接近原生的速度在浏览器中运行,支持C、C++和Rust等语言编写的高性能代码。它与JavaScript相辅相成,前者专注于高性能计算任务(如游戏开发、图像处理),后者则负责页面的交互与逻辑控制。通过结合使用,二者为前端开发者提供了更为强大和灵活的工具集,共同推动前端技术进入一个全新的性能时代。
63 2
|
5月前
|
缓存 前端开发 JavaScript
基于JavaScript的前端性能优化技术探讨
基于JavaScript的前端性能优化技术探讨
56 1
|
5月前
|
XML 前端开发 数据可视化
《CSS 简易速速上手小册》第4章:视觉美学(2024 最新版)
《CSS 简易速速上手小册》第4章:视觉美学(2024 最新版)
51 1
|
前端开发 JavaScript 程序员
基于JavaScript实现网页版仿苹果2022下半年最新UI设计(灵动岛UI设计原理设计)
基于JavaScript实现网页版仿苹果2022下半年最新UI设计(灵动岛UI设计原理设计)
349 0
|
前端开发 JavaScript
热议:CSS为什么这么难学?一定是你的方法不对(上)
大家好,我是零一。前段时间我在知乎刷到这样一个提问:为什么CSS这么难学?
195 0
热议:CSS为什么这么难学?一定是你的方法不对(上)
|
Web App开发 前端开发
20个学习CSS的绝佳网站——让你从入门到精通
CSS(层叠样式表)是一种简单的设计语言,能够将页面变漂亮这回事儿变的简单化。在HTML和XHTML中设定页面的样式,这是最常用的应用。但也可以应用于 XML类的文档,包括SVG和XUL。他负责管理网页的设计和外观。
3322 0
|
Web App开发
第133天:移动端开发的一些总结
1、 piexl 像素知识 640 * 1136的图片能不能在iphone5上完全展示?iphone5分辨率640*1136 逻辑像素与物理像素的关系px逻辑像素:浏览器使用的抽象单位dp,pt物理像素:设备无关像素dpr:设备像素缩放比计算公式:1px = (dpr)^2 * dpiphone5的...
1285 0
|
Web App开发 前端开发 搜索推荐