搜档网
当前位置:搜档网 › 浏览器兼容性bug

浏览器兼容性bug

浏览器兼容性bug
浏览器兼容性bug

常见浏览器兼容性问题与解决方案

标签:前端开发浏览器兼容问题

所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况。在大多数情况下,我们的需求是,无论用户用什么浏览器来查看我们的网站或者登陆我们的系统,都应该是统一的显示效果。所以浏览器的兼容性问题是前端开发人员经常会碰到和必须要解决的问题。

在学习浏览器兼容性之前,我想把前端开发人员划分为两类:

第一类是精确按照设计图开发的前端开发人员,可以说是精确到1px的,他们很容易就会发现设计图的不足,并且在很少的情况下会碰到浏览器的兼容性问题,而这些问题往往都死浏览器的bug,并且他们制作的页面后期易维护,代码重用问题少,可以说是比较牢固放心的代码。

第二类是基本按照设计图来开发的前端开发人员,很多细枝末节差距很大,不如间距,行高,图片位置等等经常会差几px。某种效果的实现也是反复调试得到,具体为什么出现这种效果还模模糊糊,整体布局十分脆弱。稍有改动就乱七八糟。代码为什么这么写还不知所以然。这类开发人员往往经常为兼容性问题所困。修改好了这个浏览器又乱了另一个浏览器。改来改去也毫无头绪。其实他们碰到的兼容性问题大部分不应该归咎于浏览器,而是他们的技术本身了。

文章主要针对的是第一类,严谨型的开发人员,因此这里主要从浏览器解析差异的角度来分析兼容性问题。(相关文章推荐:主流浏览器CSS 3和HTML 5兼容清单)

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

问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。

碰到频率:100%

解决方案:CSS里 *{margin:0;padding:0;}

备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符*来设置各个标签的内外补丁是0。

浏览器兼容问题二:块属性标签float后,又有横行的margin情况下,在IE6显示margin比设置的大

问题症状:常见症状是IE6中后面的一块被顶到下一行

碰到频率:90%(稍微复杂点的页面都会碰到,float布局最常见的浏览器兼容问题)

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

备注:我们最常用的就是div+CSS布局了,而div就是一个典型的块属性标签,横向布局的时候我们通常都是用div float实现的,横向的间距设置如果用margin实现,这就是一个必然会碰到的兼容性问题。

浏览器兼容问题三:设置较小高度标签(一般小于10px),在IE6,IE7,遨游中高度超出自己设置高度

问题症状:IE6、7和遨游里这个标签的高度不受控制,超出自己设置的高度

碰到频率:60%

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

备注:这种情况一般出现在我们设置小圆角背景的标签里。出现这个问题的原因是IE8之前的浏览器都会给标签一个最小默认的行高的高度。即使你的标签是空的,这个标签的高度还是会达到默认的行高。

浏览器兼容问题四:行内属性标签,设置display:block后采用float布局,又有横行的margin的情况,IE6间距bug

问题症状:IE6里的间距比超过设置的间距

碰到几率:20%

解决方案:在display:block;后面加入display:inline;display:table;

备注:行内属性标签,为了设置宽高,我们需要设置display:block;(除了input标签比较特殊)。在用float布局并有横向的margin后,在IE6下,他就具有了块属性float后的横向

margin的bug。不过因为它本身就是行内属性标签,所以我们再加上display:inline的话,它的高宽就不可设了。这时候我们还需要在display:inline后面加入display:talbe。

浏览器兼容问题五:图片默认有间距

问题症状:几个img标签放在一起的时候,有些浏览器会有默认的间距,加了问题一中提到的通配符也不起作用。

碰到几率:20%

解决方案:使用float属性为img布局

备注:因为img标签是行内属性标签,所以只要不超出容器宽度,img标签都会排在一行里,但是部分浏览器的img标签之间会有个间距。去掉这个间距使用float是正道。(我的一个学生使用负margin,虽然能解决,但负margin本身就是容易引起浏览器兼容问题的用法,所以我禁止他们使用)

浏览器兼容问题六:标签最低高度设置min-height不兼容

问题症状:因为min-height本身就是一个不兼容的CSS属性,所以设置min-height时不能很好的被各个浏览器兼容

碰到几率:5%

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

备注:在B/S系统前端开时,有很多情况下我们又这种需求。当内容小于一个值(如

300px)时。容器的高度为300px;当内容高度大于这个值时,容器高度被撑高,而不是出现滚动条。这时候我们就会面临这个兼容性问题。

浏览器兼容问题七:透明度的兼容CSS设置

做兼容页面的方法是:每写一小段代码(布局中的一行或者一块)我们都要在不同的浏览器中看是否兼容,当然熟练到一定的程度就没这么麻烦了。建议经常会碰到兼容性问题的新手使用。很多兼容性问题都是因为浏览器对标签的默认属性解析不同造成的,只要我们稍加设置都能轻松地解决这些兼容问题。如果我们熟悉标签的默认属性的话,就能很好的理解为什么会出现兼容问题以及怎么去解决这些兼容问题。

1./* CSS hack*/

我很少使用hacker的,可能是个人习惯吧,我不喜欢写的代码IE不兼容,然后用hack来解决。不过hacker还是非常好用的。使用hacker我可以把浏览器分为3类:IE6 ;IE7和遨游;其他(IE8 chrome ff safari opera等)

◆IE6认识的hacker 是下划线_ 和星号 *

◆IE7 遨游认识的hacker是星号 *

比如这样一个CSS设置:

