千锋教育-做有情怀、有良心、有品质的IT职业教育机构

位置:首页 > 行业动态

【HTML5教程】多终端浏览器兼容

时间:2017-11-24 13:09:21  |  来源:广州千锋  |  作者:千锋

   千锋广州HTML5培训课程带你领略如何实现多终端浏览器兼容。

图片1.jpg

  什么是多终端?

  多终端就是包括了我们的电脑,手机,手持式移动设备比如ipad等。

  因为各类设备的显示屏幕大小不一,分辨率不一,佳可视效果的横竖设置也不一样,所以多终端浏览器兼容主要就是学习如何让我们的项目在多终端上呈现相同的显示效果,它主要涉及到两块知识点。

  1、浏览器兼容

  2、宽高自适应

  一、浏览器兼容

  什么是浏览器兼容?

  在我们的实际开发中会涉及到在多个浏览器比如firefox,opera,chrome,或者IE的多个版本下进行调试,在不同版本浏览器下会出现显示效果不一的情况,而浏览器兼容就是为了处理这种情况。

  浏览器重要或者说核心的部分是“Rendering Engine”,可大概译为“渲染引擎”,不过我们一般习惯将之称为“浏览器内核”。负责对网页语法的解释(如标准通用标记语言下的一个应用HTML、JavaScript)并渲染(显示)网页。 所以,通常所谓的浏览器内核也就是浏览器所采用的渲染引擎,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是网页编写者需要在不同内核的浏览器中测试网页显示效果的原因。

  主要浏览器内核有哪些?

  1、Trident内核代表产品Internet Explorer,又称其为IE内核。Trident(又称为MSHTML),是微软开发的一种排版引擎。使用Trident渲染引擎的浏览器包括:IE、傲游、世界之窗浏览器、Avant、腾讯TT、Netscape 8、NetCaptor、Sleipnir、GOSURF、GreenBrowser和KKman等。

  2、Gecko内核代表作品Mozilla FirefoxGecko是一套开放源代码的、以C++编写的网页排版引擎。Gecko是流行的排版引擎之一,仅次于Trident。使用它的浏览器有Firefox、Netscape6至9。

  3、WebKit内核代表作品Safari、Chromewebkit 是一个开源项目,包含了来自KDE项目和苹果公司的一些组件,主要用于Mac OS系统,它的特点在于源码结构清晰、渲染速度极快。缺点是对网页代码的兼容性不高,导致一些编写不标准的网页无法正常显示。主要代表作品有Safari和Google的浏览器Chrome。

  4、Presto内核代表作品OperaPresto是由Opera Software开发的浏览器排版引擎,供Opera 7.0及以上使用。它取代了旧版Opera 4至6版本使用的Elektra排版引擎,包括加入动态功能,例如网页或其部分可随着DOM及Script语法的事件而重新排版。

  5、Blink由Google和Opera Software开发的浏览器排版引擎,2013年4月发布。

  CSS Bug、CSS Hack和Filter

  CSS Bug:CSS样式在各浏览器中解析不一致的情况,或者说CSS样式在浏览器中不能正确显示的问题称为CSS bug.

  CSS Hack:CSS中,Hack是指一种兼容CSS在不同浏览器中正确显示的技巧方法,因为它们都属于个人对CSS代码的非官方的修改,或非官方的补丁。有些人喜欢使用patch(补丁)来描述这种行为。

  Filter:表示过滤器的意思,它是一种对特定的浏览器或浏览器组显示或隐藏规则或声明的方法。本质上讲,Filter是一种用来过滤不同浏览器的Hack类型。

  常见CSS解析Bug及hack

  图片间隙:主要解决插入图片之后在图片下方多出3像素的问题

  双倍浮向:当Ie6及低版本浏览器在解析浮动元素时,会错误地把浮向边界加倍显示。

  默认高度:在IE6及以下版本中,部分块元素拥有默认高度。

  表单元素行高不一致:单元素行高对齐方式不一致。

  按钮元素默认大小不一:各浏览器中按钮元素大小不一致。

  百分比bug:在IE6及以下版本中在解析百分比时,会按四舍五入方式计算从而导致50%加50%大于100%的情况。

  鼠标指针bug:cursor属性的hand属性值只有IE浏览器识别,其它浏览器不识别该声明,cursor属性的pointer属性值IE6.0以上版本及其它内核浏览器都识别该声明。

  透明属性:IE低版本浏览器只能使用filter设置透明度,IE高版本浏览器及其他浏览器要用opacity来设置。

  过滤器(filter)

  1、下划线过滤器

  当在一个属性前面增加了一个下划线后,由于符合标准的浏览器不能识别带有下划线的属性而忽略了这个声明,但是在IE6及低版本浏览器中会继续解析这个规则。

  2、!important关键字过滤器

  它表示所附加的声明具有高优先级的意思。但由于IE6及低版本不能识别它,我们可以利用IE6的这个Bug作为过滤器来兼容IE6和其它标准浏览器。

  3、*属性过滤器

  当在一个属性前面增加了*后,该属性只能被IE7浏览器识别,其它浏览器混略该属性的作用。

  二、宽高自适应

  什么是宽高自适应?

  我们的项目需要在多终端上显示,那么大家就会发现电脑显示器,手机屏幕,平板等,它们的分辨率都不同。我们不可能为了单一显示而专门做一套规则,而是需要我们制定地规则能适应各种设备的显示,这就涉及到宽高能自动适配我们设备的显示屏分辨率,这就是宽高自适应。

  1、宽度自适应

  2、元素具备小高度的自适应

  3、高度自适应

