前言:

  作为一位专业的前端开发人员,浏览器兼容性问题是我们必然会遇到的问题,今天就以我个人观点来为大家说说个大浏览器的洁容问题。

  简单的来说就是个大浏览器使用的内核版本是不一样的,有着具有自己的内核。其中不得不说ie6、7了。作为我们前端人员来说ie无疑成为我们前端开发人员的一大阻碍,有人就说ie是垃圾浏览器,是奇葩浏览器。而为什么还会用它呢,那是它在市场上占据着重要地位。其实在很早以前ie就占据了绝大部分的浏览器市场拥有者霸主地位,以谷歌,火狐为代表的浏览器商家为了争夺市场,重新瓜分浏览器市场这块大的蛋糕,于是就组织起来制定了w3cschool的这样的一套规范来与ie来进行抗衡。就是这样ie浏览器和w3c下的个大浏览器才会有这么多的兼容性问题。说到这里其实浏览器兼容性原因很简单那是因为ie先于为w3c诞生。在w3c诞生之前ie就有着自己的的一套执行的标准。之所以以谷歌,火狐为代表的浏览器商家会指定一套属于自己的标准,究其根源是为了争夺市场的占有力。两个字“利益”。其实ie并没有错,我们不能只看到事物的一面,还要看到实物的本质。用哲学的话来说,我们要从感性认识上升到理性认识透过事物的表象抓住事物的本质。可以看到在后来的ie8以后,ie为了在市场上生存下去,只有向w3c妥协。慢慢接近于为w3c的标准。

下面来说说CSS问题,因为一点点布局上的bug,可能导致整个页面的错位,在用户看来这是极不专业的。