1.h eight:300px;*height:200px;_height:100px;

IE6浏览器在读到height:300px的时候会认为高时300px;继续往下读,他也认识*heihgt,所以当IE6读到*height:200px的时候会覆盖掉前一条的相冲突设置,认为高度是200px。

继续往下读,IE6还认识_height,所以他又会覆盖掉200px高的设置,把高度设置为100px;

IE7和遨游也是一样的从高度300px的设置往下读。当它们读到*height200px的时候就停

下了,因为它们不认识_height。所以它们会把高度解析为200px,剩下的浏览器只认识第

一个height:300px;所以他们会把高度解析为300px。因为优先级相同且想冲突的属性设置

后一个会覆盖掉前一个,所以书写的次序是很重要的。

浏览器兼容性案例分析

浏览器兼容性案例分析: 1.不同浏览器的标签默认的外补丁和内补丁不同 问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。 碰到频率:100% 解决方案:CSS里 *{margin:0;padding:0;} 备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符*来设置各个标签的内外补丁是0。 2.IE6下不支持png图片 问题症状:IE6下不显示png图片。 碰到频率:100% 解决方案: 3.IE6下不支持:hover 问题症状:IE6下不支持:hover。 碰到频率:100% 解决方案:改成js方法 4.相同名称的样式被定义了多次,但不知道在定义在哪里 问题症状:相同名称的样式被定义了多次,但不知道定义在哪里,导致样式冲突。 碰到频率:100% 解决方案:最简单的办法是在样式后面添加!important,这样可以保持这个样式一直被调用。 .bHidden { display:none !important; }

5.单行双列自适应宽度,IE6中出现错行现象解决办法 问题症状: 调整单行双列自适应宽度布局,随着浏览器窗口大小自动改变left和right层的宽度。代码如下:

运行以上代码,在IE6中偶尔会出现错行现象: 主要原因:在IE6中采用四舍五入的方法计算宽度,那么随着浏览器窗口的大小调整,left和right 按25%、75%计算,四舍五入,(left+right)总宽度会大于浏览器窗口宽度即(main)宽度,right层就会自动跳行至左侧浮动。 碰到频率:100% 解决方案: 在#right样式中添加:clear:right;代码。如 #right{width:75%; clear:right;background:#939393;} 6.块属性标签float后,又有横行的margin情况下,在IE6显示margin比设置的大 解决方案:在float的标签样式控制中加入 display:inline;将其转化为行内属性 7. 设置较小高度标签(一般小于10px),在IE6,IE7,遨游中高度超出自己设置高度 解决方案:给超出高度的标签设置overflow:hidden;或者设置行高line-height 小于你设置的高度。

网络案例分析汇总

《计算机网络技术》案例分析汇总 2017.6 1.某网络中心5台服务器组成一个小网络,其中一台服务器的IP地址为192.168.46.161 求:(1)此网络的子网掩码是______________________(2分) (2)此网络的网络地址是______________________(2分) (3)此网络的广播地址是______________________(2分) (4) 与此网络相同的子网共有______________________个(2分) (5) 该子网中最多可容纳______________________台主机(2分) (6) 如果要测试与192.168.46.163是否连通,应输入__________________命令。(2分) (7) 如果IP地址为192.168.46.162的服务器8080端口下有一WEB网站,则应在浏览器的地址栏中输入____________________________________________访问该网站。(3分) 2.计算机网络案例:根据网络拓扑图完成下列问题(15分)。 1、请在右侧横线中写出图示位置网络设备的名称。(每空2分,共4分) 2、给出LAN1、LAN2、LAN3的网络地址。(每空1分,共3分) 3、已知该网络首选DNS服务器为202.121.4.141,备用DNS服务器为202.121.4.158,请完成IP地址222.1.1.1的主机Internet协议(TCP/IP)属性对话框的填写。(每空2分,共8分)

3.网络配置案例(15分) (1)某同学家有3台电脑(2台台式电脑和1台笔记本电脑)组成局域网,采用ADSL方式 接入Internet,使用的网络设备有ADSL Modem和无线路由器,传输介质有双绞线、电话线和无线,网络连接示意图如题77图所示,请回答下面问题:(每空2分,共8分) ①图中a处的传输介质是(),b处的传输介质是() ②图中c处的连接设备是(),d处的连接设备是() (2)某公司有经理室、工会、生产部、技术部、采购部、销售部、人事部、安全部和财务部等9个部 门,每个部门有5~10台计算机。现需组建内部网络,公司向ISP申请的网络地址 为:2l0.85.31.0,为提高网络性能,将各个部门划分成相互独立的逻辑子网,要求经理

浏览器兼容性问题及解决方案

浏览器兼容新问题 W3C对标准的推进,Firefox,Chrome,Safari,Opera的出现,结束了IE雄霸天下的日子。 然而,这对开发者来说,是好事,也是坏事。 说它是好事,是因为浏览器厂商为了取得更多的市场份额,会促使各浏览器更符合W3C标准,而得到更好的兼容性,并且,不同浏览器的扩展功能(例如-moz,-webkit开头的样式),对W3C标准也是个推进;说它是坏事,因为,多个浏览器同时存在,这些浏览器在处理一个相同的页面时,表现有时会有差异。这种差异可能很小,甚至不会被注意到;也可能很大,甚至造成在某个浏览器下无法正常浏览。我们把引起这些差异的问题统称为“浏览器兼容性问题”。而正是这些“浏览器兼容性问题”,无形中给我们的开发增加了不少难度。 从浏览器内核的角度来看,浏览器兼容性问题可分为以下三类: 1. 渲染相关:和样式相关的问题,即体现在布局效果上的问题。 2. 脚本相关:和脚本相关的问题,包括JavaScript和DOM、BOM方面的问题。对于某些浏览器的功能方面的特性,也属于这一类。 3. 其他类别:除以上两类问题外的功能性问题,一般是浏览器自身提供的功能,在内核层之上的。 例如下面的页面,是一个渲染相关的问题: 在各个浏览器中都表现的不同,这就属于兼容性问题。 造成浏览器兼容性问题的根本原因就是浏览器各浏览器使用了不同的内核,并且它们处理同一件事情的时候思路不同。 现今常见的浏览器及其排版引擎(又称渲染引擎)及脚本引擎,如下:

