`
白云飞
  • 浏览: 32825 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

(转)提高网页在IE和Firefox上的兼容性——CSS Hack

阅读更多

目前,IE和Firefox是网页用户常用的浏览器。由于不同浏览器对CSS的支持和解析结果不同,同样的CSS代码有时会在不同的浏览器上显现出不同的网页效果。在IE上测试完成的网页,用Firefox打开却可能满篇混乱,表格错位了,文字间距不同了,代码功能也失效了,等等。

虽然网页开发人员以及所有程序开发人员都希望自己的代码具有强壮的可兼容性,同样的代码可以在任何位置正确运行,但是对于CSS,做的并不完美。这不是CSS的问题,兼容所有浏览器的解析器目前的确是件很难办到的事情。网页制作者是无法强迫用户只使用某一种浏览器的,只能通过对网页代码的控制,对标准CSS进行补救,尽量使同一个网页在不同的浏览器上都能呈现基本相同的外观和功能。在各种浏览器没有形成标准化开发前,恐怕还没有更完美的办法达成一致。

解决网页在不同浏览器上兼容性的方法通常是针对不同浏览器书写不同的CSS代码,并且精心组织HTML结构,使CSS代码能在不同浏览器中分别呈现基本类似的外观和功能。即便如此,目前也还是无法做到完美的一致外观。针对不同浏览器书写不同CSS代码的过程,就叫做CSS Hack。

下面举例说明怎样书写CSS Hack。

1. 这个例子控制网页背景在IE和Firefox中显示不同颜色。虽然实际网页很少这样制作,但这是体验CSS Hack控制能力的一个简单明了的好例子。

使某个网页背景,在IE6中显示蓝色,在IE7中显示绿色,在FireFox中显示黄色


注:
IE6可识别*,但无法识别!important
IE7可识别*,也可识别!important
Firefox无法识别*,但可识别!important


注:
IE6可识别*和下划线"_"
IE7可识别*,无法识别下划线"_"
Firefox无法识别*或下划线"_"

2. 这个例子控制网页页面宽度。使网页在IE中宽度为400px,在Firefox中宽度为700px


注:
IE可识别"+"
Firefox无法识别"+"

3. 这个例子控制网页页面高度。使网页在IE6中高度为50px,在IE7或IE6中高度为100px,在Firefox中高度为300px


注:
IE6可识别下划线"_"
IE6和IE7可识别*,IE7无法识别下划线"_"
Firefox无法识别"*或下划线"_"

还有更多CSS Hack例子,不一一列举。

虽然以上介绍了如何使用CSS Hack,但是CSS Hack并不是网页开发不可缺少的部分。恰恰相反,合理的设计网页构架,可以减少CSS Hack的使用,甚至避免CSS Hack的使用。CSS Hack可以被看作一种过渡时期的产物,网页设计开发不会也不应该停留在用CSS Hack解决浏览器兼容的层面上。技术的发展不会停止,目前学会这个补救措施只是权宜之计。

分享到:
评论

相关推荐

    IE6、IE7、IE8、Firefox兼容性CSS HACK代码+示例

    IE6、IE7、IE8、Firefox兼容性CSS HACK代码+示例

    css hack浏览器兼容性

    css hack ie6 ie7 ie8 firefox等浏览器兼容性

    JS和CSS的IE和Firefox兼容性

    能让用户量最多的两个浏览器兼容,是web程序员比较头疼的事情,里面包含了一些方法总结,比如CSS里面的hack,js里面的style.height等赋值都要有'px'才兼容火狐

    CSS兼容大全IE5,IE5.5,IE6,IE7,Firefox,Opera,Safari等浏览器

    CSS Hack兼容大全,令网页能正常显示在IE5,IE5.5,IE6,IE7,Firefox,Opera,Safari等浏览器上

    浏览器兼容.doc-CSS hack姐姐兼容性问题

    解决浏览器兼容性问题的主要方法是CSS hack。由于不同的浏览器,比如Internet Explorer 6,Internet Explorer 7,Mozilla Firefox等,对CSS的解析认识不一样,因此会导致生成的页面效果不一样,得不到我们所需要的页面...

    CSS在IE6, IE7, IE8, Firefox中的特定使用(Hack).

    CSS在IE6, IE7, IE8, Firefox中的特定使用(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」、「*」、「...

    css hack日志

    css hack 兼容性的总结与体会. IE6,IE7,IE8,IE9,firefox,apple,chrome等等浏览器的兼容性

    CSS浏览器兼容性Hack大全

    本文汇总了一些CSS的浏览器兼容性的hack,都是非常常用的,作为一个前端设计师经常能够用到,这里推荐给大家。

    7个你不可不知的IE hack

    CSS hack由于不同的浏览器,比如Internet Explorer 6,Internet Explorer 7,Mozilla Firefox等,对CSS的解析认识不一样,因此会导致生成的页面效果不一样,得不到我们所需要的页面效果。 这个时候我们就需要针对不同...

    css hack 兼容IE5.0、IE5.5、IE6.0、IE7.0、FF1.5、FF2.0 浏览器兼容教程

    IE7.0简体中文正式版发布了,对于我等常和网页打交道的人来说网页兼容性问题也随之而来了。IE7.0有一个显著的改变就是支持!important了,是件好事情,但是也给广大的在IE6时代使用!important来区分处理IE和FF的网页...

    CSS兼容问题之HACK技术

    有话先说:本文的目的主要是向大家描述一下我们在遇见IE8版本以下以及Firefox兼容的问题。 CSS Hack原理是通过不同浏览器自身所带有的特别标识符以及CSS中优先级的机制来实现不同浏览器里CSS样式兼容性的问题。 针对...

    CSS常用技巧之CSS书写技巧和CSS HACK技巧

    1、属性级Hack:比如IE6能识别下划线”_”和星号” * “,IE7能识别星号” * “,但不能识别下划线”_”,而firefox两个都不能认识。 2、选择符级Hack:比如IE6能识别*html .class{},IE7能识别

    CSS Hack技术介绍及常用的Hack技巧集锦

    一、什么是CSS Hack?...1、属性级Hack:比如IE6能识别下划线”_”和星号” * “,IE7能识别星号” * “,但不能识别下划线”_”,而firefox两个都不能认识。 2、选择符级Hack:比如IE6能识别*html .class{},IE7能

    css区分ie8/ie9/ie10/ie11 chrome firefox的代码

    网站兼容性调试实在令人烦心,现在的网站设计人员真的要比以前费力很多,因为网页代码不再是只需满足一个IE6访问就行,而是要满足N多的浏览器访问正常才行。粗略算一下,目前至少要满足如下的浏览器要求:IE8、IE9、...

    CSS网站布局实录 (第二版)PDF版

    1.6.8 使用Web标准之后就不再存在兼容性问题了吗 1.6.9 有没有Web标准方面的优秀图书或网站 1.6.10 使用CSS设计只能做出简单的网页吗 1.7 面向现在与未来的设计 1.7.1 Web标准与Web 2.0 1.7.2 用户体验技术 1.7.3 ...

    firefox-csshacks:影响浏览器的用户样式集合

    Firefox的随机CSS hack集合 该存储库包含各种样式,以修改Mozilla Firefox的外观。 这些样式表大多是独立的,可以自由地相互混合,但是不能保证与第三方样式的兼容性。 如果某个特定样式依赖于另一种样式,则将在...

    jquery 仿制苹果系统导航菜单

    基于jquery做的网页版仿苹果系统导航菜单,效果非常流畅 华丽 不解释。。。 用法: 在页面头部标签<head></head>中加入下面的代码 ...我已经在IE 6, IE 7, Opera 9, Firefox 2, Firefox 3 and Safari 2上测试通过。

    css display inline block 兼容性问题写法

    今天在写布局的时候发现的一个bug,如果不这样就达不到预期的效果,无法两行排列,原来ie6、ie7下对display:inline-block不支持,所以需要用到css hack才可以

Global site tag (gtag.js) - Google Analytics