Hack技术
Hack技术
1、IE条件注释法,微软官方推荐的hack方式。
只在IE下生效
<!--[if IE]>
<link rel="stylesheet" href="/ie-all.css" type="text/css" media="screen" />
<![endif]-->
只在IE6下生效
<!--[if IE 6]>
<link rel="stylesheet" href="/ie6.css" type="text/css" media="screen" />
<![endif]-->
只在IE6以上版本生效
<!--[if gt IE 6]>
<link rel="stylesheet" href="/gt-ie6.css" type="text/css" media="screen" />
<![endif]-->
只在IE7上不生效
<!--[if ! IE 7]>
<link rel="stylesheet" href="/not-ie7.css" type="text/css" media="screen" />
<![endif]-->
非IE浏览器生效
<!--[if !IE]><!-->
<link rel="stylesheet" href="/no-ie.css" type="text/css" media="screen" />
<!--<![endif]-->
2、常用的css hack代码
样式属性前缀法
.csshack{
background:blue;
background:blue\9; /*all ie*/
background:blue\0/; /*ie8-ie9*/
background/*\**/: blue\9; /* ie7-ie8*/
*background:blue;/* or #background: blue */ /*ie6-ie7*/
+background:blue; /*ie7*/
_background:blue; /*ie6*/
}
选择符前缀法
/* IE 7 */
*:first-child+html{}
/* IE 7 */
html > body #ie7 { *display: block; }
/* IE 6 */
* html #div{ }
/* IE 6 */
body #ie6 { _display: block; }
/*IE7及其更低版本*/
*:first-child+html{}*html{}
/*IE7,IE7以上和主流浏览器*/
html>body{}
/*适合主流浏览器(IE7排除在外,IE7以下的也不行)*/
html>/**/body{}
/* Firefox 1 - 2 */
body:empty #firefox12 { display: block; }
/* Firefox */
@-moz-document url-prefix(){ .sofish{padding:11px;}} /* all firefox */
/* Safari */
@media screen and (-webkit-min-device-pixel-ratio:0) {
#safari { display: block; } }
/* Opera */
@media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0) { .sofish{padding:11px;} }
3、IE条件注释并不是只用于样式表文件,它还有其它的形式来进行Hack。
IE条件注释与style标签:
<!--[if IE 6]>
<style type="text/css"> /* css for IE 6 */ </style>
<![endif]-->
IE条件注释与script标签:
<!--[if IE 6]>
<script type="text/javascript"> alert("我是IE6"); </script>
<![endif]-->
IE条件注释与html标签:
<!--[if lt IE 7 ]> <html class="ie6"> <![endif]-->
4、IE CSS Media
/* IE6/7 only (via Keith Clarke) */
@media screen\9 { }
/* IE8 (via Keith Clarke) */
@media \0screen { }
/* IE6/7/8 (via Keith Clarke) */
@media \0screen\,screen\9 {}
/* IE8/9/10 */
@media screen\0 { }
@media screen and (min-width:0\0) {
body { background: yellow; }
}
Hack技术的更多相关文章
- HTML兼容问题——HACK技术
有话先说:本文的目的主要是向大家描述一下我们在遇见IE8版本一下以及Firefox兼容的问题. 针对不同的浏览器写不同的CSS的过程,这就叫CSS hack,也叫写CSS hack,相信您会对一些比较 ...
- openwrt-智能路由器hack技术(2)---"网路信息监控和窃取"
openwrt-智能路由器hack技术(2)---"网路信息监控和窃取" 1 导读 PS:之前写的一个文章,现在发现结构内容排版不是太好,导致阅读体验太差,影响传播和SEO,所 ...
- openwrt-智能路由器hack技术(1)---"DNS劫持"
openwrt-智能路由器hack技术(1)---"DNS劫持" 1 导读 PS:之前写的一个文章,现在发现结构内容排版不是太好,导致阅读体验太差,影响传播和SEO,所以现在整 ...
- Web前端技术研究:Css hack技术---令人沮丧的技术
我最近想好好整理下csshack技术,但是结果很沮丧,下面我将我最初写的笔记和大家分享下. 我在单位整理的研究笔记: 不同的浏览器对某些CSS代码解析会存在一定的差异,因此就会导致不同浏览器下给用户展 ...
- CSS Hack技术详解,支持IE 6-11、Chrome、FireFox、Safari、Opera 6-11、Chrome、FireFox、Safari、Opera6-11、Chrome、FireFox、Safari、Opera6-11、Chrome、FireFox、Safari、Opera
转自: http://www.365mini.com/page/css-hack-ie-chrome-firefox-safari-opera.htm 当前网络时代,各种各样的网页向我们展示着丰富多彩 ...
- HTML的条件注释和hack技术
在很多时候,前端的兼容性问题,都很让人头痛!幸运的是,微软从去年声明:从2016年1月12日起,微软将停止为IE8(包括IE8)提供技术支持和安全更新.整个前端圈子都沸腾起来,和今年七月份Adobe宣 ...
- HTML的条件注释及hack技术
在很多时候,前端的兼容性问题,都很让人头痛!幸运的是,微软从去年声明:从2016年1月12日起,微软将停止为IE8(包括IE8)提供技术支持和安全更新.整个前端圈子都沸腾起来,和今年七月份Adobe宣 ...
- CSS Hack技术(一)
这世间坑爹的东西不少,浏览器可以算做一件,尤其的IE浏览器.关于浏览器的吐槽已经有不少了,我也就不在这添油加醋了.不过吐槽终究只是泄一时之愤,解决问题才是关键,今天我们就来讲一讲浏览器(样式)兼容的技 ...
- CSS Hack技术介绍及常用的Hack技巧集锦
一.什么是CSS Hack? 不同的浏览器对CSS的解析结果是不同的,因此会导致相同的CSS输出的页面效果不同,这就需要CSS Hack来解决浏览器局部的兼容性问题.而这个针对不同的浏览器写不同的CS ...
随机推荐
- LayoutInflater(一)
相信接触Android久一点的朋友对于LayoutInflater一定不会陌生,都会知道它主要是用于加载布局的.而刚接触Android的朋友可能对LayoutInflater不怎么熟悉,因为加载布局的 ...
- CSS 基本1
HTML元素可以分为两种: 块级元素 内联元素(行内元素) 两者的区别在于以下三点: 块级元素会独占一行(即无法与其他元素显示在同一行内,除非你显示修改元素的 display 属性),而内联元素则都会 ...
- sql2014 新建用户并登陆
EXEC master.dbo.sp_addlogin @loginame = N'testuser1', @passwd = '123456', @defdb = N'master', @defla ...
- SQL详解(上)
SQL 什么是SQL:结构化查询语言(Structured Query Language).SQL标准(例如SQL99,即1999年制定的标准): 由国际标准化组织(ISO)制定的,对DBMS的统一操 ...
- 【hibernate merge】session1.merge(T entity)方法的含义和update方法的区别
注意: MERGE语句是SQL语句的一种.在SQL Server.Oracle数据库中可用,MySQL.PostgreSQL中不可用. 1>session1.merge(T entity) 合 ...
- web_custom_request应用示例
web_custom_request应用示例 LoadRunner提供的web_custom_request函数可以用于实现参数的动态生成.在LoadRunner中,web_reg_save_para ...
- HTML轉PDF - 使用Pechkin套件
剛好跟人討論到HTML轉PDF需求,便對工具進行簡單評估以備不時之需. 網路上比較多人推的是WkHtmlToPdf,如果是用.NET開發,已經有人包成NuGet套件,直接搜尋pechkin就可找到,它 ...
- DSP using MATLAB 示例Example3.23
代码: % Discrete-time Signal x1(n) : Ts = 0.0002 Ts = 0.0002; n = -25:1:25; nTs = n*Ts; x1 = exp(-1000 ...
- Visual Studio工具栏中无法选择调试设备
Visual Studio工具栏中无法选择调试设备 在Visual Studio工具栏中,默认显示已经识别的设备.用户可以从中选择对应的设备,进行调试和部署App.但是由于误操作,可能导致该选项丢失. ...
- ios开发-载入viewcontroller的几种方式
Assuming you have storyboard, go to storyboard and give your VC an identifier (inspector), then do: ...