而造成浏览器兼容性问题的常见原因则是设计师写出了不规范的代码,不规范的代码会使不兼容现象更加突出。 例如: 不规则的嵌套: DIV 中直接嵌套LI 元素是不合标准的,LI 应该处于UL 内。此类问题常见的还有P 中嵌套DIV,TABLE等元素。 不规范的DOM接口和属性设置: 总之,人为的原因也占很大一部分。而人为造成兼容性问题的原因,除了粗心之外,大都源于浏览器bug 的存在,和开发者对标准的不了解。 比如,如果要做一个功能,功能是想让鼠标悬停在IMG 元素上方时,可以出现提示信息,经常针对IE 做开发的人,可能会使用IMG 元素的“alt” 属性,但其他浏览器中就是不给…alt? 属性面子。因为W3C 标准中规定要去做这件事的属性是”title“,大多浏览器符合标准,IE 不符合,这是IE 浏览器内核的问题;开发者不知道”title“ 才是正解,不遵循标准去写代码,是开发者的问题。所以,一个问题分两半,浏览器和开发者都有责任。 既然都有责任,就都有义务去解决兼容性问题。那么,从浏览器的角度来讲,它的厂商应该修复浏览器的bug和不合标准的地方,当某一天IE 的”alt“ 不能用于提示了,还有人用这个错误的属性去显示提示么?从开发者角度来讲,多了解标准,了解浏览器兼容性问题,就可以在开发的过程中,有效的避开兼容性问题,让你的页面在所有浏览器中畅通无阻。 废话少说,下面就讲讲如何有效的避免一些兼容性问题。 J AVA S CRIPT (4)

浏览器间不兼容的原因及解决办法

网页设计遇到最大的麻烦之一莫过于网页对不同浏览器的兼容性问题了,因为IE 6.0 / IE 7.0 / firefox 2 / Opera 9等主流浏览器对CSS解析不近相同,导致设计的页面效果不一样,所以用什么方法可以有效解决不同浏览器不同页面效果的问题呢?广泛被使用的方法就是CSS Hack,即使用特别的CSS定义显示网页在不同浏览器的设计风格,针对不同的浏览器去写不同的CSS,最大化兼容浏览器。 一般情况下,我都会兼顾IE 6.0 / IE 7.0 / firefox 2.0浏览器,下面是用的较频繁的CSS Hack技巧: 用的最广莫过于!important了,它可以针对IE(IE 7.0能正确理 解!important)和非IE浏览器设置不同的样式,只要在非IE浏览器样式的后面加上!important,就可以针对其优先了。所以为了兼顾IE 6.0与火狐之间的差异,我都会使用!important。 1、仅IE7与IE5.0可以识别 *+html select {…} 当面临需要只针对IE7与IE5.0做样式的时候就可以采用这个HACK。 2、仅IE7可以识别 *+html s elect {…!important;} 当面临需要只针对IE7做样式的时候就可以采用这个HACK。 3、IE6及IE6以下识别 * html select {…} 这个地方要特别注意很多博客都写成了是IE6的HACK其实IE5.x同样可以识别这个HACK。其它浏览器不识别。 4、html/**/ >body select {…}

这句与上一句的作用相同。 5、仅IE6不识别,屏蔽IE6 select { display /*屏蔽IE6*/:none;} 这里主要是通过CSS注释分开一个属性与值,注释在冒号前。 6、仅IE6与IE5不识别,屏蔽IE6与IE5 select/**/ { display /*IE6,IE5不识别*/:none;} 这里与上面一句不同的是在选择符与花括号之间多了一个CSS注释。不屏蔽IE5.5 7、仅IE5不识别,屏蔽IE5 select/*IE5不识别*/ {…} 这一句是在上一句中去掉了属性区的注释。只有IE5不识别,IE5.5可以识别。 8、盒模型解决方法 selct {width:IE5.x宽度; voice-family :”/”}/”"; voice-family:inherit; width:正确宽度;} 盒模型的清除方法不是通过!important来处理的。这点要明确。 9、只有Opera识别 @media all and (min-width: 0px){ select {……} } 针对Opera浏览器做单独的设定。 以上都是写CSS中的一些HACK,这些都是用来解决局部的兼容性问题,如果希望把兼容性的内容也分离出来,不妨试一下下面的几种过滤器。这些过滤器有的是写在CSS中通过过滤器导入特别的样式,也有

Web1.0 2.0 3.0介绍和案例分析

