IE CSS Hack【记录】
1、条件hack
2、属性hack
3、选择器hack
CSS Hack一般都是利用各浏览器的支持CSS的能力和BUG来进行的
本文只列举了一些常用的CSS Hack,且不考虑IE6以下的版本
尽可能减少对CSS Hack的使用,使用CSS Hack会带来维护成本的提高以及浏览器版本变化类似Hack失效等问题
1、条件hack
用于选择IE及IE不同版本,IE10及以上版本已将条件注释特性移除
<!--[if IE 8]> <![endif]--> <!-- IE8 -->
<!--[if gt IE 8]> <![endif]--> <!-- IE9+ -->
<!--[if gte IE 8]> <![endif]--> <!-- IE8+ -->
<!--[if lt IE 8]> <![endif]--> <!-- IE7- -->
<!--[if lte IE 8]> <![endif]--> <!-- IE8- -->
<!--[if ! IE 8]> <![endif]--> <!-- !IE8 -->
条件hack是HTML级别的(不仅是CSS的hack,还可以选择HTML代码块)
<!--[if IE]>
<link rel="stylesheet" href="css/global.css">
<style>
p{ color:#f00; }
</style> <p>你在非IE中将看不到我的身影</p>
<![endif]-->
2、属性hack
属性hack需运行在标准模式下,若在怪异模式下运行,将会被不同版本的IE相互识别,导致失效
由于浏览器存在交叉认识,所以需要通过层层覆盖的方式来实现
element {
color: #fff;
color: #fff\0; /* IE8+ */
color: #fff\9; /* IE10- */
color: #fff\9\0; /* IE9、IE10 */
color: #fff\0/; /* IE8 */
*color: #fff; /* IE7- */
_color: #fff; /* IE6- */
}
3、选择器hack
选择器hack与属性hack一样,需运行在标准模式下,通过层层覆盖的方式来实现
*html element{} /* IE6- */
*+html element{} /* IE7 */
@media screen\9{} /* IE7- */
@media \0screen{} /* IE8 */
@media \0screen\,screen\9{} /* IE8- */
@media screen\0{} /* IE8+ */
@media screen and (min-width:0\0){} /* IE9+ */
@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){} /* IE10+ */
IE CSS Hack【记录】的更多相关文章
- CSS Hack技术介绍及常用的Hack技巧集锦
一.什么是CSS Hack? 不同的浏览器对CSS的解析结果是不同的,因此会导致相同的CSS输出的页面效果不同,这就需要CSS Hack来解决浏览器局部的兼容性问题.而这个针对不同的浏览器写不同的CS ...
- CSS Hack
CSS HACK,网上有很多,主要是IE版本不同造成的,尽量不要用CSS HACK,实在调不过去可以用一用,相信以后随着IE低版本的淘汰,CSS HACK也将不在使用. 类内部HACK IE6识别 - ...
- css3复杂选择器+内容生成+Css Hack
1.复杂选择器2.内容生成3.多列4.CSS Hack(浏览器兼容性)=======================================1.复杂选择器 1.兄弟选择器 1.特点: 1.通过 ...
- CSS Hack解决浏览器IE部分属性兼容性问题
1.Css Hack 不同厂商的流览器或某浏览器的不同版本(如IE6-IE11,Firefox/Safari/Opera/Chrome等),对CSS的支持.解析不一样,导致在不同浏览器的环境中呈现出不 ...
- IE9下css hack写法
ie9一出css hack也该更新,以前一直没关注,今天在内部参考群mxclion分享了IE9的css hack,拿出来也分享一下: select { background-color:red\0; ...
- 【荐】说说CSS Hack 和向后兼容
人一旦习惯了某些东西就很难去改,以及各种各样的原因,新的浏览器越来越多,而老的总淘汰不了.增长总是快于消亡导致了浏览器兼容是成了谈不完的话题.说 到浏览器兼容,CSS HACK自然而然地被我们想起.今 ...
- IE 6 ~ 9 CSS Hack 写法总结
IE 6 ~ 9 CSS Hack 写法总结 24th 四, 14 lip2up [code lang="css"]_color: red; /* ie6 */*color: ...
- [转]CSS hack大全&详解
转自:CSS hack大全&详解 1.什么是CSS hack? CSS hack是通过在CSS样式中加入一些特殊的符号,让不同的浏览器识别不同的符号(什么样的浏览器识别什么样的符号是有标准的, ...
- 聊聊css hack
什么是CSS hack CSS hack由于不同厂商的浏览器,比如Internet Explorer,Safari,Mozilla Firefox,Chrome等,或者是同一厂商的浏览器的不同版本,如 ...
随机推荐
- 第62节:探索Java中的网络编程技术
前言 感谢! 承蒙关照~ 探索Java中的网络编程技术 网络编程就是io技术和网络技术的结合,网络模型的定义,只要共用网络模型就可以两者连接.网络模型参考. 一座塔有七层,我们需要闯关. 第一层物理层 ...
- 机器学习入门14 - 神经网络简介 (Introduction to Neural Networks)
原文链接:https://developers.google.com/machine-learning/crash-course/introduction-to-neural-networks/ 神经 ...
- Express中间件的意思 next()的方法
一.什么是express?Express是一个简洁.灵活的noode.jsWeb应用开发框架,它提供一系列强大的特性,帮助你创建各种Web和移动设备应用.Express项目的底层由许多的中间件在协同工 ...
- equalsIgnoreCase()和equals()的区别
String a="ABC";a.equals("abc")为false,a.equalsIgnoreCase("abc")为true;eq ...
- Mac下快速搭建PHP开发环境
最近做了一个后端的项目,是用PHP+MySQL+Nginx做的,所以把搭建环境的方法简单总结一下. 备注: 物料:Apache/Nginx+PHP+MySQL+MAMP Mac OS 10.12.1 ...
- Unity3D热更新之LuaFramework篇[01]--从零开始
前言 因工作关系,需要对手头的项目进行热更新支持.了解后发现,Lua的几个变种:XLua.ToLua(原uLua)和Slua都可以做Unity热更,而ToLua更是提供了一个简易的热更框架--LuaF ...
- k8s之external-etcd集群管理
一.概述 kubernetes使用etcd作为数据中心,使用kubeadm部署kubernetes的时候默认会自己部署一个etcd,当然也可以将kubeadm部署的单点的etcd做成集群,但是比较麻烦 ...
- PXE+kickstart无人值守安装CentOS 7
kickstart+cobbler系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 本文是PXE+kickstart无人值守安装CentOS ...
- ZooKeeper系列(5):ZooKeeper的日志和快照
ZooKeeper系列文章:https://www.cnblogs.com/f-ck-need-u/p/7576137.html#zk ZooKeeper有两种日志.一种快照.日志分为事务日志和Zoo ...
- Ubuntu16---安装mysql5.7未提示输入密码,安装后修改mysql密码默认密码
Ubuntu16安装mysql5.7未提示输入密码,安装后修改mysql密码默认密码 mysql默认密码为空 但是使用mysql -uroot -p 命令连接mysql时,报错 ERROR 1045 ...