CSS Hack 小总结
CSS #hack #总结2012-04-26 09:24
各个浏览器兼容写法:
select { color:blue; /* 所有浏览器*/ color:orange\9; /* 所有IE */ color:#fff\0; /* IE8 */ *color:yellow; /* IE7及以下版本 */ #color:red; /* IE7 */ *+color:red; /* IE7--必须保证HTML顶部有!DOCTYPE 声明*/ _color:green; /* IE6 */ } @media all and (min-width: 0px){select {color:#000;}} /* Opera */。
万能float闭合:
select:after { content:"."; display:block; height:0; clear:both; visibility:hidden; }在Firefox中,当子级都为浮动时,那么父级的高度就无法完全的包住整个子级,那么这时用这个清除浮动的HACK来对父级做一次定义,那么就可以解决这个问题。
截字省略号:
select { overflow:hidden; text-overflow:ellipsis; /* IE */ -o-text-overflow: ellipsis; /* Opera */ white-space:nowrap; /* 设定內容強制显示一行,直到內容结束或遇到<br>标签 */ }
这个是在溢出长度后会自行的截掉多出部分的文字,并以省略号结尾,只是目前Firefox并不支持。
其他兼容技巧:
1, FF下给 div 设置 padding 后会导致 width 和 height 增加, 但IE不会.(可用!important解决)
2, 居中问题.
1).垂直居中.将 line-height 设置为 当前 div 相同的高度, 再通过 vertical-align: middle.( 注意内容不要换行.)
2).水平居中. margin: 0 auto;(当然不是万能)
3, 若需给 a 标签内内容加上 样式, 需要设置 display: block;(常见于导航标签)
4, FF 和 IE 对 BOX 理解的差异导致相差 2px 的还有设为 float的div在ie下 margin加倍等问题.
5, ul 标签在 FF 下面默认有 list-style 和 padding . 最好事先声明, 以避免不必要的麻烦. (常见于导航标签和内容列表)
6, 作为外部 wrapper 的 div 不要定死高度, 最好还加上 overflow: hidden.以达到高度自适应.
7, 关于手形光标. cursor: pointer. 而hand 只适用于 IE.
IE的if条件Hack:
<!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--> <!--[if IE]> 所有的IE可识别 <![endif]--> <!--[if IE 5.0]> 只有IE5.0可以识别 <![endif]--> <!--[if IE 5]> 仅IE5.0与IE5.5可以识别 <![endif]--> <!--[if gt IE 5.0]> IE5.0以及IE5.0以上版本都可以识别 <![endif]--> <!--[if IE 6]> 仅IE6可识别 <![endif]--> <!--[if lt IE 6]> IE6以下版本可识别 <![endif]--> <!--[if gte IE 6]> IE6以及IE6以上版本可识别 <![endif]--> <!--[if IE 7]> 仅IE7可识别 <![endif]--> <!--[if lt IE 7]> IE7以下版本可识别 <![endif]--> <!--[if lte IE 7]> IE7以及IE7以下版本可识别 <![endif]--> <!--[if gte IE 7]> IE7以及IE7以上版本可识别 <![endif]-->
相关文章
- 中文版Chrome下不能显示小于12px的字体 2012/04/17
- CSS Hack 解决各个浏览器兼容的问题 2012/04/15