简介 1.、和简介 :以静态、单向阅读为主; :以分享为特征的实时网络; :将以网络化和个性化为特征,提供更多人工智能服务。 现在的主流模式还是。 1.1.什么是Web 时代是一个群雄并起,逐鹿网络的时代,虽然各个网站采用的手段和方法不同,但第一代互联网有诸多共同的特征,表现在: 一、基本采用的是技术创新主导模式,信息技术的变革和使用对于网站的新生与发展起到了关键性的作用。新浪的最初就是以技术平台起家,搜狐以搜索技术起家,腾讯以即时通讯技术起家,盛大以网络游戏起家,在这些网站的创始阶段,技术性的痕迹相当之重。 二、的盈利都基于一个共通点,即巨大的点击流量。无论是早期融资还是后期获利,依托的都是为数众多的用户和点击率,以点击率为基础上市或开展增值服务,受众群众的基础,决定了盈利的水平和速度,充分地体现了互联网的眼球经济色彩。 三、的发展出现了向综合门户合流现象,早期的新浪与搜狐、网易等,继续坚持了门户网站的道路,而腾讯、MSN、GOOGLE等网络新贵,都纷纷走向了门户网络,尤其是对于新闻信息,有着极大的、共同的兴趣。这一情况的出现,在于门户网站本身的盈利空间更加广阔,盈利方式更加多元化,占据网站平台,可以更加有效地实现增值意图,并延伸由主营业务之外的各类服务。 四、的合流同时,还形成了主营与兼营结合的明晰产业结构。新浪以新闻+广告为主,网易

拓展游戏,搜狐延伸门户矩阵,各家以主营作为突破口,以兼营作为补充点,形成拳头加肉掌的发展方式。 五、不以html为标志,在时代,动态网站已经广泛应用,比如论坛等。 1.2.什么是Web 是相对而言的,和相同,不是一种技术的代名词,而是一个时代的总称。 相对于(传统的门户网站为代表)具有更好的交互性和粘性。并不是一个革命性的改变,而只是应用层面的东西。 并没有准确的定义,而是对现象的一种描述。让用户自己主导信息的生产和传播,从而打破了原来门户网站所惯用的单向传输模式。 是以Blog、TAG、SNS、RSS、wiki等应用为核心,依据六度分隔、xml、ajax等新理论和技术实现的互联网新一代模式。 众多概念下的应用已经开始融入门户网站。新浪推出了互动式的搜索引擎爱问(iAsk)、VIVI 收藏夹、RSS以及博客服务。这些新的服务都带有明显的特征。 Web 的最大价值不是提供信息,而是提供基于不同需求的过滤器,每一种过滤器都是基于一个市场需求。如果说Web 解决了个性解放的问题,那么Web 就是解决信息社会机制的问题,也就是最优化信息聚合的问题。 例如:人们只需要输入自己的需求,就可以迅速得到所需信息,甚至一套完整的解决方案。例如,在计算机中输入:“我想带我11岁的孩子去一个温暖的地方度假,我的预算为3000美元。”计算机能自动给出一套完整方案,这一方案可能包括度假路线图、适合选择的航班、

浏览器兼容性常见问题

1.注释标签常用语法 1.1注释的注意事项

1.2出错条件 1.3注释中多个地方出错时

1.4两个出错的注释标签,其间的内容被视为注释的一部分 1.5解决方案 2.浏览器的字符编码 2.1问题描述 各浏览器对于字符编码别名支持的宽泛程度有差异,当指定了浏览器无法识别的字 符编码别名时,浏览器会以确定编码的优先级顺序采用设置的更低优先级的字符编码, 以此类推。而 Chrome Safari Opera 中对字符编码别名有着比其他浏览器更宽泛的支持。

2.2文档的字符编码顺序 针对如何确定一个文档的字符编码,用户代码必须遵守下面的优先级顺序(优先级由高至低): (1)HTTP "Content-Type" 字段中的 "charset" 参数。 (2)META 声明中 "http-equiv" 为 "Content-Type" 对应的值中的 "charset" 的值。(3)元素的 charset 属性。 2.3实例1 上面是一段 PHP 代码,HTTP "Content-Type" 头字段设置了字符编码为 BIG5,页面中的 META 元素设置了字符编码为 UTF-8,页面本身的编码类型为 GB2312。页面执行时,通过脚本输出了当前浏览器所采用的字符编码类型。 这个动态页面在各浏览器中运行时均显示出了 BIG5,可见此时所有浏览器均遵照HTML4.01 规范所述,以更高优先级的 HTTP "Content-Type" 头字段的 "charset" 参数的值作为字符编码类型。

2.4各浏览器默认编码格式 上面页面中没有设定任何的字符编码信息,则各浏览器对于这个页面将使用各自的默认编码。页面自身的编码为 GB2312。 各浏览器中运行效果如下: 2.5实例2 上面的动态页面自身的编码为 BIG5,HTTP "Content-Type" 头字段设置了字符编码为 maccyrillic,页面中的 META 元素设置了字符编码为 b.i.g+5。 各浏览器中运行效果如下:

电商案例分析课后题

