各种各样的hack。
http://itakeo.com/blog/2015/11/16/allhack/?none=123
Android
Selector Hacks
.selector:not(*:root) {}- Chrome*
- Safari*
- Opera≥ 14
- Android*
JavaScript Hacks
var isChromium =!!window.chrome;- Chrome*
- Opera≥ 14
- Android4.0.4
Media Query Hacks
@media screen and (min-width:0\0) {}- Internet Explorer≥ 9
- Safari4
- Android≥ 2.3
Chrome
Selector Hacks
.selector:not(*:root) {}- Chrome*
- Safari*
- Opera≥ 14
- Android*
Supports Hacks
@supports (-webkit-appearance:none) {}- Chrome≥ 28
- Opera≥ 14
Property/Value Hacks
.selector { (;property: value;);}.selector { [;property: value;];}- Chrome≤ 28
- Safari≤ 7
- Opera≥ 14
JavaScript Hacks
var isChromium =!!window.chrome;- Chrome*
- Opera≥ 14
- Android4.0.4
var isWebkit ='WebkitAppearance'in document.documentElement.style;- Chrome*
- Safari≥ 3
- Opera≥ 14
var isChrome =!!window.chrome &&!!window.chrome.webstore;- Chrome≥ 14
Media Query Hacks
@media \\0 screen {}- Chrome22-28
- Safari≥ 7
@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution: .001dpcm) {.selector {}}- Chrome≥ 29
- Opera≥ 16
Firefox
Selector Hacks
body:empty .selector {}- firefox1.5/2
body:last-child .selector, x:-moz-any-link {}- firefox≥ 2
body:last-child .selector, x:-moz-any-link, x:default {}- firefox≥ 3
body:not(:-moz-handler-blocked) .selector {}- firefox≥ 3.5
_::-moz-progress-bar, body:last-child .selector {}- firefox≥ 6
_::-moz-range-track, body:last-child .selector {}- firefox≥ 21
_:-moz-tree-row(hover), .selector {}- firefox*
_::selection, .selector:not([attr*='']) {}- Internet Explorer≤ 8
- firefox*
Supports Hacks
@supports (-moz-appearance:meterbar) {}- firefox≥ 16
@supports (-moz-appearance:meterbar) and (display:flex) {}- firefox≥ 22
@supports (-moz-appearance:meterbar) and (cursor:zoom-in) {}- firefox≥ 24
@supports (-moz-appearance:meterbar) and (background-attachment:local) {}- firefox≥ 25
@supports (-moz-appearance:meterbar) and (image-orientation:90deg) {}- firefox≥ 26
@supports (-moz-appearance:meterbar) and (all:initial) {}- firefox≥ 27
@supports (-moz-appearance:meterbar) and (list-style-type:japanese-formal) {}- firefox≥ 28
@supports (-moz-appearance:meterbar) and (background-blend-mode:difference,normal) {}- firefox≥ 30
JavaScript Hacks
var isFF =!!window.sidebar;- firefox*
var isFF ='MozAppearance'in document.documentElement.style;- firefox*
var isFF =!!navigator.userAgent.match(/firefox/i);- firefox*
var isFF =typeof InstallTrigger !=='undefined';- firefox≥ 1.5
var isFF =!!window.globalStorage;- firefox2-13
var isFF =/a/[-1]=='a';- firefox2-3
var isFF =(function x(){})[-6]=='x';- firefox2
var isFF =(function x(){})[-5]=='x';- firefox3
Media Query Hacks
@media \0 all {}- firefox≤ 3
@media screen and (-moz-images-in-menus:0) {}- firefox≥ 3.6
@media screen and (min--moz-device-pixel-ratio:0) {}- firefox≥ 4
@media all and (min--moz-device-pixel-ratio:0) and (min-resolution: .001dpcm) {}@media all and (-moz-images-in-menus:0) and (min-resolution: .001dpcm) {}- firefox≥ 8
@media all and (min--moz-device-pixel-ratio:0) {@media (min-width: 0px) {}}@media all and (-moz-images-in-menus:0) {@media (min-width: 0px) {}}- firefox≥ 11
@media all and (min--moz-device-pixel-ratio:0) and (min-resolution: 3e1dpcm) {}- firefox≥ 29
Miscellaneous
@-moz-document url-prefix() {}- firefox≥ 3
Internet Explorer
Selector Hacks
* html .selector {}.unused-class.selector {}- Internet Explorer≤ 6
html > body .selector {}- Internet Explorer6
*:first-child+html .selector {}.selector, x:-IE7 {}*+html .selector {}body*.selector {}- Internet Explorer7
.selector\ {}- Internet Explorer≤ 7
html >/**/body .selector {}head ~ /**/body .selector {}- Internet Explorer≤ 7
.selector, {}- Internet Explorer≤ 7
_::selection, .selector:not([attr*='']) {}- Internet Explorer≤ 8
- firefox*
:root .selector {}body:last-child .selector {}body:nth-of-type(1) .selector {}body:first-of-type .selector {}.selector:not([attr*='']) {}- Internet Explorer≤ 8
html[lang='\en'] .selector {}- Internet Explorer≤ 9
_:-ms-input-placeholder, :root .selector {}- Internet Explorer≥ 10
_:-ms-fullscreen, :root .selector {}- Internet Explorer≥ 11
Property/Value Hacks
.selector { _property: value;}.selector {-property: value;}- Internet Explorer6
.selector {property: value\9;}.selector { property/*\**/: value\9;}- Internet Explorer6-8
Any combination of these characters: ! $ & * ( ) = % + @ , . / ` [ ] # ~ ? : < > |
.selector { !property: value;}.selector { $property: value;}.selector {&property: value;}.selector { *property: value;}.selector { )property: value;}.selector { =property: value;}.selector { %property: value;}.selector { +property: value;}.selector { @property: value;}.selector { ,property: value;}.selector { .property: value;}.selector { /property: value;}.selector { `property: value;}.selector { ]property: value;}.selector { #property: value;}.selector { ~property: value;}.selector { ?property: value;}.selector {:property: value;}.selector { |property: value;}- Internet Explorer≤ 7
.selector {property: value !ie;}- Internet Explorer≤ 7
JavaScript Hacks
查看IE版本
var ieVersion =/*@cc_on (function() {switch(@_jscript_version) {case 1.0: return 3; case 3.0: return 4; case 5.0: return 5; case 5.1: return 5; case 5.5: return 5.5; case 5.6: return 6; case 5.7: return 7; case 5.8: return 8; case 9: return 9; case 10: return 10;}})() || @*/0;- Internet Explorer3-10
var isIE = document.all &&!window.XMLHttpRequest;- Internet Explorer≤ 6
var isIE =!!window.ActiveXObject;- Internet Explorer6-10
var isIE = document.all && document.compatMode;- Internet Explorer6-10
var isIE = document.all &&!document.querySelector;- Internet Explorer≤ 7
var isIE = document.all && window.XMLHttpRequest &&!document.querySelector;- Internet Explorer7
var isIE = document.all && window.XMLHttpRequest;- Internet Explorer7-10
var isIE = navigator.appVersion.indexOf("MSIE 7.")!==-1;- Internet Explorer7
var isIE =!+'\v1';- Internet Explorer≤ 8
var isIE ='\v'=='v';- Internet Explorer≤ 8
var isIE = document.all && document.querySelector;- Internet Explorer8-10
var isIE = document.all &&!document.addEventListener;- Internet Explorer≤ 8
var isIE = document.all && document.querySelector &&!document.addEventListener;- Internet Explorer8
var isIE = document.all && document.addEventListener;- Internet Explorer9-10
var isIE = document.all && document.addEventListener &&!window.atob;- Internet Explorer9
var isIE = document.all &&!window.atob;- Internet Explorer≤ 9
var isIE =/*@cc_on!@*/false;- Internet Explorer≤ 10
var isIE = document.all && window.atob;- Internet Explorer10
查看IE版本
var ieVersion =(function(){if(new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})").exec(navigator.userAgent)!=null){return parseFloat( RegExp.$1);}else{returnfalse;}})();- Internet Explorer≤ 10
var isIE = eval("/*@cc_on!@*/false")&& document.documentMode ===10;- Internet Explorer10
var isIE = document.body.style.msTouchAction !== undefined;- Internet Explorer≥ 10
var isIE = window.navigator.msPointerEnabled;- Internet Explorer≥ 10
var isIE ='behavior'in document.documentElement.style &&'-ms-user-select'in document.documentElement.style;- Internet Explorer10
var isIE ='-ms-scroll-limit'in document.documentElement.style &&'-ms-ime-align'in document.documentElement.style;- Internet Explorer11
Media Query Hacks
@media screen\9 {}- Internet Explorer≤ 7
@media \0screen\,screen\9 {}- Internet Explorer≤ 8
@media \0screen {}- Internet Explorer8
@media screen and (min-width:0\0) {}- Internet Explorer≥ 9
- Safari4
- Android≥ 2.3
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {}- Internet Explorer≥ 10
@media screen {@media (min-width: 0px) {}}- Internet Explorer*
- Safari≤ 6
Conditional comments
<!--[if IE 6]> Internet Explorer 6 <![endif]--><!--[if IE 7]> Internet Explorer 7 <![endif]--><!--[if IE 8]> Internet Explorer 8 <![endif]--><!--[if IE 9]> Internet Explorer 9 <![endif]-->- Internet Explorer6-9
<!--[if lte IE 6]> Internet Explorer 6 or less <![endif]--><!--[if lte IE 7]> Internet Explorer 7 or less <![endif]--><!--[if lte IE 8]> Internet Explorer 8 or less <![endif]--><!--[if lte IE 9]> Internet Explorer 9 or less <![endif]-->- Internet Explorer6-9
<!--[if gte IE 6]> Internet Explorer 6 or greater <![endif]--><!--[if gte IE 7]> Internet Explorer 7 or greater <![endif]--><!--[if gte IE 8]> Internet Explorer 8 or greater <![endif]--><!--[if gte IE 9]> Internet Explorer 9 or greater <![endif]-->- Internet Explorer6-9
<!--[if IE]> Internet Explorer 9- <![endif]-->- Internet Explorer≤ 9
<!--[if !IE]><!--> Everything but Internet Explorer ≤9 <!--<![endif]-->- Internet Explorer≤ 9
Opera
Selector Hacks
*|html[xmlns*=""] .selector {}- Safari2/3.1
- Opera9.25
html:first-child .selector {}- Opera≤ 9.27
- Safari2
_:-o-prefocus, body:last-child .selector {}- Opera≥ 9.5
@media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0) {}- Opera≤ 11
.selector:not(*:root) {}- Chrome*
- Safari*
- Opera≥ 14
- Android*
Supports Hacks
@supports (-webkit-appearance:none) {}- Chrome≥ 28
- Opera≥ 14
Property/Value Hacks
.selector { (;property: value;);}.selector { [;property: value;];}- Chrome≤ 28
- Safari≤ 7
- Opera≥ 14
JavaScript Hacks
var isOpera =/^function \(/.test([].sort);- Opera≤ 9.64
var isOpera = window.opera && window.opera.version()== X;- Opera≤ 12
var isOpera =!!window.opera;- Opera≤ 12.16
var isChromium =!!window.chrome;- Chrome*
- Opera≥ 14
- Android4.0.4
var isWebkit ='WebkitAppearance'in document.documentElement.style;- Chrome*
- Safari≥ 3
- Opera≥ 14
var isOpera =!!window.opera ||/opera|opr/i.test(navigator.userAgent);- Opera*
Media Query Hacks
@media (min-resolution: .001dpcm) {_:-o-prefocus, .selector {}}- Opera≥ 12
@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution: .001dpcm) {.selector {}}- Chrome≥ 29
- Opera≥ 16
Opera Mini
JavaScript Hacks
div isOperaMini = Object.prototype.toString.call(window.operamini)==='[object OperaMini]';- Opera Mini*
var isOperaMini =(navigator.userAgent.indexOf('Opera Mini')>-1);- Opera Mini*
Safari
Selector Hacks
.selector:not(*:root) {}- Chrome*
- Safari*
- Opera≥ 14
- Android*
html:first-child .selector {}- Opera≤ 9.27
- Safari2
html[xmlns*=""] body:last-child .selector {}html[xmlns*=""]:root .selector {}- Safari2-3
*|html[xmlns*=""] .selector {}- Safari2/3.1
- Opera9.25
_::-moz-svg-foreign-content, :root .selector {}- Safari5.1-6
Property/Value Hacks
.selector { (;property: value;);}.selector { [;property: value;];}- Chrome≤ 28
- Safari≤ 7
- Opera≥ 14
JavaScript Hacks
var isWebkit ='WebkitAppearance'in document.documentElement.style;- Chrome*
- Safari≥ 3
- Opera≥ 14
var isSafari =/a/.__proto__=='//';- Safari≤ 5
var isSafari =/constructor/i.test(window.HTMLElement);- Safari*
var isSafari =!!navigator.userAgent.match(/safari/i)&&!navigator.userAgent.match(/chrome/i)&&typeof document.body.style.webkitFilter !=="undefined"&&!window.chrome;- Safari6
Media Query Hacks
@media screen and (min-width:0\0) {}- Internet Explorer≥ 9
- Safari4
- Android≥ 2.3
@media screen {@media (min-width: 0px) {}}- Internet Explorer*
- Safari≤ 6
@media \\0 screen {}- Chrome22-28
- Safari≥ 7
各种各样的hack。的更多相关文章
- 《Programming WPF》翻译 第7章 1.图形基础
原文:<Programming WPF>翻译 第7章 1.图形基础 WPF使得在你的应用程序中使用图形很容易,以及更容易开发你的显卡的能力.这有很多图形构架的方面来达到这个目标.其中最重要 ...
- CSS中各种各样居中方法的总结
在开发前端页面的时候,元素的居中是一个永远都绕不开的问题.看似简单的居中二字,其实蕴含着许许多多的情况,对应着很多的处理方法,本文就试图对页面布局中的居中问题进行总结~~ 居中问题分为水平居中和竖直居 ...
- 【荐】说说CSS Hack 和向后兼容
人一旦习惯了某些东西就很难去改,以及各种各样的原因,新的浏览器越来越多,而老的总淘汰不了.增长总是快于消亡导致了浏览器兼容是成了谈不完的话题.说 到浏览器兼容,CSS HACK自然而然地被我们想起.今 ...
- Google高级技巧—google Hack★★★★
google hacking事实上并算不上什么新东西,当时并没有重视这样的技术,觉得webshell什么的,并无太大实际用途.google hacking事实上并非如此简单... 经常使用的googl ...
- 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 当前网络时代,各种各样的网页向我们展示着丰富多彩 ...
- 《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #6 使用localmodconfig缩短编译时间
HACK #6 使用localmodconfig缩短编译时间 本节介绍使用make localmodconfig生成精简的.config文件,缩短内核编译时间的方法.为了能够应对各种各样的环境,发布版 ...
- google hack使用集锦
转载:https://blog.csdn.net/weixin_42127015/article/details/84472777 关于google hack的几个基础过滤器使用[请务必谨记,过滤器虽 ...
- ie10 css hack 条件注释等兼容方式整理
点评:ie10已经上线一段时间了,相信已经有一部分前端潮人体验过了,截至到现在,在ie6到ie9的浏览器各种各样的古怪行为,开发人员不得不使用条件注释,有条件的类,和其他特定于IE的css hack来 ...
- css常用hack
原文地址:css常用hack 突然想起今天早上在CNZZ看到的统计数据,使用IE6.7的用户比例还真多,看到之后我的心都碎了.微软都放弃了为毛还有这么多人不死心? 所以说,IE下的兼容还是得做的. – ...
随机推荐
- APP icon 自动来做,photoshop 做圆角图片
项目上传到应用市场,没有美工配合,那就只能自己捉刀了. 有几个点快捷键要注意,对使用ps有帮助 (1)ctrl+enter 建立选区 (2)建立选区后,移动到另外的图层,按delete键就为删除 (3 ...
- Java从零开始学四十五(Socket编程基础)
一.网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输. 在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可 ...
- IOS 支付宝-五福简单框架实现-线性滚动(UICollectionView)
猴年支付宝可算是给大家一个很好的惊喜,刺激.大家都在为敬业福而四处奔波.可是到最后也没有几个得到敬业福德,就像我.不知道大家有没有观察,五福界面的滚动是一个很好的设计.在这里,给大家带来简单的滚动实现 ...
- iOS开发~UI布局(一)初探Size Class
随着iOS8系统的发布,一个全新的页面UI布局概念出现,这个新特性将颠覆包括iOS7及之前版本的UI布局方式,这个新特性就是Size Class.Size Class配合Auto Layout可以解决 ...
- iOS开发之网络数据解析(二)--XML解析简介
前言:本篇随笔介绍的是XML解析. 正文: 1.XML解析方式有2两种: DOM:一次性将整个XML数据加载进内存进行解析,比较适合解析小文件 SAX:从根元素开始,按顺序一个元素一个元素往下解析,比 ...
- IOS组件绑定无效错误
报错的原因:界面按钮事件没有绑定到源代码或者相关的代码被注释了.比如你的button组件以及绑定到IBOutlet,但是viewcontrol.m上没有相关的代码,就会出现异常.
- 怎么录制Android或IOS动画教程
前一篇文章介绍了用DemoCreator制作Android视频教程,今天再介绍一种方法. 那就是用GifCam软件录制,此软件录制导出成Gif动画图片,可直接放在你的文章里面,效果比flash要好. ...
- 线程本地存储TLS(Thread Local Storage)的原理和实现——分类和原理
原文链接地址:http://www.cppblog.com/Tim/archive/2012/07/04/181018.html 本文为线程本地存储TLS系列之分类和原理. 一.TLS简述和分类 我们 ...
- mysql中出现Incorrect DECIMAL value: '0' for column '' at row -1错误解决方案
本人开发项目时,在从一个服务器导出数据库到另一服务器时,存储过程中,报Incorrect DECIMAL value: '0' for column '' at row -1错误. 原因: 存储过程中 ...
- JS高级程序设计2nd部分知识要点7
例子: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...