上一篇:广州JAVA培训 让南漂不再孤单
下一篇:广州java培训哪家好?才是我们的硬性指标

新开班New

  • 广州地址:广州市天河区元岗路310号智汇park创意园E座5层
    咨询电话:020-22119207 400-654-7778
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 北京天丰利校区:北京市海淀区宝盛北里西区28号天丰利商城4层
    北京沙河校区:北京市昌平区沙阳路18号北京科技职业技术广场服务楼2层、南区服务楼2层
    咨询电话:400-654-7778 010-82790226-801
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训、好程序员特训营
  • 深圳西部硅谷校区:深圳市宝安区宝安大道5010号西部硅谷B座A605-619
    深圳科技园校区:广东省深圳市南山区高新技术产业园R3栋B5楼
    深圳大学城校区:深圳市南山区留仙大道1201号大学城创客小镇16栋2楼、3楼
    咨询电话:0755-86681178/9-801
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训、PHP培训、JavaEE培训、好程序员特训营
  • 上海地址:上海市宝山区同济支路199号智慧七立方3号楼2-4层
    咨询电话:400-627-7899 021-65025129-602
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训、好程序员特训营
  • 郑州地址:郑州市金水区纬五路21号河南教育综合楼(经纬中学楼)6/7/8层
    咨询电话:0371-55911950 400-654-7778
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训
  • 大连地址:大连市高新园区软件园路2号B8座
    咨询电话:0411-39026086 400-654-7778
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 武汉地址:武汉市东新区光谷大道77号金融港B26栋9楼
    咨询电话:027-59905902 027-59905908 027-59905909
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 成都旅游校区:成都市一环路西二段17号四川旅游青羊校区内
    成都华立校区:成都一环路西二段17号华立大厦3楼
    咨询电话:028-83178771 028-61967740
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训
  • 西安地址:西安市二环南路西段60号永安大厦4层
    西安科技园校区:西安市雁塔区高新六路52号立人科技园C座西区4层
    咨询电话:029-85260160 029-85261030 029-85260960
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 杭州地址:浙江省杭州市江干区九堡旺田书画城A座4层
    咨询电话:0571-86893632 010-82790226/7-801
    面授课程:iOS课程培训、Android课程培训
  • 青岛校区地址:青岛市市南区金坛路17号青岛职业技术南校区实训楼A4层
    咨询电话:0532-80910752/3 010-82790226/7-801
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训
  • 了解千锋动态
    关注千锋教育服务号

  • 扫码匿名提建议
    直达CEO信箱