知识屋:更实用的电脑技术知识网站
所在位置:首页 > 编程技术  > CSS教程

IE中的CSS3不完全兼容方案

发表时间:2014-09-19来源:网络

         到Internet Explorer 8为止,IE系列是不支持CSS3的。在IE中要做一些常用的效果如圆角、阴影,就需要用一些冗余而无意义的元素和图片来做出这些效果。在厌倦这些后,就想着用更为简洁、直接有效、CSS3式的办法来解决这些问题。好在就算是饱受批评的Internet Explorer,其本身也是足够强大的。IE特有的技术可以很好的实现一些CSS3的效果。


Opacity透明度


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


IE中的CSS3不完全兼容方案


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


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


IE中的CSS3不完全兼容方案


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


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


IE中的CSS3不完全兼容方案


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


IE中的CSS3不完全兼容方案


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


Gradients渐变


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


IE中的CSS3不完全兼容方案


        在实现IE中的渐变很简单


RGBA透明度颜色背景


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


IE中的CSS3不完全兼容方案


Multiple Backgrounds多重背景图片


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


IE中的CSS3不完全兼容方案


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


IE中的CSS3不完全兼容方案


CSS3浏览器的多重背景


IE的多重背景


Tranformations/rotate旋转元素


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


IE中的CSS3不完全兼容方案


旋转也很简单


@font-face服务器端字体


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


IE中的CSS3不完全兼容方案


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


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


IE中的CSS3不完全兼容方案


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


(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