CSS的hack技巧
来源:互联网 发布:windows扩展屏幕工具 编辑:程序博客网 时间:2024/05/22 02:29
所谓 CSS Hack,是指在 CSS 代码中嵌入诸如 *,*html 等代码,方便于独立控制某种浏览器的具体样式。比如有些 CSSHack 只能被 IE6 或 IE7 识别,而 Firefox 等浏览器则不能识别。这样一来可以有效控制 CSS在不同浏览器的表现,避免撰写多个 CSS 文件。
1. * 符号
IE 浏览器能识别 * 符号,但其他浏览器诸如 Firefox、Opera、Chrome 等不能识别 * 符号。
例:在 Firefox 和 IE 中呈现不同的文字颜色:color:red;*color:blue;//在Firefox 等非 IE 核心浏览器中,文字呈现红色;而 IE 中呈现蓝色。
2. !important
IE7 不但能识别 * 符号,还能识别 !important,而 IE6 只能识别前者。
例:在 IE6 和 IE7 中呈现不同的文字颜色:color:red!important;color:blue;//在 IE7 浏览器中,文字呈现红色;而 IE6中呈现蓝色。
3.综合1 和 2,利用上述浏览器特性,可在 CSS 中判别 Firefox,IE7,IE6 并加载不同样式。
例:在 Firefox,IE7,IE6中呈现三种不同文字颜色:color:blue;*color:red!important;*color:green;//在 Firefox 中,文字呈现蓝色,在 IE7 浏览器中,呈现红色;而 IE6中呈现蓝色。
4. *html 和 *+html
IE 核心的浏览器能识别*html 和*+html,而 Firefox 等非 IE 核心浏览器不能识别。
例:在 Firefox,IE7,IE6中呈现三种不同文字颜色:#div{color:red;}*html #div {color:green;}*+html #div{color:blue;}//第一句Firefox 等可以正常识别,所以这些浏览器中文字呈红色;//第二句 IE6 能识别并执行,用于针对 IE6独立写的样式,文字绿色;//第三句只有 IE7 才能正确识别,而 IE6 和其他非 IE 核心浏览器不能,文字呈蓝色
background:orange;*background:blue;
区别IE6与IE7:
background:green !important;background:blue;
区别IE7与FF:
background:orange; *background:green;
区别FF,IE7,IE6:
background:orange;*background:green!important;*background:blue;
注:
IE7不能识别 _
注:不管是什么方法,书写的顺序都是
firefox的写在前面,IE7的写在中间,IE6的写在最后面。
要求说明:假如我们设置一个类名为exple的类CSS属性,CSS样式边框为1PX黑色边框,高度为100PX并要求,在IE6浏览器下宽度为100PX;IE7浏览器宽度下为150PX;火狐IE8谷歌浏览器下宽度为200PX;(PX是长度单位像素)
则CSS代码如下:
.exple{border:1px solid #000; height:100px;width:200px;*width:150px !important; *width100px;}
这样只要在html设置一个div的类(class="exple"),这样这部分在火狐、IE8、谷歌浏览器下就会显示宽度为200px高度为100px带1px的黑边框的方块;IE7浏览器宽度下为150PX高度为100px带1px的黑边框的方块;在IE6浏览器下就会显示出长度和宽度为100px的带1px黑边的正方形。
本文转自 卡米的博客
一.常用 CSS Hack 的写法,只需考虑IE6\IE7\火狐(Firefox)这3个浏览器即可兼容全部浏览器。 帮助你更好地控制页面呈现:
1. * 符号
IE 浏览器能识别 * 符号,但其他浏览器诸如 Firefox、Opera、Chrome 等不能识别 * 符号。
例:在 Firefox 和 IE 中呈现不同的文字颜色:
2. !important
IE7 不但能识别 * 符号,还能识别 !important,而 IE6 只能识别前者。
例:在 IE6 和 IE7 中呈现不同的文字颜色:
3.综合1 和 2,利用上述浏览器特性,可在 CSS 中判别 Firefox,IE7,IE6 并加载不同样式。
例:在 Firefox,IE7,IE6中呈现三种不同文字颜色:
4. *html 和 *+html
IE 核心的浏览器能识别*html 和*+html,而 Firefox 等非 IE 核心浏览器不能识别。
例:在 Firefox,IE7,IE6中呈现三种不同文字颜色:
二.具体区别如下:
区别IE6与FF:
background:orange;*background:blue;
区别IE6与IE7:
background:green !important;background:blue;
区别IE7与FF:
background:orange; *background:green;
区别FF,IE7,IE6:
background:orange;*background:green!important;*background:blue;
注:
IE都能识别*;标准浏览器(如FF)不能识别*;
IE6不能识别 !important与*+html
IE7不能识别 _
FF不能识别 _ 与*与*html与*+html
background:orange;
*background:green;
_background:blue;
或
background:orange;
*background:green !important;
*background:blue;
注:不管是什么方法,书写的顺序都是
firefox的写在前面,IE7的写在中间,IE6的写在最后面。
三.以上是介绍区别各浏览器的CSS hack的写法,下面我们简单介绍这些CSS hack用法:
要求说明:假如我们设置一个类名为exple的类CSS属性,CSS样式边框为1PX黑色边框,高度为100PX并要求,在IE6浏览器下宽度为100PX;IE7浏览器宽度下为150PX;火狐IE8谷歌浏览器下宽度为200PX;(PX是长度单位像素)
则CSS代码如下:
.exple{border:1px solid #000; height:100px;width:200px;*width:150px !important; *width100px;}
这样只要在html设置一个div的类(class="exple"),这样这部分在火狐、IE8、谷歌浏览器下就会显示宽度为200px高度为100px带1px的黑边框的方块;IE7浏览器宽度下为150PX高度为100px带1px的黑边框的方块;在IE6浏览器下就会显示出长度和宽度为100px的带1px黑边的正方形。
四.CSS里的浏览器前缀
- Firefox:-moz-box-shadow
- Safari:-webkit-box-shadow
- Opera:-o-box-shadow
- IE:-ms-box-shadow
本文转自 卡米的博客
0 0
- CSS的hack技巧
- CSS Hack技术介绍及常用的Hack技巧集锦
- CSS Hack技术介绍及常用的Hack技巧集锦
- CSS属性值的兼容hack技巧
- 关于css hack的技巧大全
- css Hack技巧
- css hack技巧
- CSS hack技巧
- CSS hack技巧大全
- CSS HACK技巧
- CSS hack技巧大全
- CSS hack技巧大全
- CSS hack技巧
- CSS HACK技巧
- css hack技巧
- CSS hack技巧大全
- css hack技巧
- IE10的CSS技巧(IE10专属css hack写法)
- 辅助函数_通用工具__STL
- Shell中[和[[的异同
- 样式表
- JavaScript join() 方法来自W3C
- java中String与Date的类型转换
- CSS的hack技巧
- Hql的fetch
- 快数据:大数据发展的下一个起点
- java编程者必须掌握的技术
- iOS下的dao层实现代码
- eclipse for java ee的tomcat配置(常见问题解决)
- flex控件鼠标移动前后样式
- 想知道明星们的奢靡生活吗
- 博客,新的开始