第二章 1.比较分析Google和Baidu的共同点和区别。 1.共同点: 1外链在整个优化过程中起着重要的作用,关键词越多,排名越靠前 2原创的东西,都会有更好的排名 3针对作弊站点,判断措施跟惩罚措施是一样的 4都是知名的搜索引擎,内容丰富,流量大,资料丰富,百度和谷歌都有搜索栏插件,二者也都有广告联盟。 2.区别: (1)百度中文搜索有优势,谷歌英文(多语言)搜索有优势; (2)百度没有“手气不错”按钮,而谷歌则保留了英语的做法,虽然这个功能并不是很重要,但我认为这是个很人性化的选择,并且有时候给人一种“原来电脑也了解我的心思”的感觉,从而觉得冷冰冰的机器富有人情味; (3)百度产品线虽然很多,但真正成功的并不多,截至目前,百度产品最成功的也就是搜索,而真正体现创新的科技型产品则并不多,或者不够成功,至少目前是这样,比如视频搜索,专业内容搜索等做的并不好。谷歌产品线也很多,专业搜索。 (4)百度没有邮箱,而谷歌邮箱已经成为最受欢迎的邮箱产品; (5)百度和谷歌都有搜索栏插件,但所不同的是谷歌据此推出了PageRank, 并且PR值目前已经成为判断一个网站价值的重要标准,百度没有做到这一点; (6)最擅长中文的百度没有推出输入法,而外来的谷歌则推出了中文输入法; (7)谷歌推出了便于手机使用的终端软件,百度没有,这样手机搜索百度只能通过浏览器而谷歌则多一种渠道,而谷歌也因势而行推出手机操作系统android, 百度则没有; (8)谷歌推出本地生活搜索,特别适合找房子找工作的时候使用,而百度没有; (9)谷歌有在线文档,这一软件即服务的模式将是未来的趋势,百度没有; (10)谷歌收购了Youtube, 并把它做的很强大,百度没有,百度MP3搜索很有名,但结果是盗的,谷歌音乐搜索刚刚推出,但是正版的; (11)百度收购了Hao123,一个导航网站,谷歌也有265导航网站,但很明显hao123名气265大很多。 (12)谷歌通过赞助的或举办的活动给人一种专注于技术的公司,比如针对编程人士举行活动或比赛,而百度则通过赞助的或举办的活动给人一种专注于赚钱的公司,比如百度空间经常和广告商合作的业务或是活动显得商业味道十足;

Windows系统下各浏览器兼容性

Windows系统下各浏览器常用CSS HACK汇总表 1. 此汇总表中测试浏览器的版本为: 微软系统自带:IE6、 IE7、IE8 火狐:Firefox 3.6.6 Safari:Safari 5.0 谷歌浏览器:Chrome 6.0.458.1 dev Opera浏览器:Opera 10.60 2. 其中,多数CSS hack是在selector{property:value;}基础上更改的。 selector代表CSS选择器,property代表CSS特性,value代表特性的值。 3. FF代表Firefox,Ch代表Chorme,Sa代表Safari,Op代表Opera 4. Q代表Quirks Mode,S代表Standards Mode。 5. Hack Type列的数字,指的是上面CSS hack的实现方式中的列表号。 1是指“利用浏览器对相同代码的解析和支持的不同实现的hack”,2是指以Firefox或Webkit特有的扩展样式实现的hack。

一定遵守CSS hack的三条原则。CSS hack是没有办法的时候才使用的解决兼容性问题的招术,是用兼容性问题去解决兼容性问题,无异于饮鸩止渴。切莫一有兼容性问题就使用,时刻记得改掉用CSS hack修补的问题。 IE6、IE7、IE8、Firefox兼容性CSS HACK代码+示例 1.区别IE和非IE浏览器CSS HACK代码 #divcss5{ background:blue; /*非IE 背景藍色*/ background:red \9; /*IE6、IE7、IE8背景紅色*/ } 2.区别IE6,IE7,IE8,FF CSS HACK 【区别符号】:「\9」、「*」、「_」 【示例】: #divcss5{ background:blue; /*Firefox 背景变蓝色*/ background:red \9; /*IE8 背景变红色*/ *background:black; /*IE7 背景变黑色*/ _background:orange; /*IE6 背景变橘色*/ } 【说明】:因为IE系列浏览器可读「\9」,而IE6和IE7可读「*」(米字号),另外IE6可辨识「_」(底线),因此可以依照顺序写下来,就会让浏览器正确的读取到自己看得懂得CSS语法,所以就可以有效区分IE各版本和非IE浏览器(像是Firefox、Opera、Google Chrome、Safari等)。 3.区别IE6、IE7、Firefox (EXP 1) 【区别符号】:「*」、「_」 【示例】: #divcss5{ background:blue; /*Firefox背景变蓝色*/ *background:black; /*IE7 背景变黑色*/ _background:orange; /*IE6 背景变橘色*/ } 【说明】:IE7和IE6可读「*」(米字号),IE6又可以读「_」(底线),但是IE7却无法读

腾讯公司案例分析

财务管理案例 结课论文 指导教师 学生姓名 所在班级

