科百科
当前位置: 首页 范文大全

html兼容设置(HTMLCSS学习笔记二十四)

时间:2023-07-04 作者: 小编 阅读量: 1 栏目名: 范文大全

浏览器兼容

浏览器

浏览器大战

第一次浏览器大战发生在上个世纪90年代,微软发布了它的IE浏览器,和网景公司的Netscape Navigator浏览器大打出手。 ​

第二次浏览器大战发生在20世纪。 ​

战争产物:Internet Explorer 9

13年市场比重

14年市场比重

15年市场比重

17年市场比重

19年市场比重

浏览器内核 ( 现代4大内核 )

Trident 代表作:IE

元老级内核之一,由微软开发,并于1997年10月首次在ie 4.0中使用,凭借其windows垄断优势,Trident市场占有率一直很高。然而垄断并非,没有竞争就没有进步,长期以往,Trident内核一度停滞不前,更新缓慢,甚至一度与W3C标准脱节。2011年,从ie 9开始,Trident开始支持HTML5和CSS 3,因此我们也经常会看到有些网站在浏览时会提示用户(在Internet Explorer 9.0 以上浏览效果最佳)。前端程序员做浏览器兼容一般也不再会考虑ie 8之前的浏览器了。

Gecko 代表作:Mozilla

元老级内核之一,由Netscape公司Mozilla组织开发。1998年,Netscape在于IE浏览器竞争失利之后,成立了非正式组织Mozilla,由其开发新一代内核,后命名为“Gecko”。FireFox也是这班人开发出来了,因此这也就是Mozilla一直使用的内核。 Gecko的特点是代码完全公开,因此其开发程度很高,全世界的程序员都可以为其编写代码,增加功能。

WebKit : 苹果 & 谷歌旧版本

这是苹果公司开发的内核,也是其旗下产品Ssfari浏览器使用的内核。Webkit引擎包含了WebCode排版引擎和JavaScriptCode解析引擎,分别是从KDE的KHTML和KJS衍生而来,它们都是自由软件,在GPL条约下授权,同时支持BSD系统开发。 Chrome、360极速浏览器以及搜狗高速浏览器也使用Webkit作为内核(在脚本理解方面,Chorome使用自己研发的V8引擎)。

Blink : 代表作:谷歌 & 欧鹏

这是由Google和Opera Software开发的浏览器排版引擎,Google计算将这个渲染引擎作为Chromium计划的一部分,并且在2013年4月公布了这一消息。这一渲染引擎是开源引擎Webkit中WebCore组件的一个分支,并且在Chrome(28及往后版本)、Opera(15及往后版本)和Yandex浏览器中使用

Presto ( Opera前内核 已经废弃 )

为什么会出现浏览器兼容问题?

由于各大主流浏览器由不同的厂家开发,所用的核心架构和代码也很难重和,这就为各种莫名其妙的Bug(代码错误)提供了温床。再加上各大厂商出于自身利益考虑而设置的种种技术壁垒,都让CSS应用起来比想象得要麻烦。浏览器的兼容问题是我们必须去克服的。

CSS Bug、CSS Hack和Filter

  • CSS Bug: CSS样式在各浏览器中解析不一致的情况,或者说CSS样式在浏览器中不能正确显示的问题称为CSS bug.
  • CSS Hack: CSS中,Hack是指一种兼容CSS在不同浏览器中正确显示的技巧方法,因为它们都属于个人对CSS代码的非官方的修改,或非官方的补丁。有些人更喜欢使用patch(补丁)来描述这种行为。
  • Filter:表示过滤器的意思,它是一种对特定的浏览器或浏览器组显示或隐藏规则或声明的方法。本质上讲,Filter是一种用来过滤不同浏览器的Hack类型。

常见的BUG

IE低版本常见CSS解析Bug及hack

1)图片有边框BUG

当图片加<a href=“#”></a>在IE上会出现边框

Hack:给图片加border:0;或者border:0 none;

