CSS中 *+height是什么意思
这个是css中hack的写法。针对ie8以下的浏览器起作用。
1、css hack
CSS hack由于不同厂商的浏览器,比如Internet Explorer,Safari,Mozilla Firefox,Chrome等,或者是同一厂商的浏览器的不同版本,如IE6和IE7,对CSS的解析认识不完全一样,因此会导致生成的页面效果不一样,得不到我们所需要的页面效果。 这个时候我们就需要针对不同的浏览器去写不同的CSS,让它能够同时兼容不同的浏览器,能在不同的浏览器中也能得到我们想要的页面效果。
简单的说,CSS hack的目的就是使你的CSS代码兼容不同的浏览器。当然,我们也可以反过来利用CSS hack为不同版本的浏览器定制编写不同的CSS效果。
2、常见的css hack写法
(1)方式一 条件注释法
只在IE下生效
<!--[if IE]>这段文字只在IE浏览器显示<![endif]-->
只在IE6下生效
<!--[if IE 6]>这段文字只在IE6浏览器显示<![endif]-->
只在IE6以上版本生效
<!--[if gte IE 6]>这段文字只在IE6以上(包括)版本IE浏览器显示<![endif]-->
只在IE8上不生效
<!--[if ! IE 8]>这段文字在非IE8浏览器显示<![endif]-->
非IE浏览器生效
<!--[if !IE]>这段文字只在非IE浏览器显示<![endif]-->
(2)方式二 类内属性前缀法
属性前缀法是在CSS样式属性名前加上一些只有特定浏览器才能识别的hack前缀,以达到预期的页面展现效果。
IE浏览器各版本 CSS hack 对照表
说明:在标准模式中
“-″减号是IE6专有的hack
“\9″ IE6/IE7/IE8/IE9/IE10都生效
“\0″ IE8/IE9/IE10都生效,是IE8/9/10的hack
“\9\0″ 只对IE9/IE10生效,是IE9/10的hack
把*+换成“*”或者“+”,就是针对IE7和IE6能读取。
把*+换成“-”或者“_”,就是只让IE6读取。
style="height:10px;*height:20px;"这个样式调试的结果是:在火狐,IE6、IE8下显示为10个像素的高度,在IE7下显示为20个像素的高度,这种写法在调节多浏览器的兼容性上很有用,下面我给你一套我总结的很好用的模板:height:10px;height:20px\9;*height:30px;-height:40px;
用这个套组合调节火狐,IE8、IE7、IE6很有效果,前面10px在火狐下的高度,20px是在IE8下高度,30px是在IE7下的高度,40px是在IE6下的高度,你可以自己写一个div试试,祝你好运
_height是指IE6认识