您现在的位置是:网站首页> 编程资料编程资料
CSS hack大全之特殊符号的应用解决浏览器兼容性问题浅谈各种浏览器下的CSS Hack兼容性写法CSS浏览器兼容性Hack大全浏览器hack总结 详细的浏览器兼容性的快速解决方法
2023-10-27
245人已围观
简介 由于各大浏览器尤其IE浏览器对web标准支持情况不一,导致网页在的表现不一,所谓的hack技术则是前端开发中必用的,使用它可以解决各浏览器兼容性问题,为此烦恼的朋友可以参考下
由于各大浏览器尤其IE浏览器对web标准支持情况不一,导致标准的网页在各个浏览器中的表现不一,因此,解决各浏览器兼容性问题成为了前端工程师最重要的工作之一,而所谓的hack技术则是前端开发中必用的。
CSS hack的写法有很多种,其中,特殊符号的应用最为普遍,也最为简洁,下面一一介绍了特殊符号类型的CSS hack技术:
1、反斜线(\)
适用浏览器:IE/Mac
反斜线(\)hack利用了IE/Mac的一个bug。以\*/结束的注释在IE/Mac上是不正确关闭的,所以那些需要在IE/Mac上被忽略的语句可以放在这种注释后面。
selector { ...styles... }
2、下划线(_)
适用浏览器:IE6及其以下版本
IE 6 及以下的版本可以识别带有下划线前缀的属性,而其它浏览器会忽略它。因此,一个属性前面加上下划线或者连字符,就成为了IE6及以下版本浏览器的专有属性。
#elem {
width: [W3C Model Width];
_width: [BorderBox Model];
}
PS:这个hack利用浏览器的bug使用了无效的CSS,因而不推荐使用。
3、星号(*)
适用浏览器:IE7以下版本
除了下划线和连字符,版本7及以下的IE可以识别以非字母字符为前缀的属性,而其它浏览器会忽略。
#elem {
width: [W3C Model Width];
*width: [BorderBox Model];
}
PS:这个hack利用浏览器的bug使用了无效的CSS,因而不推荐使用。
4、星号 HTML(* html)
适用浏览器:IE4-6
HTML元素是W3C标准DOM的根元素,但是IE 4至6的版本中还有一个神秘的父元素。完全兼容的浏览器会忽略这个* html选择器,但IE4-6却会对它正常处理。
* html p {font-size: 5em; }
PS:这个HACK使用了完全有效的CSS。
5、星号加号(*+)
适用浏览器:IE7
*:first-child+html p { font-size: 5em; }
或者:
*+html p { font-size: 5em; }
PS:只在IE7标准模型里工作正常,在怪异模式下不能用。同时,也被IE8的兼容模式(相当于IE7的标准模式)所支持。它也使用了有效的CSS。
6、子选择器(>)
适用浏览器: IE6以上版本及非IE浏览器
IE6和早期的版本不支持“子选择器”(>),我们可以利用这个为其它浏览器指定特别的规则。
html > body p { color: blue; }
7、子选择器加注释(>)
适用浏览器: IE7以上版本及非IE浏览器
虽然IE7支持对子选择器,但通过以下hack方法也可以把IE7也排除。当一个空的注释紧跟在子选择器的后面重复的时候,IE7会不识别后面的规则,就和较早版本的浏览器一样。
html > body p { color: blue; }
CSS hack的写法有很多种,其中,特殊符号的应用最为普遍,也最为简洁,下面一一介绍了特殊符号类型的CSS hack技术:
1、反斜线(\)
适用浏览器:IE/Mac
反斜线(\)hack利用了IE/Mac的一个bug。以\*/结束的注释在IE/Mac上是不正确关闭的,所以那些需要在IE/Mac上被忽略的语句可以放在这种注释后面。
selector { ...styles... }
2、下划线(_)
适用浏览器:IE6及其以下版本
IE 6 及以下的版本可以识别带有下划线前缀的属性,而其它浏览器会忽略它。因此,一个属性前面加上下划线或者连字符,就成为了IE6及以下版本浏览器的专有属性。
#elem {
width: [W3C Model Width];
_width: [BorderBox Model];
}
PS:这个hack利用浏览器的bug使用了无效的CSS,因而不推荐使用。
3、星号(*)
适用浏览器:IE7以下版本
除了下划线和连字符,版本7及以下的IE可以识别以非字母字符为前缀的属性,而其它浏览器会忽略。
#elem {
width: [W3C Model Width];
*width: [BorderBox Model];
}
PS:这个hack利用浏览器的bug使用了无效的CSS,因而不推荐使用。
4、星号 HTML(* html)
适用浏览器:IE4-6
HTML元素是W3C标准DOM的根元素,但是IE 4至6的版本中还有一个神秘的父元素。完全兼容的浏览器会忽略这个* html选择器,但IE4-6却会对它正常处理。
* html p {font-size: 5em; }
PS:这个HACK使用了完全有效的CSS。
5、星号加号(*+)
适用浏览器:IE7
*:first-child+html p { font-size: 5em; }
或者:
*+html p { font-size: 5em; }
PS:只在IE7标准模型里工作正常,在怪异模式下不能用。同时,也被IE8的兼容模式(相当于IE7的标准模式)所支持。它也使用了有效的CSS。
6、子选择器(>)
适用浏览器: IE6以上版本及非IE浏览器
IE6和早期的版本不支持“子选择器”(>),我们可以利用这个为其它浏览器指定特别的规则。
html > body p { color: blue; }
7、子选择器加注释(>)
适用浏览器: IE7以上版本及非IE浏览器
虽然IE7支持对子选择器,但通过以下hack方法也可以把IE7也排除。当一个空的注释紧跟在子选择器的后面重复的时候,IE7会不识别后面的规则,就和较早版本的浏览器一样。
html > body p { color: blue; }
相关内容
- IE和FF在对js支持的不同(整理)及解决方法浅谈原生页面兼容IE9问题的解决方案新版chrome浏览器设置允许跨域的实现css hack之\9和\0就可能对hack IE11\IE9\IE8无效css区分ie8/ie9/ie10/ie11 chrome firefox的代码解决CSS浏览器兼容性问题的4种方案常见的浏览器兼容性问题(小结)border-radius IE8兼容处理的方法浅谈遇到的几个浏览器兼容性问题base64图片在各种浏览器的兼容性处理 对常见的css属性进行浏览器兼容性总结(推荐)
- 解决IE与火狐浏览器padding-top差2px问题FF(火狐浏览器)下解决按钮的水平居中FireFox火狐浏览器与IE兼容问题 - 透明滤镜 DIV滚动条 css firefox火狐浏览器下的兼容性问题
- css中padding和margin的异同点介绍css行内元素padding,margin,width,height没有变化CSS边距属性定义是用margin还是用padding的两者对比PHPWind7.0风格css样式详解Z-BLOG模板CSS默认样式注释大全简化的CSS Reset:15套CSS重设实例Css Reset(复位)的简单介绍-CSS教程-网页制作-网页教学网CSS中margin和padding的区别浅析
- css实现文字层浮在图片之上示例代码CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- 有关首行首字下沉的实现原理及代码CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- 部分透明的蒙版效果实现思路(兼容ie6)纯CSS实现背景半透明文字不透明效果兼容IE6滤镜使用之图片透明的css写法背景透明文字不透明的最佳方法兼容IE(以背景黑色透明度0.5为例)使用滤镜解决IE6下png图片不能透明(被渲染成默认色)的问题格式png24透明底 多种解决png24格式图片在ie6中透明问题背景半透明效果CSS链接样式代码img 半透明 处理img加半透明背景实现思路及代码IE6下Png透明最佳解决方案DD_belatedPNG
- 雷霆战机从零打起 第30关_手机游戏_游戏攻略_
- 雷霆战机从零打起 第31关_手机游戏_游戏攻略_
- 刀塔联盟赏金猎人怎么样_刀塔联盟赏金猎人属性全面解析_手机游戏_游戏攻略_
- 雷霆战机无尽模式闯关视频_手机游戏_游戏攻略_
