hack是什么
不同浏览器对css的解析是不同是,因此需要css hack来解决浏览器局部的兼容性问题。针对不同浏览器写不同的CSS代码的过程叫CSS Hack。
常见的hack有三种形式,分别是CSS属性hack,CSS选择符hack,IE条件注释hack,hack主要针对IE浏览器。
CSS属性hack:如IE6能识别"_"和"*",IE7能识别"*",不能识别"_",firefox两个都不能识别。
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:IE6能识别*html.class{},IE7能识别*+html.class{}或者*:first-child+html.class{}。
*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、Sarari、Opera识别
:root #demo{color:red\9} //仅IE9识别
IE条件注释hack:IE条件注释从IE5开始提供的一种非标准逻辑语句只在IE有有效,其他浏览器被当做注释。
<!--[if IE]>IE可见<![endif]-->
<!--[if IE 6]>IE6可见<![endif]-->
<!--[if IE 7]>IE7可见<![endif]-->
<!--[if !IE 7]>IE不可见<![endif]-->
<!--[if gt IE 6]>IE6以上版本可见<![endif]-->
<!--[if gte IE 6]>IE6和IE6以上版本可见<![endif]-->
<!--[if lt IE 7]>IE7以下版本可见<![endif]-->
<!--[if lte IE 7]>IE7和IE7以下版本可见<![endif]-->
<!--[if !IE]>IE不可见<![endif]-->
由于IE6不支持!improtant,ff支持!important,所以用来区分浏览器。
<style type="text/css">
.demo{
color:red !important;
color:green;
}
</style>
<div class="demo">abc</div>
在ie6中字体为绿色,在FF中字体为红色。
注意:在一个选择器里面,!important改变优先级,IE6下是无效的,后面的样式覆盖前面的样式。在有多个选择器的时候,!important有效的。
<style type="texe/css">
.demo{
color:red !important;
}
.demo{
color:green;
}
</style>
<div class="demo">abc</div>
在多选择符的时候也要注意IE6的显示情况:
#name.a1.a2 {color:red};
.a1.a2 {color:red};
在IE7+和FF/OPERA/SAFARI都支持,在IE6上则被理解为:
#name.a2 {color:red};
.a2 {color:red};
前面的类名会被后面的类名覆盖掉。可考虑不用类组合的形式。
本学习内容来源于 前端客 的分享:http://www.qdker.com/archives/138.html
hack是什么的更多相关文章
- css常用hack
原文地址:css常用hack 突然想起今天早上在CNZZ看到的统计数据,使用IE6.7的用户比例还真多,看到之后我的心都碎了.微软都放弃了为毛还有这么多人不死心? 所以说,IE下的兼容还是得做的. – ...
- CSS3_01之选择器、Hack
1.兄弟选择器:①相邻兄弟选择器:元素的后一个兄弟元素,选择器1+选择器2:②通用兄弟选择器:元素后的所有兄弟元素,选择器1~选择器2: 2.属性选择器:attr表示属性名称,elem表示元素名:①[ ...
- CSS Hack技术介绍及常用的Hack技巧集锦
一.什么是CSS Hack? 不同的浏览器对CSS的解析结果是不同的,因此会导致相同的CSS输出的页面效果不同,这就需要CSS Hack来解决浏览器局部的兼容性问题.而这个针对不同的浏览器写不同的CS ...
- Medial Queries的另一用法——实现IE hack
众所周知,有些时候为了实现IE下的某些效果与现代浏览器一致,我们不得不使用一些hack手段来实现目的.比如说使用"\0","\"和"\9"来 ...
- CSS Hack
CSS HACK,网上有很多,主要是IE版本不同造成的,尽量不要用CSS HACK,实在调不过去可以用一用,相信以后随着IE低版本的淘汰,CSS HACK也将不在使用. 类内部HACK IE6识别 - ...
- hack
1.Firefox @-moz-document url-prefix() { .selector { property: value; } }上面是仅仅被Firefox浏览器识别的写法,具体如: @ ...
- 浅谈CSS hack(浏览器兼容)
今天简单写一点关于浏览器兼容的处理方法,虽然百度上已经有很多,但是我还是要写! 先看一个图 这个图描述了2016年1月至8月网民们所使用的浏览器市场份额(来源:http://tongji.baidu. ...
- css3复杂选择器+内容生成+Css Hack
1.复杂选择器2.内容生成3.多列4.CSS Hack(浏览器兼容性)=======================================1.复杂选择器 1.兄弟选择器 1.特点: 1.通过 ...
- dedecms功能性函数封装(XSS过滤、编码、浏览器XSS hack、字符操作函数)
dedecms虽然有诸多漏洞,但不可否认确实是一个很不错的内容管理系统(cms),其他也不乏很多功能实用性的函数,以下就部分列举,持续更新,不作过多说明.使用时需部分修改,你懂的 1.XSS过滤. f ...
- CSS hack技巧大全
——作者:吴雷君 兼容范围: IE:6.0+,FireFox:2.0+,Opera 10.0+,Sarari 3.0+,Chrome 参考资料: 各游览器常用兼容标记一览表: 标记 IE6 IE7 I ...
随机推荐
- swift 异步加载图片(第三方框架ImageLoader)
import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: ...
- ios-chart 不支持渐变的底色 --- 后面支持了渐变
https://github.com/danielgindi/ios-charts/issues/186 后话,最近库更新了,可以支持渐变色
- 【Linux】 JDK安装及配置 (tar.gz版)
安装环境 Linux(Ubuntu 版) JDK安装 tar.gz为解压后就可以使用的版本,这里我将使用jdk-8u65-linux-x64.tar.gz版,安装到/usr/java/下 步骤一 将文 ...
- G面经prepare: set difference
给你A{1,2,3,4,4,5}, B{2,4},求A-B={1,3,4,5},很简单. visit 1 只用一个HashMap package TwoSets; import java.util.* ...
- jvm内存设置
JVM有很多个内存管理命令,总体而言,分为两类: 1.-X开头的管理命令:这些选项在JDK升级时不会通知修改: 2.-XX开头的管理命令:这些选项不够稳定,所以建议少用. JVM参数的含义: 参数名称 ...
- [原创]java WEB学习笔记48:其他的Servlet 监听器:域对象中属性的变更的事件监听器 (3 个),感知 Session 绑定的事件监听器(2个)
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- org.openqa.selenium.WebDriverException: f.QueryInterface is not a function Command duration or timeout:
今天偶遇一个问题,运行项目时,发现这个问题: org.openqa.selenium.WebDriverException: f.QueryInterface is not a functionCom ...
- HDU 3691 Nubulsa Expo(全局最小割Stoer-Wagner算法)
Problem Description You may not hear about Nubulsa, an island country on the Pacific Ocean. Nubulsa ...
- java冒泡排序算法
/** * 冒泡排序算法:每次 * @author shaobn * @description 每次都会确定一个最大的值 即固定了,所以会每次-i; */ public class Test1 { p ...
- em和rem及rem在移动的应用
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <style t ...