IE中的CSS3不完全兼容方案

Opacity透明度

元素的透明度在IE中可以很方便的用滤镜来实现。

view source print?
1 background-color:green;
2 opacity: .4;
3 filter:progid:DXImageTransform.Microsoft.alpha(opacity=40);

这里半透明区域
opacity: .4;

filter:alpha(opacity=40);

border-radius圆角/Box Shadow盒阴影/Text Shadow文字阴影

在IE中可以利用Vector Markup Language (VML)和javascript来实现这些效果,参见IE-CSS3,在引用了一个HTC文件后,在IE浏览器中就可以使用这三种CSS3属性了。

view source print?
1 -moz-border-radius: 15px; /* Firefox */
2 -webkit-border-radius: 15px; /* Safari 、Chrome */
3 border-radius: 15px; /* Opera 10.5+, IE6+ 使用 IE-CSS3*/
4 -moz-box-shadow: 5px 5px 5px #000; /* Firefox */
5 -webkit-box-shadow: 5px 5px 5px #000; /* Safari、Chrome */
6 box-shadow: 5px 5px 50px #000; /* Opera 10.5+,IE6+ 使用 IE-CSS3 */
7 behavior: url(ie-css3.htc); /*引用ie-css3.htc */

实际上,在IE中有滤镜来实现阴影(shadow)和投影(drop-shadow)效果的

shadow会产生连续、渐变的阴影

view source print?
1 filter: progid:DXImageTransform.Microsoft.Shadow(color='#000000', Direction=145, Strength=10);

drop-shadow产生的阴影没有明暗变化

view source print?
1 filter:progid:DXImageTransform.Microsoft.DropShadow(Color="#6699CC",OffX="5",OffY="5",Positive="1");

滤镜似乎和现有的htc脚本有冲突,或者可以称之为特性:两者同时在一个元素上启用的时候,滤镜效果会转移到其子元素上

Gradients渐变

IE中提供了一个简单的渐变滤镜