现在我就简要说说我对CSS兼容问题的认识: 先说点Hack的知识(真正的高手是不用Hack的,但要成为高手必须通过Hack这一关)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/* CSS属性级Hack */
color:red; /* 所有浏览器可识别*/
_color:red; /* 仅IE6 识别 */
*color:red; /* IE6、IE7 识别 */
+color:red; /* IE6、IE7 识别 */
*+color:red; /* IE6、IE7 识别 */
[color:red; /* IE6、IE7 识别 */
color:red\9; /* IE6、IE7、IE8、IE9 识别 */
color:red\0; /* IE8、IE9 识别*/
color:red\9\0; /* 仅IE9识别 */
color:red \0; /* 仅IE9识别 */
color:red!important; /* IE6 不识别!important 有危险*/
/* CSS选择符级Hack */
*html #demo { color:red;} /* 仅IE6 识别 */
*+html #demo { color:red;} /* 仅IE7 识别 */
body:nth-of-type(1) #demo { color:red;} /* IE9+、FF3.5+、Chrome、Safari、Opera 可以识别 */
head:first-child+body #demo { color:red; } /* IE7+、FF、Chrome、Safari、Opera 可以识别 */
:root #demo { color:red\9; } : /* 仅IE9识别 */
/* IE条件注释Hack */
<!--[if IE 6]>此处内容只有IE6.0可见<![endif]-->
<!--[if IE 7]>此处内容只有IE7.0可见<![endif]-->

转载于:https://www.cnblogs.com/fengdong/p/4842282.html

浏览器为什么会有兼容性问题相关推荐

  1. console.dir有很多浏览器,系统的兼容性问题,不要随便用!

    console.dir有很多浏览器,系统的兼容性问题,不要随便用! 要使用console.log(); 转载于:https://www.cnblogs.com/bluestear/p/9400356. ...

  2. html5 css3浏览器,五大主流浏览器CSS3和HTML5兼容性大比拼

    五大主流浏览器CSS3和HTML5兼容性大比拼 出处:快科技 2011-05-26 16:15:42     编辑:萧萧[爆料] 收藏文章 各大主流浏览器对CSS3和HTML5的支持越来越完善,曾经让 ...

  3. 浏览器内核以及解决兼容性的方法

    浏览器内核以及解决兼容性的方法 浏览器内核: 分类: 1.Trident(IE内核) Trident(IE内核):该内核程序在1997年的IE4中首次被采用,是微软在Mosaic代码的基础之上修改而来 ...

  4. QQ浏览器x5内核的兼容性问题

    X5内核是腾讯基于优秀开源Webkit[1] 深度优化的浏览器渲染引擎,搭载在最新一代的手机QQ浏览器上[2] ,更快,更便捷. 2014年9月23日,腾讯正式宣布开放业内首个浏览服务开放平台,向AP ...

  5. 17款好用的跨浏览器测试神器,兼容性测试必备

    市面上有很多不同的浏览器,每种浏览器都有数百万用户.因此,在开发一个网站或 Web 应用程序时,就需要测试它与不同浏览器的兼容性.最好.最方便的方法是使用跨浏览器检查工具. 今天推荐一些可靠且全面的跨 ...

  6. 360浏览器兼容问题html,该页面显示了360浏览器中的异常兼容性问题

    简介: 在Web应用程序的开发过程中,发现某些页面无法在360浏览器上正确显示,但是在其他浏览器上360浏览器页面显示不全,它们都处于正常状态. 有什么问题吗? 询问: 网页在360浏览器上显示不正确 ...

  7. 360浏览器下的页面兼容性问题以及解决方法

    引言:  在Web应用的开发过程中,发现若干页面在360的浏览器上显示不正常,而在其他的浏览器上,皆为正常状态,问题出在哪里呢? 问题的提出: Web页面在360的浏览器上,显示不正确. 但是在Fir ...

  8. 常见的浏览器css和js兼容性问题汇总

    无论是在工作或者面试中,总会遇到关于浏览器兼容性的问题,往往会感到一头雾水不知从何说起,于是我结合一些工作经验及从网上搜集的一些资料对此做了一些汇总,希望对从事前端工作的朋友们起到一些帮助. css: ...

  9. Html和CSS在浏览器中常见的兼容性问题处理

    1,居中问题 格里的内容,IE默认为居中,而FF默认为左对齐,可以尝试增加代码: margin: 0 auto; 2,高度问题 两上下排列或嵌套的格,上面的格设置高度(高度),如果DIV里的实际内容大 ...

最新文章

  1. linux下查看vnc端口_怎样查vnc端口,Linux下根据进程名怎样查端口
  2. HTMLCollection元素的For循环
  3. 开发日记-20190516 关键词 MVVM-代码浏览结束
  4. 初学微信小程序 TodoList
  5. 光滑噪声数据常用的方法_数据挖掘中常用的数据清洗方法
  6. 数据结构 —— 在线操作与离线操作
  7. 【转载】Weka入门教程
  8. kesioncms ajax分页,改进KesionCMS V9.0x SQL标签分页支持嵌套
  9. 预防医学的曙光 | 微软要用AI构建免疫系统图谱
  10. 再学 GDI+[36]: TGPPen - SetLineCap
  11. [高光谱] Hyperspectral-Classification-master 网络模型解析
  12. 面试:C++实现访问者模式
  13. c++ 将变量有序保存在txt文件中_python读写文件(四)
  14. ARINC429总线收发器 -- HI-3582调试记录
  15. Stripe支付流程
  16. PVE安装画面灰白只显示鼠标解决方案
  17. 蒂姆-库克于2010年5月14日在奥本大学毕业典礼上发表的演讲全文
  18. CS-Notes 知识清单 备战版
  19. javafx label设置字体大小_JavaFX-实现文本
  20. 二级分销商城的宣传推广方法

热门文章

  1. python如何计算分子描述符_Python——描述符(descriptor)解密
  2. python中用来回溯异常的模块_python学习笔记(异常)
  3. STL源码学习(一)迭代器概念与traits编程技法
  4. android activity 渐变,关于Android的径向渐变高级编程的实现
  5. sql2016是否支持linux,微软 SQL Server 支持 Linux 了,2017年 中将正式推出
  6. iOS Hacker LLDB 和 debugserver 实例调试
  7. Windows下MongoDB安装及配置
  8. 关于IPC入侵的一些细节
  9. Pixhawk代码分析-准备
  10. 有关推挽输出、开漏输出、复用开漏输出、复用推挽输出以及上拉输入、下拉输入、浮空输入、模拟输入区别