常见的浏览器Hack技巧总结

如果你经常需要做前端页面,那么你一定多多少少需要解决页面的浏览器兼容问题。而浏览器兼容问题大部分也集中在对IE系列的兼容。这里就总结一下对IE系列的CSS Hack,记录一下,方便以后查阅。

IE Hack

IE系列浏览器的hack大略如下:

  • _nowamagic:1px;-----------ie6
  • *nowamagic:1px;-----------ie7
  • nowamagic:1px\0;----------ie89
  • nowamagic:1px\9\0;--------ie9
  • :root nowamagic:1px;    ----ie9(实际情况可能ie9还是有问题,再用这种方式)

这样就基本上就可以兼容所有IE。大都会娱乐城

此外Firefox和Chrome也有它们专有的hack,详细hack方式及使用示例如下:

Firefox 与 Chrome 的 Hack

Firefox:

@-moz-document url-prefix()    /*写在选择器外层时(只可写在此处):Firefox only*/

Chrome:

@media screen and (-webkit-min-device-pixel-ratio:0)    /*写在选择器外层时(只可写在此处):Chrome only*/

使用示例:

@-moz-document url-prefix()    /*Firefox*/
{
	body
	{
		background-color:pink;
	}
}

浏览器对css的解析是从前到后的,并且采用最后一个样式声明。

CSS 实例

.color{
    background-color: #CC00FF;        /*所有浏览器都会显示为紫色*/
    background-color: #FF0000\9;    /*IE6、IE7、IE8会显示红色*/
    *background-color: #0066FF;        /*IE6、IE7会变为蓝色*/
    _background-color: #009933;        /*IE6会变为绿色*/
}
background: red;       /* 对FF Opera和Safari有效 */
#background: blue;      /* 对 IE6 和 IE7有效 */
_background: green;      /* 只对IE6有效 */
/*/background: orange;*/      /** 只对IE8有效 **/
!important         /*FF、IE7有效*/
*         /*IE都有效*/

IE8是可以和IE7兼容的,简单一行代码,让IE8自动调用IE7的渲染模式。只需要在页面中加入如下HTTP meta-tag:<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />,只要IE8读到这个标签,它就会自动启动IE7兼容模式,保证页面完整展示。

混用起来大约是这样:

:root .demo {
	background:#963\9; /* 仅IE9适用 */
}
.demo {
	width: 300px;
	height: 200px;
	background: #036; /* 所有浏览器都适用 */
	background: #09F\9; /* IE6~IE9 */
	background: #09F\0; /* IE8~IE9 */
	background: #09F\0/; /* IE8 */
	*background: #F60; /* IE6/IE7 */
	+background: #F60; /* IE6/IE7 */
	@background: #F60; /* IE6/IE7 */
	>background: #F60; /* IE6/IE7 */
	_background: #ccc; /* IE6 */
}
@media all and (min-width:0) {
	.demo {
		background: #F06; /* webkit and opera */
	}
}  

