当前位置: 首页 > news >正文

CSS Hack 汇总快查

屏蔽IE浏览器(也就是IE下不显示)
*:lang(zh) select { font:12px  !important;} /*FF, OP可见,特别提醒:由于Opera最近的升级,目前此句只为FF所识别*/
select:empty { font:12px  !important;} /*safari可见*/
这里select是选择符,根据情况更换。第二句是MAC上safari浏览器独有的。
仅IE7与IE5.0可以识别
*+html  select { }
当面临需要只针对IE7与IE5.0做样式的时候就可以采用这个HACK。
仅IE7可以识别
*+html  select { …!important;}
当面临需要只针对IE7做样式的时候就可以采用这个HACK。
IE6及IE6以下识别
* html  select { }
这个地方要特别注意很多博客都写成了是IE6的HACK其实IE5.x同样可以识别这个HACK。其它浏览器不识别。
html/**/ >body  select { }
这句与上一句的作用相同。
仅IE6不识别,屏蔽IE6
select { display /*屏蔽IE6*/: none;}
这里主要是通过CSS注释分开一个属性与值,注释在冒号前。
仅IE6与IE5不识别,屏蔽IE6与IE5
select/**/ { display /*IE6,IE5不识别*/ :none;}
这里与上面一句不同的是在选择符与花括号之间多了一个CSS注释。 不屏蔽IE5.5
仅IE5不识别,屏蔽IE5
select/*IE5不识别*/ { }
这一句是在上一句中去掉了属性区的注释。只有IE5不识别,IE5.5可以识别。
盒模型解决方法
selct { width:IE5.x宽度; voice-family :"\"}\""; voice-family:inherit; width:正确宽度;}
盒模型的清除方法不是通过!important来处理的。这点要明确。
清除浮动
select:after {content:"."; display:block; height:0; clear:both; visibility:hidden;}
在Firefox中,当子级都为浮动时,那么父级的高度就无法完全的包住整个子级,那么这时用这个清除浮动的HACK来对父级做一次定义,那么就可以解决这个问题。
截字省略号
select { -o-text-overflow:ellipsis; text-overflow:ellipsis; white-space:nowrap; overflow:hidden; }
这个是在越出长度后会自行的截掉多出部分的文字,并以省略号结尾,很好的一个技术。只是目前Firefox并不支持。
只有Opera识别
@media all and (min-width: 0px){ select {……} }
针对Opera浏览器做单独的设定。

以上都是写CSS中的一些HACK,这些都是用来解决局部的兼容性问题,如果希望把兼容性的内容也分离出来,不妨试一下下面的几种过滤器。这些过滤器有的是写在CSS中通过过滤器导入特别的样式,也有的是写在HTML中的通过条件来链接或是导入需要的补丁样式。

IE5.x的过滤器,只有IE5.x可见
@media tty {
i{content:"\";/*" "*/}} @import ' ie5win.css'; /*";}
}/* */
IE5/MAC的过滤器,一般用不着
/*\*//*/
    @import " ie5mac.css";
/**/
IE的if条件Hack
<!--[if IE]> Only IE <![endif]-->
所有的IE可识别
<!--[if IE 5.0]> Only IE 5.0 <![endif]-->
只有IE5.0可以识别
<!--[if gt IE 5.0]> Only IE 5.0+ <![endif]-->
IE5.0包换IE5.5都可以识别
<!--[if lt IE 6]> Only IE 6- <![endif]-->
仅IE6可识别
<!--[if gte IE 6]> Only IE 6/+ <![endif]-->
IE6以及IE6以下的IE5.x都可识别
<!--[if lte IE 7]> Only IE 7/- <![endif]-->
仅IE7可识别

以上内容可能并不全面,欢迎大家能和我一起把这些技巧都汇总起来,为以后工作的查询提供一个方便,同时在这里感谢那些研究出这些HACK的作者们。

 

相关文章:

  • 针对小程序for循环绑定数据,实现toggle切换效果(交流QQ群:604788754)
  • 50分,再求兩個BCB轉delphi的問題,非常感謝!
  • IEnumerable 和 IEnumerator 接口
  • Ionic 入门与实战之第三章:Ionic 项目结构以及路由配置
  • 使用HBuilder编辑器进行真机调试运行时提示Waiting for debugger!
  • 交换机端口安全
  • SQLite入门与分析(四)---Page Cache之事务处理(2)
  • Windows上为Apache配置HTTPS
  • [数据恢复答疑]IBM 的RAID5E和RAID5EE适合我吗?
  • 【LeeCode】Two Sum
  • Alexnet参数解释
  • es6的常用语法
  • asp.net 点击girdView中的超链接列复制地址--源码--调试成功
  • 定制用户不使用某个帐号
  • 解读sencha touch移动框架的核心架构(一)
  • 「面试题」如何实现一个圣杯布局?
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 2018一半小结一波
  • If…else
  • java2019面试题北京
  • JavaScript 一些 DOM 的知识点
  • Java比较器对数组,集合排序
  • Java到底能干嘛?
  • Js基础知识(四) - js运行原理与机制
  • MD5加密原理解析及OC版原理实现
  • Median of Two Sorted Arrays
  • mysql_config not found
  • Mysql5.6主从复制
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 前端js -- this指向总结。
  • 设计模式 开闭原则
  • 使用agvtool更改app version/build
  • 我是如何设计 Upload 上传组件的
  • 异步
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • #QT项目实战(天气预报)
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • (02)Hive SQL编译成MapReduce任务的过程
  • (02)vite环境变量配置
  • (04)odoo视图操作
  • (2)STL算法之元素计数
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (poj1.3.2)1791(构造法模拟)
  • (pojstep1.1.2)2654(直叙式模拟)
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转)Sql Server 保留几位小数的两种做法
  • (转)Unity3DUnity3D在android下调试
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .bat批处理(四):路径相关%cd%和%~dp0的区别