view source print?
1 background-image: -moz-linear-gradient(top, #444444, #999999); /* FF3.6 */
2 background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #444444),color-stop(1, #999999)); /* Saf4+, Chrome */
3 filter:  progid:DXImageTransform.Microsoft.gradient(startColorStr='#444444', EndColorStr='#999999'); /* IE6+ */

在实现IE中的渐变很简单

RGBA透明度颜色背景

渐变滤镜支持RGBA的颜色,startColorStr和EndColorStr的前两位是Alpha通道值。使用带alpha通道来模拟RGBA颜色背景的同时,应该去掉其background-color属性。

view source print?
1 background-color: rgba(0, 255, 0, 0.6); /* FF3+, Saf3+,Opera 10.10+, Chrome */
2 filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#9900FF00',EndColorStr='#9900FF00'); /* IE6+*/

Multiple Backgrounds多重背景图片

支持CSS3多重背景图片的浏览器中可以用下面的语句来实现背景多重图片:

view source print?
1 background: url(bg-image-1.gif) center center no-repeat, url(bg-image-2.gif) top left;

要在IE中实现多背景图片,在需要在单独的IE hack样式表中加入下面的代码:

view source print?
1 background: transparent url(bg-image-1.gif) top left repeat;
2 filter: progid:DXImageTransform.Microsoft.AlphaImageLoader (src='bg-image-2.gif', sizingMethod='crop'); /* IE6+ */

CSS3浏览器的多重背景

IE的多重背景

Tranformations/rotate旋转元素

IE中有两个滤镜可以实现元素的旋转,BasicImage和Matrix,前者简单方便但是只能做90*n(n∈{1,2,3,4})度的旋转;Matrix滤镜功能强大,但是参数复杂。

view source print?
1 -moz-transform: rotate(180deg);  /* FF3.5+ */
2 -o-transform: rotate(180deg);  /* Opera 10.5 */
3 -webkit-transform: rotate(180deg);  /* Saf3.1+, Chrome */
4  
5 filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
6 filter:progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand',M11=-1, M12=-1.2246063538223772e-16, M21=1.2246063538223772e-16, M22=-1);

旋转也很简单

@font-face服务器端字体

考虑到汉字字体的尺寸,这个CSS3的特性不算实用

view source print?
1 font-family:'webFont';
2 src:url('myfont.eot');/*IE6+*/
3  
4 src:local('fontname'),/*字体名称*/
5 url('myfont.woff') format('woff'),/*FF3.6*/
6 url('myfont.ttf') format('truetype');/*saf3+,chrome,FF3.5,opera10+*/

字体声明并引用了以后,可以在网页的其他地方用font-family使用这一字体。

可以在同一个元素上启用多个滤镜,如:

view source print?
1 filter: progid:DXImageTransform.Microsoft.Shadow(color='#000000', Direction=145, Strength=5)progid:DXImageTransform.Microsoft.Alpha(opacity=40);

虽然一些用滤镜模仿CSS3的效果难称完美,但在一些情况下,运用这些技术能够让我们的代码更为简洁和统一

转载于:https://www.cnblogs.com/sidifa/archive/2013/03/24/2977980.html

IE中的CSS3不完全兼容方案相关推荐

  1. js中getBoundingClientRect的作用及兼容方案

    js中getBoundingClientRect的作用及兼容方案 1.getBoundingClientRect的作用 getBoundingClientRect用于获取某个html元素相对于视窗的位 ...

  2. ubuntu永中office2012个人版公式字体兼容方案

    在ubuntu下安装了最新的永中office2012个人版,发现公式显示于微软office有较大差异,出现了乱码,发信问了永中的客服,是因为缺少相关字体造成.鉴于版权问题,永中没有集成,但是我们自己可 ...

  3. android popupwindow 自定义背景,Android PopupWindow背景半透明兼容方案

    大家想必对PopupWindow不会很陌生吧,我们在开发中经常会遇到要求使其背景半透明的需求,但网上的很多解决方案只能是在大部分机型上满足要求,像华为这样的机型就会发现我们原来设置的背景变暗效果的代码 ...

  4. Emoji表情符号兼容方案(适用ios,android,wp等平台)

    http://blog.csdn.net/qdkfriend/article/details/7576524 Emoji表情符号兼容方案 一 什么是Emoji emoji就是表情符号:词义来自日语(え ...

  5. HTML5全屏浏览器兼容方案

    最近一个项目有页面全屏的的需求,搜索了下有HTML5的全屏API可用,不过各浏览器的支持不一样. 标准 webkit Firefox IE Element.requestFullscreen() we ...

  6. 解决IE6中 PNG图片透明的终极方案-八种方案!

    "珍惜生命,远离IE6",IE6中的bug令很多Web前端开发人员实为头疼,因此不知道烧了多少脑细胞,在众多的Bug中最令人抓狂的就是IE对png图片的不支持,导致设计师和重构师放 ...

  7. MAC显示屏的网页图片兼容方案

    背景图片不同分辨率下的兼容方案调研 PC首页改版中遇到的mac下使用一倍图时,很模糊,一方面,MAC带来了高清屏幕的革命,另一方面,页存在严重的分辨率适配问题,但毕竟我们的用户大部分是在wins平台的 ...

  8. vw 前端_前端适配之vw兼容方案(Vue版)

    前端适配可以说是前端工程师一个永恒的话题,而解决方案也是层出不穷,其目的都是为了在各个分辨率中最大程度还原设计稿.今天给大家介绍的是vw兼容方案,其原理就是根据视口宽度自动计算页面上的尺寸,无论高度. ...

  9. IT6516|ITE联阳IT6516BFN DP转VGA方案|替代IT6516|IT6516替代兼容方案

    IT6516/IT6516BFN:是一款DP显示端口转VGA转换器的嵌入式MCU单片机. IT6516/IT6516BFN结合DisplayPort接收器和三重DAC,通过转换功能支持DisplayP ...

最新文章

  1. android开发重要控件,Android界面编程——Android基本控件
  2. 深度:生成模型(GAN)的最新进展
  3. 台湾国立大学郭彦甫Matlab教程笔记(21)linear equations(高斯消去法和追赶法)
  4. genius choice for gopro
  5. 【Python爬虫】写个爬虫爬取自己的博客,可以刷访问量
  6. java多线程中几个常用的方法
  7. 基于VHDL语言的数字秒表实现
  8. permission denied是什么鬼?
  9. java 鼠标动眼睛动_js动画_看着鼠标移动的眼球_眼睛_跟着随鼠标移动
  10. OpenCV-扩充图像边界cv::copyMakeBorder
  11. nsurl转nsdata_ios 中NSData 拼接成功,但写入本地种只有前面的data
  12. html组合标题,如何组合标题关键词(影响标题的5个因素)
  13. 最简单易懂的C语言代码实现最小二乘法线性拟合直线
  14. 爬取中国地震台网以及地震科学数据
  15. 如何看待IT培训这件事情?IT培训出来的人都一无是处吗?
  16. 应届毕业生怎么快速找到高薪工作?
  17. win 7使用mimikatz实现MS14-068漏洞
  18. 一文带你了解-Java集合超详解(破天荒总结)
  19. 实力赢得信任丨西安珠江新城业主喜迎公元物业
  20. Android常见的错误及解决

热门文章

  1. 【数据字典】国标数据字典
  2. No 'Access-Control-Allow-Origin' header is present on the requested resource', 跨域访问异常
  3. linux:scp命令
  4. 【H2 Database】shell
  5. java中sql去除游标_java.sql.SQLException:-ORA-01000:已超过最大打开游标
  6. java set 接口_【Java提高十七】Set接口集合详解
  7. 各层作用_土工布有什么作用呢?
  8. java学绘图吗_Java绘图
  9. java响应鼠标滚轮事件_一文读懂鼠标滚轮事件(wheelEvent)
  10. postgresql测试题_PostgreSQL练习