@media screen and (-webkit-min-device-pixel-ratio:0){
	.demo {background:#609;}/*webkit (& Opera9.2)*/
}
时间: 2024-10-09 03:13:15

常见的浏览器Hack技巧总结的相关文章

css常见的浏览器Hack技巧总结

如果你是前端程序员,那么你需要解决浏览器页面或不兼容的问题.浏览器的兼容性问题大部分还集中在兼容IE系列.在这里总结的CSS Hack IE系列,对未来的易访问记录. IE Hack IE系列浏览器的hack大略如下: _nowamagic:1px;-----------ie6 *nowamagic:1px;-----------ie7 nowamagic:1px\0;----------ie89 nowamagic:1px\9\0;--------ie9 :root nowamagic:1px

常见的浏览器兼容性问题大汇总

常见的浏览器兼容性问题大汇总 1 ie6.0横向margin加倍 产生因素:块属性.float.有横向margin. 解决方法:display:inline: 2 ie6.0下默认有行高 解决方法:overflow:hidden;或font-size:0;或line-height:xx px: 3 在各个浏览器下img有空隙(原因是:回车.) 解决方法:让图片浮动. 4 一个父标签与几个子标签嵌套,父标签不浮动,子标签float,子标签不撑开父的高度. 解决方法:a 在子标签最后清浮动{<div

常见的浏览器兼容问题和解决方法

为什么会有兼容问题? 由于市场上浏览器种类众多,而不同浏览器其内核亦不尽相同,所以各个浏览器对网页的解析就有一定出入,这也是导致浏览器兼容问题出现的主要原因,我们的网页需要在主流浏览器上正常运行,就需要做好浏览器兼容. 使用Trident内核的浏览器:IE.Maxthon.TT: 使用Gecko内核的浏览器:Netcape6及以上版本.FireFox: 使用Presto内核的浏览器:Opera7及以上版本: 使用Webkit内核的浏览器:Safari.Chrome. 而我现在所说的兼容性问题,主

常见的浏览器兼容性问题

浏览器兼容性问题一: 不同浏览器的标签默认的外补丁和内补丁不同(margin和padding) 问题症状:随便写几个标签,不加样式控制的情况下,各自的magin和padding差异较大. 解决方案:css里 *{margin:0;padding:0;} 浏览器兼容性问题二: 块属性标签float后,又有横行的margin情况下,在ie6显示margin比设置的大. 问题症状:常见症状是ie6中后面的一块被顶到下一行 碰到频率:90%(稍微复杂点的页面都会碰到,float布局常见的浏览器兼容问题)

常见CSS浏览器兼容性问题与解决方案【转载自http://blog.csdn.net/chuyuqing/article/details/37561313/】

所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况.在大多数情况下,我们的需求是,无论用户用什么浏览器来查看我们的网站或者登陆我们的系统,都应该是统一的显示效果.所以浏览器的兼容性问题是前端开发人员经常会碰到和必须要解决的问题. 在学习浏览器兼容性之前,我想把前端开发人员划分为两类: 第一类是精确按照设计图开发的前端开发人员,可以说是精确到1px的,他们很容易就会发现设计图的不足,并且在很少的情况下会碰到浏览器的兼容性问题,而这些问题往往都死浏览器

常见的 .htaccess 使用技巧 转载

Apache Web 服务器可以通过 .htaccess 文件来操作各种信息,这是一个目录级配置文件的默认名称,允许去中央化的 Web 服务器配置管理.可用来重写服务器的全局配置.该文件的目的就是为了允许单独目录的访问控制配置,例如密码和内容访问. 1. 定制目录的 Index 文件 DirectoryIndex index.html index.php index.htm 你可以使用上面的配置来更改目录的默认页面,例如你将这个脚本放在 foo 目录,则用户请求 /foo/ 时候就会访问 /fo

加特殊符号星号斜杠反斜杠/* \ */ !important等让css实现兼容各个浏览器的技巧的代码

在编写css样式表的时候常常会碰到一写浏览器兼容的问题,象是不同内核的浏览器显示就不一定相同,不同版本的的浏览器也会产生上下兼容的问题,如何解决这些问题成了我们苦恼的问题,如果你对css hack技术很了解的话,那这就是太简单不过了,不过对于那些不怎么解的人来说可真成了他们所苦恼的事.在这就从 赵磊官方博客 引来一篇文章来介绍兼容各个浏览器的技巧.但是你也不要认为只要是浏览器显示出现差错就事浏览器的问题,也很可能是你的结构不好,建议你好好去学习一下语义结构,毕竟盖房子要先搭钢筋的. 1,盒解释器

常见的浏览器前缀

有些时候,某些CSS属性还只是最新版的预览版,并未发布成最终的正式版,而大部分浏览器已经为这些属性提供了支持,但这些属性是小部分浏览器专有的:有些时候,有些浏览器为了扩展某方面的功能,它们会选择新增的一些CSS属性,这些自行扩展的CSS属性也是浏览器专属的.为了让这些浏览器识别这些专属属性,CSS规范允许在CSS属性前增加各自的浏览器前缀. 常见的浏览器前缀有: 前缀 组织 示例 说明 -ms- Microsoft -ms-interpolation-mode IE浏览器专属的CSS属性需添加-

CSS hack技巧大全

CSS hack技巧大全[转]:http://www.duitang.com/static/csshack.html 常用CSS书写技巧和CSS HACK技巧[转]:http://www.cnblogs.com/pittzh/archive/2009/07/23/1529769.html