2)图片间隙

div中的图片间隙BUG

描述:在div中插入图片时,图片会将div下方撑大大约三像素。

hack1:将</div>与<img>写在一行上;

hack2:将<img>转为块状元素,给<img>添加声明:display:block;

3) 双倍浮向(双倍边距)(只有IE6出现)

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

hack:给浮动元素添加声明:display:inline;

4)默认高度(IE6、IE7)

描述:在IE6及以下版本中,部分块元素拥有默认高度(在16px左右;)

hack1:给元素添加声明:font-size:0;

hack2:给元素添加声明:overflow:hidden;

非IE BUG

5)表单元素对齐不一致

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

hack:给表单元素添加声明:float:left;

6)按钮元素默认大小不一

描述:各浏览器中按钮元素大小不一致

hack1: 统一大小/(用a标记模拟)

hack2:input外边套一个标签,在这个标签里写按钮的样式,把input的边框去掉。

hack3:如果这个按钮是一个图片,直接把图片作为按钮的背景图即可。

7)鼠标指针bug

描述:cursor属性的hand属性值只有IE9以下浏览器识别,其它浏览器不识别该声明,cursor属性的pointer属性值IE6.0以上版本及其它内核浏览器都识别该声明。

hack: 如统一某元素鼠标指针形状为手型,

应添加声明:cursor:pointer cursor: ;

auto默认

crosshair加号

text文本

wait等待

help帮助

progress过程

inherit继承

move移动

ne-resize向上或向右移动

pointer手形

8)透明属性

兼容其他浏览器写法:opacity:value;(value的取值范围0-1; 例:opacity:0.5;)

IE浏览器写法:filter:alpha(opacity=value);取值范围 1-100(整数)

过滤器

1.下划线属性过滤器

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

语法:选择符{_属性:属性值;}

2. !important

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

语法:选择符{属性:属性值!important;}

3. *属性过滤器

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

语法:选择符{*属性:属性值;}

4. \9 :IE版本识别;其它浏览器都不识别

语法:选择符{属性:属性值\9;}