腾讯公司案例分析 一、概要 腾讯是中国最早的互联网即时通信软件开发商,是中国的互联网服务及移动增值服务供应商,并一直致力于即时通信及相关增值业务的服务运营。腾讯于1998年11月在深圳成立。1999年2月,正式推出腾讯第一个即时通信软件——“腾讯QQ”,并于2004年6月16日在香港联交所主板上市(股票代号700)。成立6年多以来,腾讯一直以追求卓越的技术为导向,并处于稳健、高速发展的状态。腾讯QQ庞大的用户群体现了腾讯公司对强负载大流量网络应用和各类即时通信应用的技术实力。未来,腾讯的目标是为全中国的用户提供在线的生活,他们希望这种在线生活就像水和电一样真正为大家每天进行服务的。腾讯正逐步实现“最受尊敬的互联网企业”的远景目标。 二、公司简介 腾讯公司成立于1998年11月,是目前中国最大的互联网综合服务提供商之一,也是中国服务用户最多的互联网企业之一。成立十年多以来,腾讯一直秉承一切以用户价值为依归的经营理念,始终处于稳健、高速发展的状态。公司主要产品有IM软件、网络游戏、门户网站以及相关增值产品。2011年7月7日,腾讯公司决定斥8.9亿港元投资金山软件。 2013年9月腾讯斥资4.48腾讯将搜搜业务、QQ输入法业务注入搜狗公司,新搜狗将继续作为搜狐的子公司独立运营,张朝阳继续担任董事长,王小川继续作为董事和 CEO 领导整个公司发展,而腾讯总裁刘炽平和 COO 任宇昕出任董事。至此,互联网领域三足鼎立局面出现。于王小川而言,不仅保住了搜狗,还将获得腾讯大把资源的支持,可以说是得钱又得势。腾讯将自家的搜索和输入法都并入搜狗,对于王小川的重视可见一斑。于腾讯而言,从 360 手中抢过搜狗,亦能避免 360 日后挑战百度的可能,拿走了 360 叱咤搜索最重要的一张牌。对百度来说,桌面领域搜索的绝对领先地位暂时得以保留,不过在无线领域却迎来了继 360 之外的另一大劲敌。 三、财务报表分析 1、资产负债表分析 (1)总资产增长速度快,但是2011到2012年增幅为32.48%,且2009到2010增幅只有大约50%,说明腾讯在2011年后减小了公司的增速,可能是有意的控制公司规模,为公司战略调整做准备。 (2)银行贷款增幅减少,同时贷款额度也开始减少,2011年银行贷款为7369.35百万,2012年度只有1077.88百万,这可能是腾讯的现金流充足。说明腾讯的偿债能力在增加。

关于浏览器兼容性问题

关于浏览器兼容性问题 制作网页时总会遇到各种浏览器的兼容性问题,工作也有一段时间了,做了一点小总结希望分享给大家,共同进步。 1、float定位。 Float定位是css排版中的非常重要的手段,属性float值:left、right、none(默认值),当设定了元素向左或者向右浮动时,元素会向其父元素的左侧或右侧靠紧。 在用float的同时我们要注意到 (1)float元素的父元素不能指定clear属性。 这是因为MaeIE下如果对float的元素父元素使用clear属性,周围的float元素布局就会混乱。 (2)float元素无比知道那个width属性 很多浏览器在显示未指定width的float元素时会有bug,所以不管float元素的内容如何,一定要为其制定width属性。(注意:制定元素时尽量使用em而不是px)(3)float元素不能指定margin和padding的属性 ie在显示指定了margin和padding的float元素时有bug。你可以再float元素内部嵌套一个div来势之margin和padding,也可以使用hack方法为ie指定特定的值。 (4)float元素之核的宽度要小于100% 如果float元素的宽度和正好等于100%,为保证大多浏览器显示正常,要是宽度之和小于100 2、margin加倍的问题。 设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。 解决方案是在这个div里面加上display:inline; margin:5px;/*IE下理解为10px*/ display:inline;/*IE下再理解为5px*/ 3、ie6中莫名出现多余的字符 我遇到的现象是:ie6下有些问题,重复出现在第二行,就是某些段落或某些文字的末尾N个字符,他另起一行重复出现,在选选着重复出现的文字时,原有的文字也被选中 解决方法:很简单,在重复出现文字的末尾补N个 ;就可以。 4、ie7中正常,但ie8中不正常,div的位置position:absolute在ie8中不起作用 解决方法:设置html兼容ie7,在head下加 5、针对ie 6、ie 7、火狐浏览器 (1)Ie6 、FF对!important;测试正常 Ie7对!important;可以正确解释。 为了使他们都正常: #style1{color:#333;} FF正常显示#333; *html #style1{color:#666;} ie6显示#666 *+html #style1{color:#999;} ie7显示#999 *+html与*html是ie特有的标签,firefox暂不支持,而*+html又为ie7特有的标签。 注意:顺序不能错了。 (2)FF: 链接加边框和背景色,需设置display: block, 同时设置float: left 保证不换行。 参照menubar, 给 a 和menubar 设置高度是为了避免底边显示错位, 若不设height,

浏览器兼容性bug

常见浏览器兼容性问题与解决方案 标签:前端开发浏览器兼容问题 所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况。在大多数情况下,我们的需求是,无论用户用什么浏览器来查看我们的网站或者登陆我们的系统,都应该是统一的显示效果。所以浏览器的兼容性问题是前端开发人员经常会碰到和必须要解决的问题。 在学习浏览器兼容性之前,我想把前端开发人员划分为两类: 第一类是精确按照设计图开发的前端开发人员,可以说是精确到1px的,他们很容易就会发现设计图的不足,并且在很少的情况下会碰到浏览器的兼容性问题,而这些问题往往都死浏览器的bug,并且他们制作的页面后期易维护,代码重用问题少,可以说是比较牢固放心的代码。 第二类是基本按照设计图来开发的前端开发人员,很多细枝末节差距很大,不如间距,行高,图片位置等等经常会差几px。某种效果的实现也是反复调试得到,具体为什么出现这种效果还模模糊糊,整体布局十分脆弱。稍有改动就乱七八糟。代码为什么这么写还不知所以然。这类开发人员往往经常为兼容性问题所困。修改好了这个浏览器又乱了另一个浏览器。改来改去也毫无头绪。其实他们碰到的兼容性问题大部分不应该归咎于浏览器,而是他们的技术本身了。 文章主要针对的是第一类,严谨型的开发人员,因此这里主要从浏览器解析差异的角度来分析兼容性问题。(相关文章推荐:主流浏览器CSS 3和HTML 5兼容清单) 浏览器兼容问题一:不同浏览器的标签默认的外补丁和内补丁不同 问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。 碰到频率:100% 解决方案:CSS里 *{margin:0;padding:0;} 备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符*来设置各个标签的内外补丁是0。

