CSS Hack:

不到万不得已,不要使用。不易于维护。

有一些情况,需要一段特殊代码在遇到特殊浏览器环境才执行,而在其他条件下,不执行。

此时,CSS Hack 就能实现。


CSS Hack 实际上指的是一段特殊的代码,这段代码只在特定的浏览器环境下识别并执行。


写法:

条件Hack只对IE9及以,下的浏览器有效,其他浏览器视为注释

<!--[if <关键字>? IE <版本>?]>

<![end]-->

关键字:

""    是否为

"gt"    大于

"gte"    大于等于

"lt"    小于

"lte"    小于等于

"!"    不是


<!--[if IE 8]>

<p>当前浏览器为IE8 !<p>

<![end]-->


<!--[if lte IE 7]>

<p>您的环境为IE7及以下 !</p>

<![end]-->

    <!--条件Hack-->
<!--[if IE 6]>
<!-- 引入外部js文件 -->
<script type="text/javascript" src="js/DD_belatedPNG_0.0.8a.js"></script> <!-- 写js处理 -->
<script type="text/javascript">
DD_belatedPNG.fix("div,body"); // 修复div的图片显示,可以写*代替,但是会影响性能。
</script>
<![end]-->

属性级Hack

假设 color 属性,在 IE6 需要设置成 red,但是在其他需要设置成 blue

_样式        IE6 及以下浏览器执行。

*样式        IE7 及以下浏览器执行。

color: red\9;        IE6 及以上的浏览器执行。

color: red\0;        IE8 及以上的 或者 Oprea15以下的浏览器执行。

*{

}


选择符级Hack

IE6

* html body{

background-color: red;

}

IE7

*+html body{

background-color: red;

}

IE8+ 或 非IE

body:lang{

background-color: red;

}

IE9+ 或 非IE

body:nth-child(1){

background-color: red;

}


__x__(48)0910第六天__CSS Hack的更多相关文章

  1. __x__(46)0910第六天__框架集

     框架集frameset 和 内联框架iframe 的作用类似: 在一个页面中,引入其他的外部html页面. 框架集可以同时引入多个页面. 在 html5 中,推荐使用框架集,而不推荐使用iframe ...

  2. __x__(49)0910第六天__命名规范

    id class 命名规范: 小驼峰命名法: aaaBbbCcc,helloWorld 大驼峰命名法: AaaBbbCcc,HelloWorld 匈牙利命名法: 类型+描述 formUserName, ...

  3. __x__(42)0910第六天__表格布局 老旧的布局方法

    table 布局 不易于维护,耦合太严重了. 不利于搜索引擎检索. 效果图: html代码: <!doctype html> <html> <head> <m ...

  4. __x__(43)0910第六天__ clearfix 解决:垂直外边距重叠,高度塌陷

    <div class="box1"> <tabl></table> <div class="box2">< ...

  5. __x__(44)0910第六天__表单

    form表单: form必须属性:action,指定一个服务器地址. 若希望表单中的数据发送给服务器,必须设置name属性. 用户填写的信息,将会追加在url地址?后面,以查询字符串的形式发送给服务器 ...

  6. __x__(45)0910第六天__各种表单

    效果图: html代码: <!doctype html> <html> <head> <meta charset="utf-8" /> ...

  7. __x__(47)0910第六天__IE6到IE11对于包含中文路径的png显示问题

    问题:IE6额外地除了中文路径外,对于png24的支持度不高,以致于无法透明. 解决方法1,png8 替换: png8 比 png24 小,质量较低,但是在这里可以替代,以解决问题. 使用 ps 打开 ...

  8. python之在线PK游戏(第六天)

      本节作业: 熟练使用类和模块,写一个交互性强.有冲突的程序. 故本次写了一个文字回合制的PK游戏,系统主程序为根目录下的:game_menu.py 1. 系统功能模块: 第六天的作业:文字游戏程序 ...

  9. CSS选择器、CSS hack及CSS执行效率

    主要内容: 1.CSS选择器.优先级与匹配原理 2. CSS 引入的方式有哪些 ? link 和 @import 的区别是 ? 3.CSS hack 4.如何书高效CSS  一.CSS选择器.优先级与 ...

随机推荐

  1. Hadoop记录-退役

    一.datanode添加新节点 1.在dfs.include文件中包含新节点名称,该文件在名称节点的本地目录下 [白名单] [/app/hadoop/etc/hadoop/dfs.include] 2 ...

  2. js介绍,js三种引入方式,js选择器,js四种调试方式,js操作页面文档DOM(修改文本,修改css样式,修改属性)

    js介绍 js运行编写在浏览器上的脚本语言(外挂,具有逻辑性) 脚本语言:运行在浏览器上的独立的代码块(具有逻辑性) 操作BOM 浏览器对象盒子 操作DOM 文本对象 js三种引入方式 (1)行间式: ...

  3. spring boot打包

    1.application继承SpringBootServletInitializer  重写configure方法如下图 2.去掉项目中多余的main方法 3.将pom.xml打包改为war包 4. ...

  4. JS 正则中的命名捕获分组

    假设你在一段陌生的代码中看到这样一个函数: function toLocalDate(date) { return date.replace(/(\d{2})-(\d{2})-(\d{4})/, &q ...

  5. How to avoid the 0-byte file on Webclient download error

    _client.DownloadDataAsync(new Uri(url)); _client.DownloadDataCompleted += (sender, e) => { try { ...

  6. ionic 扫描二维码 Barcode Scanner、QR Scanner、ZBar

    1.简介 ionic 官方给我们提供了三个扫描二维码条形码插件,分别为: Barcode Scanner 样式好看,类似支付宝的扫描框.速度稍微比最后一个慢几百毫秒,主要问题是 Android 部分手 ...

  7. Task.Run与Task.Factory.StartNew的区别

    Task是可能有延迟的工作单元,目的是生成一个结果值,或产生想要的效果.任务和线程的区别是:任务代表需要执行的作业,而线程代表做这个作业的工作者. 在.Net 4中,Task.Factory.Star ...

  8. prototype、proto、constructor 之间的关系

  9. win10 激活工具 Re-LoaderByR@1n.exe

    名字叫 Re-LoaderByR@1n.exe 无广告, https://pan.baidu.com/s/1MBix1cZxKpUTA6MUgL7uLQ 如果变成教育版,可以用以下激活码变成专业版:W ...

  10. 商品规格笛卡尔积PHP

    <?php $color = array('red', 'green'); $size = array(39, 40, 41); $local = array('beijing', 'shang ...