5. \0 : IE8 及以上版本识别;其它浏览器都不识别

    推荐阅读
  • 王者荣耀信号经济落后怎么发(下面2个步骤帮你解决)

    王者荣耀信号经济落后怎么发?接下来我们就一起去研究一下吧!王者荣耀信号经济落后怎么发长按住右边的对话框,正常情况下这个显示的是三个点,玩家长按住以后会有个用来连接各种元素的提示。因为是要发送经济领先或者经济落后的信号,第一步按住千万不要放手,看到图标变化了就拖动到上方人头数量那里,图上也有标注出来,移到位置以后再松开,这样就会自动发经济领先或者落后多少。

  • 黑色的鸭子是什么品种(小时候黑色的鸭子是什么品种)

    鸭子的品种有很多,不同品种的体格大小、颜色会有一定的差异。该品种是典型的肉用型鸭品种,主要分布广西北流地区以及与广东高州地区交界的荷花镇。黑田鸭全身羽毛黑色,体格中等,行走十分敏捷,适合在亚热带地区水稻田饲养。

  • 蛋黄沙拉酱的做法(如何做蛋黄沙拉酱)

    以下内容希望对你有帮助!蛋黄沙拉酱的做法准备食材:3个蛋黄打入碗中,袋装牛奶倒入碗中放入白砂糖,玉米油和玉米淀粉备用。蛋黄碗中倒入玉米油和白醋,用蛋抽搅拌均匀。将蛋黄液倒入煮锅内,全程开小火用刮刀反复搅拌以免糊锅。搅拌至浓稠关火。趁热装入用过的沙拉酱的饼子中即可。

  • 豌豆尖的吃法(豌豆尖怎么做好吃)

    跟着小编一起来看一看吧!豌豆尖的吃法用蒜、盐、味精、淀粉、水兑一个芡汁,尝好咸淡。锅里放油,烧到8成热,放入豌豆尖,急火快炒。豌豆尖段生后,倒入事先兑好的芡汁。这样做出来的菜比较脆,能保持鲜嫩的口感。同理可用以上方法做蒜蓉各种蔬菜,如蒜蓉茼蒿,蒜蓉西葫芦,蒜蓉冬瓜。

  • 红楼梦经典语录摘抄(有关红楼梦的经典句子)

    红楼梦经典语录摘抄你方唱罢我登场,反认他乡是故乡;甚荒唐,到头来都是为他人作嫁衣裳。女儿是水作的骨肉,男人是泥作的骨肉。我见了女儿,我便清爽;见了男子,便觉浊臭逼人。黄金万两容易得,知心一个也难求。假作真时真亦假,无为有处有还无。质本洁来还洁去,强于污淖陷渠沟。香魂一缕随风散,愁绪三更入梦遥。苦绛珠魂归离恨天,病神瑛泪洒相思地。茜纱窗下,公子无缘。黄土垅中,卿何薄命。

  • 凤丹和牡丹的区别是什么(凤丹和牡丹的区别在哪里)

    以下内容大家不妨参考一二希望能帮到您!凤丹和牡丹的区别是什么观赏牡丹和凤丹两者有明显的区别。一是叶片不同,牡丹叶子一般份三叉,而凤丹的叶不分叉,即使有分叉也是少数。而凤丹枝条直,叶间距大。此外,根系也不同,牡丹根系发达,而凤丹只有一个主根。

  • 治愈心灵的句子(有什么治愈心灵的句子)

    治愈心灵的句子时间,会带来惊喜,只要我们肯认真地,有希望地,走过每一天。携手走过了十一个年头,从繁华走到了简单,更明白真正的爱是会随着时间的滋养而丰盛的。天下间的人,往往总是欺负对他最好的那个人。即使你只是我生命拼图的一小块,但是没有你,我的生命便不会完整。习惯了,看透了,明白了,心死了,累过了,该睡了。其实在一起的时候就已经猜到了结局,可还是不服输的想试试我们能走多远。

  • 萝卜什么时候种(什么时候种萝卜)

    接下来我们就一起去了解一下吧!萝卜什么时候种春萝卜在长江以北地区种植的较普遍。在东北,西北以及华北北部4到5月播种,6到7月份可以收获。它的生长期大概是25到60天。秋萝卜在西北和华北地区是7月下旬到8月上旬播种,10月下旬到11月上旬就可以收获;西北和东北较寒冷,种植要稍微提前些,在7月上中旬播种,10月上中旬收获。冬萝卜一般是9月上中旬进行播种,不可太晚,到后期温度较低,太晚会影响产量。

  • 进门高档屏风隔断效果图大全(入户屏风隔断效果图怎么设计好)

    日光衬映入室,纯粹的空间色调,自有一股柔雅生成。进门玄关设计两侧的墙壁独特的设计,拉长了整个空间的视觉效果,同时屏风隔断的设计效果,也让整个空间更加典雅。在进门屏风隔断的色调选择上,就选择了暗色调,但这样的设计却不会沉闷,反而很有时尚感。除了赋予私领域的弹性使用之外,也将原有的四房格局加以神明厅,满足了长辈的祭祖需求。希望装修网小编给大家准备的进门屏风隔断效果图,会对大家有帮助。

  • 最好的遇见电视剧简介(关于电视剧最好的遇见简介)

    最好的遇见电视剧简介《最好的遇见》是由王小康执导,颖儿、明道领衔主演,马天宇特别出演的都市情感剧。的感人牌子站到了向辉所在的公司门前,从而引起了年轻帅气的建筑设计师刘火的注意。毛丫丫的举动被在职场上打拼的年轻男女誉为“爱情勇士”,争议不断。然而,正是毛丫丫对爱情的执着和专一引起了刘火对她的好感。刘火曾被相爱七年的女友何雨琪抛弃,他不再相信爱情,而毛丫丫却唤醒了他。