ME60 WEB认证页面无法弹出问题案例分析

ME60 WEB 认证页面无法弹出问题案例分析 摘要:在新业务添加调试时发现故障,有效的避免了业务上线后 对WEB 用户的影响。WEB 认证页面无法弹出,可能是WEB 页面本身异常造成,也可能是DNS 的问题,亦或是设备配置等问题造成,需要进一步排查分析来确定故障原因。 本文以某地市运营商WEB 认证页面无法弹出为例,介绍了分析 和处理该类故障的方法,总结了常见Web 认证页面故障的处理方法。 关键词:Portal 认证、Request 报文、配置冲突、报文交互 一、引言 C 国某地市运营商的两台ME60新添加Wlan 业务,其客户按照集团规范配 置完数据,经过专业人员现场测试后发现,存在终端能够获取IP ,认证页面无法弹出的问题,于是,运营商组织专业人员进行故障排查工作。 二、故障现象分析 WEB 用户的认证页面阶段主要在认证前域进行,根据故障现象及WEB 认证 的原理可知,需要在ME60配置、链路连通性及portal 服务器故障的方面进行排查分析。 网络拓扑如图1所示: ONU S9300 ME60 portal 图1

三、故障定位 (一)检查portal服务器是否有故障,可以直接在浏览器中输入PORTAL服务器地址,同时在终端CMD窗口ping测portal服务器和DNS地址,页面能打开并且地址能ping通,排除了用户与服务器之间的路由不通及服务器故障,需要对ME60上面的配置进行检查。 (二)检查认证前域下的配置,portal服务器url及地址参数正确,流量管理策略配置也都正确,依照集团规范,再仔细查看认证前域配置发现有异常:domain wlan_user_portal authentication-scheme none accounting-scheme none ip-pool pppoe_10.149.5.0_24 user-group wlan_user_portal idle-cut 5 50 web-server X.X.X.X web-server url http://X.X.X.X/bpss/index.jsp web-server url-parameter web-server redirect-key mscg-ip wlanacip 认证前域认证和计费方案设置为不认证不计费,以上面的配置来看,前域用的方案也看似没有问题,然而在3a视图下计费和认证方案设置有异常:aaa authentication-scheme none accounting-scheme none 可以看出在不认证和不计费的方案下没有配置认证和计费模式,那么在缺省情况下,模式都会被设置成radius,这样用户显然无法通过验证,后面强推流程也无法进行,导致页面无法弹出。 四、故障处理 集团规范要求认证前域设置成不认证不计费,由于认证以及计费模板设置错误导致后续的强推流程无法进行,页面也不能够弹出,解决方法是在3A模式重新修改认证及计费的模式,具体配置如下:

各种浏览器兼容问题列表

各种浏览器兼容问题列表 1、仅IE7与IE5.0可以识别 *+html select {…} 当面临需要只针对IE7与IE5.0做样式的时候就可以采用这个HACK。 2、仅IE7可以识别 *+html select {…!important;} 当面临需要只针对IE7做样式的时候就可以采用这个HACK。 3、IE6及IE6以下识别 * html select {…} 这个地方要特别注意很多博客都写成了是IE6的HACK其实IE5.x同样可以识别这个HACK。其它浏览器不识别。 4、html/**/ >bod y select {…} 这句与上一句的作用相同。 5、仅IE6不识别,屏蔽IE6 select { display /*屏蔽IE6*/:none;} 这里主要是通过CSS注释分开一个属性与值,注释在冒号前。 6、仅IE6与IE5不识别,屏蔽IE6与IE5 select/**/ { display /*IE6,IE5不识别*/:none;} 这里与上面一句不同的是在选择符与花括号之间多了一个CSS注释。不屏蔽IE5.5 7、仅IE5不识别,屏蔽IE5 select/*IE5不识别*/ {…} 这一句是在上一句中去掉了属性区的注释。只有IE5不识别,IE5.5可以识别。 8、盒模型解决方法 selct {width:IE5.x宽度; voice-family :”\”}\”"; voice-family:inherit; width:正确宽度;} 盒模型的清除方法不是通过!important来处理的。这点要明确。 9、只有Opera识别 @media all and (min-width: 0px){ select {……} } 针对Opera浏览器做单独的设定。 以上都是写CSS中的一些HACK,这些都是用来解决局部的兼容性问题,如果希望把兼容性的内容也分离出来,不妨试一下下面的几种过滤器。这些过滤器有的是写在CSS中通过过滤器导入特别的样式,也有的是写在HTML中的通过条件来链接或是导入需要的补丁样

div+css中常见的浏览器兼容性处理

