私有前缀很多时候也是css hack的一种。
下面一条样式:
div{
background: rgba(100,100,100,.5)//这里用了个带透明通道的背景色
_background: #333//然而ie6并不支持上面的rgba颜色模式,所以加只有ie6认识的_下划线来让ie6显示一个灰色背景来代替
}
是hack吧?什么是CSS hack
来源: http://www.div-css.com
什么是CSS hack
由于不同的浏览器,比如Internet Explorer 6,Internet Explorer 7,Mozilla Firefox等,对CSS的解析认识不一样,因此会导致生成的页面效果不一样,得不到我们所需要的页面效果。
这个时候我们就需要针对不同的浏览器去写不同的CSS,让它能够同时兼容不同的浏览器,能在不同的浏览器中也能得到我们想要的页面效果。
这个针对不同的浏览器写不同的CSS code的过程,就叫CSS hack,也叫写CSS hack。
CSS Hack的原理是什么
由于不同的浏览器对CSS的支持及解析结果不一样,还由于CSS中的优先级的关系。我们就可以根据这个来针对不同的浏览器来写不同的CSS。
比如 IE6能识别下划线_和星号*,IE7能识别星号*,当不能识别下划线_,而firefox两个都不能认识。等等
书写顺序,一般是将识别能力强的浏览器的CSS写在后面。下面如何写里面说得更详细些。
如何写CSS Hack
比如要分辨IE6和firefox两种浏览器,可以这样写:
1. <style>
2. div{
3. background:green/* for firefox */
4. *background:red /* for IE6 */
5. }
6. </style>
7. <div>我在IE6中看到是红色的,在firefox中看到是绿色的。</div>
<style>div{ background:green/* for firefox */ *background:red/* for IE6 */ } </style><div>我在IE6中看到是红色的,在firefox中看到是绿色的。</div>
解释一下:
上面的css在firefox中,它是认识不了后面的那个带星号*的东东是什么的,于是将它过滤掉,不予理睬,解析得到的结果是:div{background:green},于是理所当然这个div的背景是绿色的。
在IE6中呢,它两个background都能识别出来,它解析得到的结果是:div{background:greenbackground:red},于是根据优先级别,处在后面的red的优先级高,于是当然这个div的背景颜色就是红色的了。
CSS hack:区分IE6,IE7,firefox
区别不同浏览器,CSS hack写法:
区别IE6与FF:
background:orange*background:blue
区别IE6与IE7:
background:green !importantbackground:blue
区别IE7与FF:
background:orange*background:green
区别FF,IE7,IE6:
background:orange*background:green !important*background:blue
注:IE都能识别*标准浏览器(如FF)不能识别*;
IE6能识别*,但不能识别 !important,
IE7能识别*,也能识别!important
FF不能识别*,但能识别!important
IE6 IE7 FF
* √ √ ×
!important × √ √
另外再补充一个,下划线"_",
IE6支持下划线,IE7和firefox均不支持下划线。
于是大家还可以这样来区分IE6,IE7,firefox
: background:orange*background:green_background:blue
注:不管是什么方法,书写的顺序都是firefox的写在前面,IE7的写在中间,IE6的写在最后面。
向下相容和向上相容有什么区别?向下相容指的是高版本支援低版本的或者说后期开发的版本支援和相容早期开发的版本,
向上相容的很少,大多数软体都是向下相容的。
向上向下和向前向后是一样的,向上和向下是相对的,
对于软体来说,向下相容的意思是,较高版本的程式能顺利处理较低版本程式的资料,
硬体也是如此了,新的产品支援旧产品(向下相容),
当然这时旧产品是得到新产品的支援,对旧产品来说,它是向上相容的,
能不能相容是新产品说的算。
向上相容和向下相容有什么不同?能举例子简单说说吗?向上相容,就是还能提升,有更新的余地。向下相容,只能维持现状,只能使用比较旧的运用程式。
如何 牢固 地记忆 向上相容、向下相容,向前相容,向后相容向上向下和向前向后是一样的
向上和向下是相对的。
对于软体来说,向下相容的意思是,较高版本的程式能顺利处理较低版本程式的资料。
硬体也是如此了。
新的产品支援旧产品。(向下相容),当然这时旧产品是得到新产品的支援。对旧产品来说。它是向上相容的。
能不能相容是新产品说的算
软体向上相容有问题,是不是向下相容也会出现问题?是的,象WINDXP相容WIN987档案就会出现或多或少的问题
私有字首的相容和hank css的相容有什么区别私有字首只有特定浏览器认识,比如:-moz-xxx,这条只有firefox浏览器认识。
私有字首很多时候也是css hack的一种。
下面一条样式:
div{
background: rgba(100,100,100,.5)这里用了个带透明通道的背景色
_background: #333然而ie6并不支援上面的rgba颜色模式,所以加只有ie6认识的_下划线来让ie6显示一个灰色背景来代替
}
4g通讯向下相容和双模通讯的区别4G向下相容的意思就是4G能用3G、2G。
双模的意思就是一个手机内有2个通讯模组,也及是说能同时支援双卡,或者可以支援2种通讯模式,比如移动或联通或电信。
蓝芽版本向下相容问题?是手机向下相容耳机,还是耳机向下相容手机?当然是高版本的向低版本的相容!
只要是蓝芽,不管是高版本还是低版本,只要有可达成的“协议”都可以使用!
如果你的手机是2.0,耳机是1.2,那么就是手机向下相容耳机。
如果你的手机是2.0,耳机是2.1,那么就是耳机向下相容耳机。
你是担心买回来能不能用吧,那就放心吧,不管是手机相容耳机还是耳机相容手机,不管他们是什么版本,都是可以用的。因为蓝芽是一个通用协议,能不能配对使用跟他们的版本无关!
通俗一点说,比如啊!2.0传输速率是48M/S(具体不知道,做个比方),而1.2的只有12M/S,那么这两个装置地使用时,只能以1.2的传输标准,传输速率最大只能是12M/S。
应该懂了吧。加点分吧,我也不容易!
SQLServer向下相容吗?7.0或以上版本都可以 但是不能向上相容
Word向下相容吗?高版本的能相容低版本的,即向下相容!
向下相容指的是高版本支援低版本的或者说后期开发的版本支援和相容早期开发的版本,向上相容的很少。
比如说office2010能开启office2007,office2006,office2005,office2003等建的word档案,但是用office2003就不能开启用office2007,office2010等建的word档案!