如果你是前端程序员,那么你需要解决浏览器页面或不兼容的问题。浏览器的兼容性问题大部分还集中在兼容IE系列。在这里总结的CSS Hack IE系列,对未来的易访问记录.
IE Hack
IE系列浏览器的hack大略如下:
- _nowamagic:1px;-----------ie6
- *nowamagic:1px;-----------ie7
- nowamagic:1px\0;----------ie89
- nowamagic:1px\9\0;--------ie9
- :root nowamagic:1px; ----ie9(实际情况可能ie9还是有问题,再用这种方式)
这样就基本上就可以兼容所有IE。(图片不清晰,点击放大看)
其中粉红色部分为属性hack,黄色部分为选择器hack,它们可以结合使用。此外伤感的句子Firefox和Chrome也有它们专有的hack,详细hack方式及使用示例如下:
Firefox 与 Chrome 的 Hack
Firefox:
- @-moz-document url-prefix() /*写在选择器外层时(只可写在此处):Firefox only*/
Chrome:
- @media screen and (-webkit-min-device-pixel-ratio:0) { /*写在选择器外层时(只可写在此处):Chrome only*/}
使用示例:
- @-moz-document url-prefix() /*Firefox*/
- {
- body
- {
- }
- }
浏览器对css的解析是从前到后的,并且采用最后一个样式声明。
CSS 实例
- background: red; /* 对FF Opera和Safari有效 */
- #background: blue; /* 对 IE6 和 IE7有效 */
- _background: green; /* 只对IE6有效 */
- /*/background: orange;*/ /** 只对IE8有效 **/
- !important /*FF、IE7有效*/
- * /*IE都有效*/
IE8是可以和IE7兼容的,简单一行代码,让淘宝开店IE8自动调用IE7的渲染模式。只需要在页面中加入如下HTTP meta-tag:,只要IE8读到这个标签,它就会自动启动IE7兼容模式,保证页面完整展示。
混用起来大约是这样:
- :root .demo {
- background:#963\9; /* 仅IE9适用 */
- }
- .demo {
- width: 300px;
- height: 200px;
- background: #036; /* 所有浏览器都适用 */
- background: #09F\9; /* IE6~IE9 */
- background: #09F\0; /* IE8~IE9 */
- background: #09F\0/; /* IE8 */
- *background: #F60; /* IE6/IE7 */
- +background: #F60; /* IE6/IE7 */
- @background: #F60; /* IE6/IE7 */
- >background: #F60; /* IE6/IE7 */
- _background: #ccc; /* IE6 */
- }
- @media all and (min-width:0) {
- .demo {
- background: #F06; /* webkit and opera */
- }
- }
- @media screen and (-webkit-min-device-pixel-ratio:0){
- .demo {background:#609;}/*webkit (& Opera9.2)*/
- }
时间: 2024-10-14 16:38:54