在网站设计的时候,应该注意css样式兼容不同浏览器问题,特别是对完全使用DIV CSS设计的网,就应该更注意IE6 IE7 FF对CSS样式的兼容,不然,你的网乱可能出去不想出现的效果! 所有浏览器通用 height: 100px; IE6 专用 _height: 100px; IE6 专用 *height: 100px; IE7 专用 *+height: 100px; IE7、FF 共用 height: 100px !important; 一、CSS 兼容 以下两种方法几乎能解决现今所有兼容. 1, !important (不是很推荐,用下面的一种感觉最安全) 随着IE7对!important的支持, !important 方法现在只针对IE6的兼容.(注意写法.记得该声明位置需要提前.) 代码: 2, IE6/IE77对FireFox *+html 与 *html 是IE特有的标签, firefox 暂不支持.而*+html 又为 IE7特有标签. 代码: 注意: *+html 对IE7的兼容必须保证HTML顶部有如下声明: 代码: 二、万能 float 闭合(非常重要!) 可以用这个解决多个div对齐时的间距不对, 关于 clear float 的原理可参见 [How To Clear Floats Without Structural Markup] 将以下代码加入Global CSS 中,给需要闭合的div加上class=”clearfix” 即可,屡试不爽. 代码: ********************************************************************* ************************************************** 三、其他兼容技巧(相当有用) 1, FF下给 div 设置 padding 后会导致 width 和 height 增加, 但IE不 会.(可用!important解决)

(完整版)电子商务案例分析试题参考答案

全国2010年4月高等教育自学考试 电子商务案例分析试题及答案 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未 选均无分。 1.电子商务案例分析中,经营风险分析属于( B ) A.电子商务网站背景分析B.电子商务网站效益分析 C.电子商务网站经营指标分析D.电子商务网站建设与维护方法分析 2.根据美国学者的观点,电子商务作为现代商业方法,以满足企业、商人和顾客的需要为目的,其所采用的手段不. 包括 ..( A ) A.增加交易时间B.改善服务质量 C.增加服务传递速度D.降低交易费用 3.将平面文件转变成EDI标准格式的软件是( C ) A.转换软件B.通信软件 C.翻译软件D.编辑软件 4.与传统广播电视教学手段相比,网络教学所具备的特点是( C ) A.远程B.异地 C.交互式D.电子化 5.电子商务网站建设的核心是( A ) A.服务器B.网络 C.交换机D.存贮设备 6.微软IIS ( Internet Information Server)软件属于( D ) A.浏览器B.操作系统 C.数据库D.Web服务器 7.网上拍卖与传统拍卖最主要的区别是( D ) A.拍卖主体和客体的不同B.拍卖环境和主体的不同 C.拍卖手段和客体的不同D.拍卖环境和手段的不同 8.EDI网络传输的数据是( C ) A.平面文件B.映射软件 C.标准化的EDI报文D.商品检验报验单 9.到目前为止,电子支付仍旧存在的问题是( B ) A.速度B.安全 C.方便D.额度 10.保证数字证书难以仿造的方法是( A ) A.CA的数字签名B.CA的承诺 C.证书持有者的承诺D.信息的加密

浏览器不兼容处理方法

CSS对浏览器器的兼容性具有很高的价值,通常情况下IE和火狐浏览器存在很大的解析差异,这里介绍一下兼容要点。 1、DOCTYPE 影响CSS 处理 2、FF: div 设置margin-left, margin-right 为auto 时已经居中, IE 不行 3、FF: body 设置text-align 时, div 需要设置margin: auto(主要是margin-left,margin-right) 方可居中 4、FF: 设置padding 后, div 会增加height 和width, 但IE 不会, 故需要用!important 多设一个height 和width 5、FF: 支持!important, IE 则忽略, 可用!important 为FF 特别设置样式,值得注意的是,一定要将xxxx !important 这句放置在另一句之上 6、div 的垂直居中问题: vertical-align:middle; 将行距增加到和整个DIV一样高line-height:200px; 然后插入文字,就垂直居中了。缺点是要控制内容不要换行 7、cursor: pointer 可以同时在IE FF 中显示游标手指状,hand 仅IE 可以 8、FF: 链接加边框和背景色,需设置display: block, 同时设置float: left 保证不换行。参照menubar, 给a 和menubar 设置高度是为了避免底边显示错位, 若不设height, 可以在menubar 中插入一个空格。 9、在mozilla firefox和IE中的BOX模型解释不一致导致相差2px解决方法: div{margin:30px!important;margin:28px;} 注意这两个margin的顺序一定不能写反,据阿捷的说法!important这个属性IE不能识别,但别的浏览器可以识别。所以在IE下其实解释成这样:div{maring:30px;margin:28px} 重复定义的话按照最后一个来执行,所以不可以只写margin:XXpx!important; 10、IE5 和IE6的BOX解释不一致 IE5下div{width:300px;margin:0 10px 0 10px;} div 的宽度会被解释为300px-10px(右填充)-10px(左填充)最终div的宽度为280px,而在IE6和其他浏览器上宽度则是以300px+10px(右填充)+10px(左填充)=320px来计算的。这时我们可以做如下修改 div{width:300px! important;width /**/:340px;margin:0 10px 0 10px} 关于这个/**/是什么我也不太明白,只知道IE5和firefox都支持但IE6不支持,如果有人理解的话,请告诉我一声,谢了!:) 11、ul标签在Mozilla中默认是有padding值的,而在IE中只有margin有值所以先定义ul{margin:0;padding:0;} 就能解决大部分问题 注意事项: 1、float的div一定要闭合。 例如:(其中floatA、floatB的属性已经设置为float:left;)<#div id=\”floatA\”> <#div id=\”floatB\”> <#div id=\”NOTfloatC\”> 这里的NOTfloatC并不希望继续平移,而是希望往下排。 这段代码在IE中毫无问题,问题出在FF。原因是NOTfloatC并非float标签,必须将float标签闭合。

相关主题