您现在的位置是:网站首页>内容内容
CSS Hack技术介绍及常用的Hack技巧集锦10个必备的CSS技巧总结要知道的10个CSS技巧最常用和实用的CSS技巧 21个神奇的CSS技巧网页制作中应用的50个CSS技巧(国外)CSS技巧:I
2023-10-24 04:21:41
【512953070@qq.com】
1449人已围观
简介 这篇文章主要介绍了CSS Hack技术介绍及常用的Hack技巧集锦,本文讲解了什么是CSS Hack、常用的CSS Hack、IE6对!important的支持、IE6下的多选择符等内容,需要的朋友可
一、什么是CSS Hack?
不同的浏览器对CSS的解析结果是不同的,因此会导致相同的CSS输出的页面效果不同,这就需要CSS Hack来解决浏览器局部的兼容性问题。而这个针对不同的浏览器写不同的CSS 代码的过程,就叫CSS Hack。
CSS Hack常见的有三种形式:CSS属性Hack、CSS选择符Hack以及IE条件注释Hack, Hack主要针对IE浏览器。
1、属性级Hack:比如IE6能识别下划线”_”和星号” * “,IE7能识别星号” * “,但不能识别下划线”_”,而firefox两个都不能认识。
2、选择符级Hack:比如IE6能识别*html .class{},IE7能识别*+html .class{}或者*:first-child+html .class{}。
3、IE条件注释Hack:IE条件注释是微软从IE5开始就提供的一种非标准逻辑语句。比如针对所有IE:,针对IE6及以下版本:,这类Hack不仅对CSS生效,对写在判断语句里面的所有代码都 会生效。
PS:条件注释只有在IE浏览器下才能执行,这个代码在非IE浏览下被当做注释视而不见。可以通过IE条件注释载入不同的CSS、JS、HTML和服务器代码等。
二、常用的CSS Hack
/* CSS属性级Hack */
color:red; /* 所有浏览器可识别*/
_color:red; /* 仅IE6 识别 */
*color:red; /* IE6、IE7 识别 */
+color:red; /* IE6、IE7 识别 */
*+color:red; /* IE6、IE7 识别 */
[color:red; /* IE6、IE7 识别 */
color:red\9; /* IE6、IE7、IE8、IE9 识别 */
color:red\0; /* IE8、IE9 识别*/
color:red\9\0; /* 仅IE9识别 */
color:red \0; /* 仅IE9识别 */
color:red!important; /* IE6 不识别!important*/
-------------------------------------------------------------
/* CSS选择符级Hack */
*html #demo { color:red;} /* 仅IE6 识别 */
*+html #demo { color:red;} /* 仅IE7 识别 */
body:nth-of-type(1) #demo { color:red;} /* IE9+、FF3.5+、Chrome、Safari、Opera 可以识别 */
head:first-child+body #demo { color:red; } /* IE7+、FF、Chrome、Safari、Opera 可以识别 */
:root #demo { color:red\9; } : /* 仅IE9识别 */
--------------------------------------------------------------
/* IE条件注释Hack */
三、IE6对!important的支持
!important一般用来做区分IE6和Firefox等浏览器的基本Hack手法。因为IE6不支持!important,而Firefox能读懂!important,其改变了样式的优先级。其实IE6在某些情况下,也能认识!important。
例如:
上面代码在FF下字体为红色、IE6下字体为绿色。说明IE6忽视!important的存在。
再来看看:
如果IE6不认!important的话,上面代码.demo的内容应该显示为绿色,可偏偏不是,.demo的内容显示为红色,说明IE6是认得!important的。
两种情况的区别就在于:当在一个选择器中,利用!important改变样式优先级的时候,IE6下是无效的,后面的样式覆盖了前面的,!important被彻底无视了,利用!import
四、IE6下的多选择符
多类选择符的写法。例如:
#my.c1.c2 { color:red;}
.c1.c2 { color:red;}
以上写法在IE7+/FF/Opera/Safari 等浏览器都支持。
但在IE6中,后一个类名会覆盖前一个类名,也就是说,上例被IE6理解为:
#my.c2 { color:red;}
.c2 { color:red;}
同理:
#my.c1.c2.c3 { color:red;}
IE6理解为 #my.c3 {color:red;}
.c1.c2.c3 { color:red;}
IE6理解为 .c3 { color:red; }
所以开发中用多类来组合实现css效果的时候,注意IE6的这个问题。最好的方法就是,不要用类组合的形式。
热评
- Win11重启速度慢怎么办?Win11重启慢的解决方法_windows11_Windows系列_操作系统_
- 微软透露下一次更新将如何加速Win11系统_windows11_Windows系列_操作系统_
- Win11 预览版 22563 出现重大 Bug:Win + X 导致资源管理器崩溃,解决方案出炉_windows11_Windows系列_操作系统_
- Win11怎么查看网卡速率?Win11查看网卡速率是千兆还是百兆方法_windows11_Windows系列_操作系统_
- Win11怎么设置显卡直连?Win11显卡直连设置教程_windows11_Windows系列_操作系统_
- 运行速度更快,微软 Win11/10 Edge 浏览器正测试“性能检测器”_windows11_Windows系列_操作系统_
- LTSC长期服务版!基于Win11,微软Windows Server VNext预览版25066发布(附 ISO 镜像下_windows11_Windows系列_操作系统_
- Win11如何开启3d加速 ? Win11开启3d加速的方法_windows11_Windows系列_操作系统_
- Win11无法输入wifi密码输怎么办?Win11 wifi密码输入不了的原因以及解决方法_windows11_Windows系列_操作系统_
- Win11开始菜单关机键不见了怎么办?Win11开始菜单关机键不见的解决方法_windows11_Windows系列_操作系统_
点击排行
Win11重启速度慢怎么办?Win11重启慢的解决方法_windows11_Windows系列_操作系统_
- 微软透露下一次更新将如何加速Win11系统_windows11_Windows系列_操作系统_
- Win11 预览版 22563 出现重大 Bug:Win + X 导致资源管理器崩溃,解决方案出炉_windows11_Windows系列_操作系统_
- Win11怎么查看网卡速率?Win11查看网卡速率是千兆还是百兆方法_windows11_Windows系列_操作系统_
- Win11怎么设置显卡直连?Win11显卡直连设置教程_windows11_Windows系列_操作系统_
- 运行速度更快,微软 Win11/10 Edge 浏览器正测试“性能检测器”_windows11_Windows系列_操作系统_
- LTSC长期服务版!基于Win11,微软Windows Server VNext预览版25066发布(附 ISO 镜像下_windows11_Windows系列_操作系统_
- Win11如何开启3d加速 ? Win11开启3d加速的方法_windows11_Windows系列_操作系统_
- Win11无法输入wifi密码输怎么办?Win11 wifi密码输入不了的原因以及解决方法_windows11_Windows系列_操作系统_
- Win11开始菜单关机键不见了怎么办?Win11开始菜单关机键不见的解决方法_windows11_Windows系列_操作系统_
本栏推荐
Win11重启速度慢怎么办?Win11重启慢的解决方法_windows11_Windows系列_操作系统_
-
微软透露下一次更新将如何加速Win11系统_windows11_Windows系列_操作系统_
-
Win11 预览版 22563 出现重大 Bug:Win + X 导致资源管理器崩溃,解决方案出炉_windows11_Windows系列_操作系统_
-
Win11怎么查看网卡速率?Win11查看网卡速率是千兆还是百兆方法_windows11_Windows系列_操作系统_
-
Win11怎么设置显卡直连?Win11显卡直连设置教程_windows11_Windows系列_操作系统_
-
运行速度更快,微软 Win11/10 Edge 浏览器正测试“性能检测器”_windows11_Windows系列_操作系统_
-
LTSC长期服务版!基于Win11,微软Windows Server VNext预览版25066发布(附 ISO 镜像下_windows11_Windows系列_操作系统_
-
Win11如何开启3d加速 ? Win11开启3d加速的方法_windows11_Windows系列_操作系统_
-
Win11无法输入wifi密码输怎么办?Win11 wifi密码输入不了的原因以及解决方法_windows11_Windows系列_操作系统_
-
Win11开始菜单关机键不见了怎么办?Win11开始菜单关机键不见的解决方法_windows11_Windows系列_操作系统_

