抛弃 CSS Hacks 后的浏览器兼容方案
一般情况下的浏览器兼容需要考虑 IE6/7/8 三种 IE 版本,当然在 IE9 开始逐步推向市场后,又会有更多的衍生版本。所以我目前只考虑 IE7~9 版本的兼容情况。涉及到的条件注释代码如下:
<!DOCTYPE html>
<!--[if lt IE 7 ]><html><![endif]-->
<!--[if IE 7 ]><html><![endif]-->
<!--[if IE 8 ]><html><![endif]-->
<!--[if IE 9 ]><html><![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--><html><!--<![endif]-->
使用说明如下:
.test {
/* 针对非 ie 浏览器的样式 */
}
.ie .test {
/* 针对所有 ie 版本的样式 */
}
.ie6 .test {
/* 针对 ie6 的样式 */
}
...
.ie9 .test {
/* 针对 ie9 的样式 */
}
之前那篇文章里也有同学提出通过 PHP 判断 UA 参数并动态输出样式表的方法,这个虽然是简洁明了,但和后端代码耦合在一起,总觉得不是一回事。况且实际应用中很多情况下会将页面模板化,做动态输出并不非常适合。
另外,国内各大双核高速安全的壳浏览器还没有经过测试,这个需要再做了解。
原文:http://www.mangguo.org/after-abandoning-css-hacks-browser-compatible-solution/
抛弃 CSS Hacks 后的浏览器兼容方案相关推荐
- 转:【总结】浏览器CSS Hacks汇总,浏览器兼容方式CSS Hacks
[总结]浏览器CSS Hacks汇总 浏览器兼容可以说是前端开发所要面对的第一个挑战,目前我的电脑上已经安装了6种浏览器(基于IE内核的不算,如Maxthon等). CSS hacks利用浏览器的漏洞 ...
- HTML5全屏浏览器兼容方案
最近一个项目有页面全屏的的需求,搜索了下有HTML5的全屏API可用,不过各浏览器的支持不一样. 标准 webkit Firefox IE Element.requestFullscreen() we ...
- HTMLCSS学习笔记(二十九)——CSS Sprites的原理浏览器兼容
CSS Sprites CSS Sprites在国内很多人叫css精灵,是一种网页图片应用处理方式(页脚精灵图.雪碧图).它允许你将一个页面涉及到的所有零星图片都包含到一张大图中.这样一来,浏览器在加 ...
- 编写跨浏览器兼容的 CSS 代码的金科玉律
作为 Web 设计师,你的网站在各种浏览器中有完全一样的表现是很多人的目标,然而这是一个永远无法真正实现的目标,很多人认为,完美的跨浏览器兼容并不必要,这样说虽然没错,但在很多情形,一种近似的兼容还是 ...
- jQuery-1.9.1源码分析系列(七) 钩子(hooks)机制及浏览器兼容
处理浏览器兼容问题实际上不是jQuery的精髓,毕竟让技术员想方设法取弥补浏览器的过错从而使得代码乱七八糟不是个好事.一些特殊情况的处理,完全实在浪费浏览器的性能:突兀的兼容解决使得的代码看起来既不美 ...
- CSS3与页面布局学习总结(八)——浏览器兼容与前端性能优化
一.浏览器兼容 1.1.概要 世界上没有任何一个浏览器是一样的,同样的代码在不一样的浏览器上运行就存在兼容性问题.不同浏览器其内核亦不尽相同,相同内核的版本不同,相同版本的内核浏览器品牌不一样,各种运 ...
- css hack *html,css hack 大全 各个浏览器的css
各个浏览器的css hack区别属性: IE6: _zoom:1; IE6/7: *zoom:1; IE6/7/8/9 :\9 各个浏览器的css hack区别规则 IE6: *html{} IE7: ...
- js浏览器兼容问题总结及解决办法
javascript部分 document.form.item 问题 问题: 代码中存在 document.formName.item("itemName") 这样的语句,不能在F ...
- css borderradius ie8,border-radius IE8兼容处理的方法
测试代码: * { margin: 0; padding: 0; } #header { width: 400px; height: 400px; margin: 10px; border-radiu ...
最新文章
- 例6.12(Java)
- mysql comment
- android o测试版,一加手机可升级!谷歌已正式推送Android O测试版系统
- windows下写代码在linux下编译,如何在Windows中编译Linux Unix的代码(采用cygwin)?...
- P3188-[HNOI2007]梦幻岛宝珠【背包】
- redux-4-ways
- 2、VMware vCenter Server5.1功能介绍与安装
- pytorch1.0 用torch script导出模型
- ajax 用户验证js,js ajax验证用户名
- MySQL之存储过程和函数
- js原型和原型链_初识JS原型/原型链/原型继承
- ERwin 正向工程
- 【滤波器】基于matlab窗函数法FIR数字滤波器设计【含Matlab源码 316期】
- unity之粒子特效制作图片拼合文字效果
- Callnovo全球联络中心云通讯CRM平台系列(一)
- 免费DEM数据(ASTER GDEMV3、ASTER GDEMV2、ASTER GDEMV1,SRTM90米、SRTM30米、GLS 2005 DEM、TanDEM)下载方式总结
- 【博学谷学习记录】超强总结,用心分享 | JavaSE入门基础知识总结
- 【node】升级 Node 版本教程
- Linux会帮你打剩下的字符,当您在命令提示符的后面输入命令的一部分时,按(__),Linux会帮你打剩下的字符,补充成为完整命令...
- (Miller Rabin算法)判断一个数是否为素数