`

CSS hack的写法

阅读更多

      对CSS的解析认识不一样,因此会导致生成的页面效果不一样,得不到我们所需要的页面效果。我们就可以根据这个来针对不同的浏览器来写不同的CSS。

  比如 IE6能识别下划线"_"和星号" * ",IE7能识别星号" * ",但不能识别下划线"_",而firefox两个都不能认识。等等

【书写顺序】

一般是将识别能力强的浏览器的CSS写在后面

浏览器优先级别:FF < IE7 < IE6 , CSS hack

书写顺序一般为FF IE7 IE6

来看下面div+css浏览器兼容的例子:  

#demo {width:100px;}     
* html #demo {width:120px;}
*+html #demo {width:130px;}

所以最后,#demo的宽度在三个浏览器的解释为:

  firefox:100px;

  ie6:120px;

       ie7:130px;

【Div+css浏览器的兼容技巧:】

① 垂直居中.将 line-height 设置为 当前 div 相同的高度, 再通过 vertical-align: middle.( 注意内容不要换行.)

② 水平居中. margin: 0 auto;(当然不是万能)

③ 若需给 a 标签内内容加上 样式, 需要设置 display: block;(常见于导航标签)

④ FF 和 IE 对 BOX 理解的差异导致相差 2px 的还有设为 float的div在ie下 margin加倍等问题.

⑤ ul 标签在 FF 下面默认有 list-style 和 padding . 最好事先声明, 以避免不必要的麻烦. (常见于导航标签和内容列表)

⑥ 作为外部 wrapper 的 div 不要定死高度, 最好还加上 overflow: hidden.以达到高度自适应.

⑦ 关于手形光标. cursor: pointer. 而hand 只适用于 IE.

⑧ FF下给 div 设置 padding 后会导致 width 和 height 增加, 但IE不会.(可用!important解决)

 注:针对firefox  IE6  IE7的css样式

【注意】

现在大部分都是用!important来hack,对于IE6和firefox测试可以正常显示,但是IE7 !important可以正确解释,会导致页面没按要求显示!找到一个针对IE7不错的hack方式就是使用“*+html”,现在用IE7浏览一下,应该没有问题了

 

现在写一个浏览器兼容的CSS样式:

#cshk{ height:20px; }
* html #cshk {height:50px; }
*+html #cshk {height:80px; }

那么在firefox下高度为20,IE6下的高度为50,IE7下的高度为80

分享到:
评论

相关推荐

    cssHack样式解析

    下面是一些常见的 CSS Hack 写法: * 区别 IE6 和 Firefox:`background:orange; *background:blue;` * 区别 IE6 和 IE7:`background:green !important; background:blue;` * 区别 IE7 和 Firefox:`background:...

    各浏览器下Hack的写法

    以下是针对各主流浏览器的一些CSS Hack写法: 1. **Firefox**: 使用`@-moz-document url-prefix()`来为Firefox编写特定的CSS规则。例如: ```css @-moz-document url-prefix() { .selector { property: value...

    2010全面兼容多浏览器IE6-IE7-IE8-FF的CSS HACK写法

    本文将探讨一种2010年时全面兼容这些浏览器的CSS HACK写法。 首先,为了解决IE8的兼容性问题,我们可以使用微软提供的`&lt;meta&gt;`标签,如下所示: ```html ``` 将这段代码放入HTML文档的`&lt;head&gt;`部分,IE8会以IE7...

    web前端规范之CSSHack[总结].pdf

    以下是一些常见的CSS Hack写法示例: ```css .newsList { padding: 10px; /* FF, CH, OP */ [padding: 10px; padding: 12px;] /* SF, CH (取后者) */ padding: 9px\9; /* 所有ie内核 */ padding: 8px\0; /* ie8...

    css_hack csshack技术

    ### CSS Hack 技术详解及应用 #### 一、引言 随着互联网技术的发展,Web前端开发变得越来越重要。然而,在实际开发过程中,一个不容忽视的问题便是**跨浏览器兼容性**。由于不同浏览器(包括同一浏览器的不同版本...

    不同浏览器的CSS Hack写法小结

    区别IE6与FF: background:orange;*background:blue; 区别IE6与IE7: background:green !important;background:blue; 区别IE7与FF: background:orange; *background:green; 区别FF,IE7,IE6: background:orange;...

    CSS hack 针对IE6,IE7,firefox显示不同效果

    具体的CSS hack写法如下: - 区别IE6与Firefox:background: orange; *background: blue; - 区别IE6与IE7:background: green !important; background: blue; - 区别IE7与Firefox:background: orange; *background:...

    全面兼容ie6,ie7,ie8,ff的CSS HACK写法

    本文将分享一种CSS HACK的写法,能够帮助大家更好地处理不同浏览器之间的兼容性问题。 首先,我们需要了解CSS HACK的基本原理。CSS HACK是一种特殊的CSS代码,用于解决特定浏览器对CSS支持的差异问题。通过特定的...

    H5 CSS hack 和浏览器内核

    这种写法就是一种CSS Hack。 浏览器内核是解析和渲染网页内容的核心组件,常见的有Trident(IE)、Gecko(Firefox)、Webkit(Safari, Chrome)和Blink(Chrome, Opera)。每种内核对CSS的解析方式和对新特性的支持...

    CSS教程之通用的css hack简介

    ### CSS教程之通用的CSS Hack简介 #### 一、引言 随着Web技术的发展与浏览器种类的增多,兼容性问题成为前端开发人员面临的一大挑战。为了解决不同浏览器对CSS支持程度不一的问题,开发者们发明了各种CSS Hack技巧...

    CSS Hack 浏览器兼容写法 用法

    CSS Hack 不得不在一些项目中运用到

    10个非常有用的CSS hack和技术

    ### 10个非常有用的CSS Hack和技术 #### 1. 跨浏览器的inline-block **技术要点:** 在CSS中,`inline-block`是一个非常有用的显示模式,它允许元素像行内元素一样显示,同时拥有块级元素的特性,如宽度、高度等。...

    Css hack总结及其最佳用法

    CSS Hack,作为一种应对不同浏览器间样式解析差异的技术,是前端开发者在处理跨浏览器兼容性问题时经常需要用到的技能。在本文中,我们将深入探讨CSS Hack的原理、常见方法以及最佳实践,特别关注针对IE6、IE7和IE8...

    网站开发技巧-个人三年遇到的一些CSS经典问题及解决方法

    兼容IE6E7IE8FF的CSS HACK写法.doc和css hack 区分ie6.0 ie7.0 firesox的各种写法.doc中介绍了如何通过特定的语法结构来实现对不同浏览器的针对性优化。 3. **PNG透明度问题**:IE6对PNG-24格式的透明处理不足,...

    web前端规范之CSSHack.pdf

    **CSS Hack常见写法** 以下是一些CSS Hack的示例: ```css .newsList { padding: 10px; /* FF CH OP 都能识别 */ [padding:10px; padding:12px;]; /* SF, CH (值取后者: padding :8px) */ padding:9px\9; /* ...

    浏览器兼容之旅第二站:各浏览器的Hack写法让浏览器达到一致的渲染效果

    从而让各浏览器能达到一致的渲染效果,那么针对不同的浏览器写不同的CSS CODE的过程,就叫CSS HACK,同时也叫写CSS Hack这一节将和大家一起学习:浏览器兼容之旅的第二站:各浏览器的Hack写法

    区分ie6 7 8 FF 的css hack 日常总结

    这些特殊的写法就被称为CSS Hack。 在描述中提到的方法是针对IE的一个典型hack技巧。`_`前缀和`\9`字符是用来分别影响IE6/7和IE8及更高版本的。具体如下: 1. `background:红色;` 这条规则是非IE浏览器的默认样式...

Global site tag (gtag.js) - Google Analytics