CSS Hack 总结
浏览器越来越多,不同的浏览器,不同的版本在页面的渲染上都各不相同。这让网页开发人员很头疼,为了能兼容各个浏览器,人们挖掘出了很多 CSS Hack。下面进行一下总结,如果还有其他的 CSS Hack 欢迎提供。
一) 针对 IE 的 Hack
大部分 CSS Hack 都是针对 IE 的,这是用于我们的 IE "坚强"所致,尤其是 IE6。
#test {
color:red; /*所有浏览器*/
+color:blue; /*所有 IE */
_color:green; /*IE 6及以下*/
_color /**/:pink; /*IE 5*/
}
由于 CSS 是后面的覆盖前面的。所以以上 CSS 分别对应 非IE,IE7,8,IE6,IE5。以上 Hack 基本可以满足需求。
不过 IE 还有一些其他的 Hack。
\9 Hack:
#test {
color:red; /*所有浏览器*/
+color:blue\9; /*IE 5 以上*/
}
在属性后面加个 "\9" 就可以了。你可能会奇怪:其他的数字不行吗?我试了下,好像是不行,不过 9 前面可以加几个 0。我觉得这个不必深究,能用就行了。
* html Hack:
#test { /*所有浏览器*/
color:red;
}
* html #test { /*IE 6及以下*/
color:blue;
}
这个 Hack 用于区分 IE6 和其他浏览器。在 CSS 属性比较多的情况下比较有用。值得一提的是,这个 Hack 是符合标准的。
[xmlns] Hack:
刚刚的 "* html" Hack 是 IE6及以下支持,其他浏览器不支持。 "[xmlns]" Hack 刚好相反。
[xmlns] #test { /*IE 6及以下不支持*/
color:green;
}
注意:这个 Hack 要求HTML 必须要有< !DOCTYPE >头部以及有xmlns属性才会起作用。不过这个问题似乎不大,现在绝大部分网页都有这两个东东,包括 Dreamweaver 默认新建的网页都会自动加上
Mac 下 IE Hack:
/*\*//*/
#test {
color:blue;
}
/**/
二) 针对 Gecko(Firefox, Netscape) 的 Hack
@-moz-document url-prefix(){
#test {
color:yellow;
}
}
包含在 @-moz-document url-prefix(){} 之间的 CSS 只有 Gecko 内核的浏览器才会支持。所以对于 Firefox 可以用这个 Hack。
三) 针对 KHTML(Chrome, Safari), Opera 的 Hack
@media screen and
相关文档:
/*不管是什么方法,书写的顺序都是firefox的写在前面,IE7的写在中间,IE6的写在后面。*/
.JS_CenterAD_marquee_Right
{
margin-left:17px !important; /firefox*/
*margin-left:17px !important; / ......
基于IE与css的表格行头与多层列头锁定方法
(左边图锁定了行头与列头,右边图仅锁定列头)
有许多的锁定或固定html表格表头的方法和技术,本文介绍的是一个基于IE和css的简易实现方法,基本思路为:使用div行级元素确定一个包含表格的区域,在区域滚动移动时定位非固定单元格的位置(top/left) ......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
......
1. 在FireFox下,导航栏居中,但主体内容栏却是左对齐。
在div里的内容,IE默认为center,而FireFox默认为left。如果想要让其居中,刚需要在CSS中添加:
margin-left: auto; margin-right: auto;
这样就是告诉FireFox,左右一致,实现居中。(据说,这不是万能的。但我的皮肤居中了。)
2. 在FireFox下,有些效果不能兼 ......
png透明 AlphaImageLoader
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=bEnabled,sizingMethod=sSize,src=sURL)
enabled:可选项。布尔值(Boolean)。设置或检索滤镜是否激活。true:默认值。滤镜激活。false:滤镜被禁止。
sizingMethod:可选项。字符串(String)。设置或检索滤镜作用的对象的图 ......