CSS兼容问题资料汇集
CSS兼容问题一直困扰着CSSer,面对各浏览器,往往感觉束手无策,愁眉不展。CSS Hack是在标准CSS没办法兼容各浏览器显示效果时才会用上的补救方法,在各浏览器厂商解析CSS没有达成一致前,我们只能用这样的方法来完成这样的任务。
我进行前端开发的时候,测试用的浏览器大致有: IE7、IE6、Opera9(文章撰写时版本为9.25 8825),Safari3(文章撰写时版本为3.0.4 523.15),Firefox2(文章撰写时版本为2.0.0.11)等。
在正常的 selector { property:value; } 的基础上常会根据具体情况为相同元素使用Hack以达到浏览器间统一。
IE系列
selector { +property:value; } 在属性名前加上加号”+”,这个Hack只有IE系列可以识别.�
selector { *property:value; } 在属性名前加上星号”*”,这个Hack只有IE系列可以识别.�
selector { _property:value; } 在属性名前加上下划线”_”,这个Hack只有IE系列 (除IE7外) 识别.�
* html selector{ property:value; } 在选择器上运用继承法 * html selector, 这个Hack只有IE系列 (除IE7外) 可以识别.�
html >body selector { property:value; } 在选择器上运用继承法 html >body selector ,这个Hack只有IE系列 (除IE7外) 可以识别.�
selector { property:value; } 在属性名和冒号”:”之间加入注释,屏蔽IE6用.�
selector { property:value; } 在选择器和花括号”{“之间以及在属性名和冒号”:”之间加入注释,屏蔽IE5和IE6用 (不屏蔽IE5.5) .�
select { property:value; } 在选择器和花括号”{“之间加入注释,屏蔽IE5用.�
*+html selector { property:value !important; } 在选择器上运用继承法 *+html selector 再加上 !important, 这个Hack只有IE7可以识别.
Firefox:
*:lang(lang) selector { property:value !important; } 用伪类lang(语言)再加上!important进行定义的话,目前只有Firefox可以识别.
Safari:
selector:empty { property:value !important; } 用伪类empty再加上!important进行定义的话,目前只有Safari可以识别.
Opera:
@media all and (min-width: 0px){ selector { property:value; } } 利用特殊继承法进行定义的话,目前只有Opera可以识别.
以上的CSS Hack并不完整,欢迎大家一起补充。
对于Hack的运用,最普遍的现象是CSS盒模型Hack,清除浮动Hack。
CSS盒模型在IE5.X上是有严重解析错误的.这个Hack针对IE5.X:
selctor { width:IE5.X宽度; voice-family :”\”}\””; voice-family:inherit; width:正确宽度; }
清除浮动Hack,相信这个定义用的人很多:
selector:after { content:”.”; display:block; height:0; clear:both; visibility:hidden; }
ps:http://blog.bingo929.com/at-present-very-comprehensive-information-on-css-compatible-pool.html
CSS兼容问题资料汇集的更多相关文章
- VS2010升级VS2012必备(MVC4 WebPage2.0 Razor2.0资料汇集)
刚把项目升级到2012,发现发生了很多变化,以下是最近看过的网站和资料汇集,供需要者参考. 本文在最近一个月可能会不断更新. Razor2.0 新特性介绍: 介绍1:http://vibrantcod ...
- CSS兼容各浏览器的hack
CSS兼容各浏览器的hack:建议:尽可能的手写代码,可以有效的提高学习效率和深度.浏览器的种类多,麻烦自然也多,主要是各种浏览器对某些属性的渲染效果并不相同,所以有时候需要专门针对特定浏览器或者特定 ...
- 主流浏览器css兼容问题的总结
最近又搞了一波网站的兼容,由于要求ie浏览器还是要兼容到ie8,所以调起来还是各种蛋疼. 现在就post一些做兼容的总结,可能不够全面,但是可以告诉大家如何避过一些坑.主要测试了chrome,fire ...
- CSS兼容问题实用建议
CSS兼容问题,是美工最头痛的问题.做测试时,用谷哥和360浏览器(最新)都没有什么问题,用 IE6/IE8测试,问题就冒出来了.微软现在出IE10,我电脑上已经无法用IE6准确测试,IE-TESTE ...
- css兼容问题集合
css兼容问题 兼容问题 1.文字本身的大小不兼容.同样是font-size:14px的宋体文字,在不同浏览器下占的空间是不一样的,ie下实际占高16px,下留白3px,ff下实际占高17px,上留白 ...
- css兼容各个浏览器的三角形图标
css兼容各个浏览器的三角形图标 在当前流行的的网站上,我们经常会看到一些小三角形的下拉提示(微博顶部的下拉菜单),简单的方式可以使用一张图片代替,但是随着前端技术的发展,以及开发者对于前端性能的“吹 ...
- CSS兼容常用技巧
请尽量用xhtml格式写代码,而且DOCTYPE影响 CSS 处理,作为W3C标准,一定要加DOCTYPE声明. 1.div的垂直居中问题 vertical-align:middle; 将行距增加到和 ...
- ie6 7 8 9 firefox的css兼容问题
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- css兼容问题与实践归纳总结
css兼容问题与实践归纳总结 一.IE6/7 原生块元素与display:inline-block; <div style="display:inline-block;"&g ...
随机推荐
- CF1163E
CF1163E 首先存在p的要求是能建一个满的线性基而且线性基用到的数不能大于等于\(2^x\) 这很好解决,只要把所有数排序后从小到大的插进线性基,然后每次删掉所有原数大于\(2^x\)的数并调整x ...
- 备份一下alias喽
# 每次grep都显示出行号示出行号 alias grep="grep -n" # grep反向选择并显示行号显示行号 alias vgrep="grep -n -v&q ...
- Lock中使用Condition实现等待通知
Condition类有很好的灵活性,可以实现多路通知功能,一个Lock对象中可以创建多个Condition对象实例,线程对象可以注册在指定的Condition中,进而有选择的进行线程通知,在调度线程上 ...
- 2018-2-13-win10-UWP-等级控件
title author date CreateTime categories win10 UWP 等级控件 lindexi 2018-2-13 17:23:3 +0800 2018-2-13 17: ...
- 从零开始搭建系统2.8——HDFS安装及配置
从零开始搭建系统2.8——HDFS安装及配置
- 第一章 笔记本电脑安装Linux系统(Centos7)
目标:通过[Linux+Docke+Nginx+Jenkins+k8s(Kubernetes)+CICD(自动化)]进行项目部署 内容:根据个人进度实时分章节记录自己所遇到的问题 一.准备工作 1.下 ...
- JMeter 并发压力测试
一,下载JMeter http://jmeter.apache.org/download_jmeter.cgi 二,创建默认配置 可以不用配置相同参数. 测试计划:右键添加线程组 线程组:右键添加 ...
- 转帖 eclipse Web项目WebContent目录修改
最近在做Web 项目时,新建了一个WEB 项目,如webdemo,eclipse默认的build路径为build,WEB-INF存放于WebContent下面,今改了一个build路径和WebCont ...
- 洛谷P1935 [国家集训队]圈地计划
题目大意: 有个\(n*m\)的网格图 每个点可以选择\(A\),获得\(A[i][j]\)或选\(B\)获得\(B[i][j]\)的收益 相邻点有\(k\)个不同可以获得\(C[i][j]\)的收益 ...
- list去重jdk1.8
List<Object> newList = ll.stream().distinct().collect(Collectors.toList()); //jdk8去重操作