什么浏览器不支持css3,html5兼容性解决方法
1.让老式浏览器支持HTML5
HTML5可以为我们做很多事情,最美味的是语义标签的应用。如果你在Chrome或者其他支持HTML5的浏览器中使用过它的cow X,那么这篇文章对你会很有用,因为现在你也可以在IE上使用HTML5了。
第一种方法:使用Google的html5shiv包(推荐)
首先你得引用下面这个引用Google的html5.js文件,好处就不说了:
将JavaScript代码内容编码到剪贴板!-[ifIE]script src=" http://html5shiv.googlecode.com/svn/trunk/html5.js"/script![Endif]-把上面的代码复制到head部分,记住必须是head部分(因为IE在解析之前必须知道这个元素,这个js文件不能在其他地方调用,否则无效)
主要是把这些html5标签做成块,像div。好吧,简单点说。总之,引用html5.js屏蔽html5标签。
第二种方法:编写JavaScript代码
将JavaScript代码内容编码到剪贴板!- [ifltIE9] script (function(){ if(!/*@cc_on!@*/0)返回;vare=abbr,article,side,audio,canvas,datalist,details,dialog,eventsource,figure,footer,header,hgroup,mark,menu,meter,nav,output,progress,section,time,video 。拆分(,);vari=e .长度;while(I-){ document . createelement(e[I])})()/script![Endif]-但不管用上面哪种方法,都要初始化新标签的CSS。因为HTML5默认显示为inline元素,为了布局这些元素,我们需要使用CSS手动将其变成block元素,方便布局。
XML/HTML代码将内容复制到clipboard/* HTML5 */article、side、对话框、页脚、页眉、节、页脚、导航、图表、菜单{display: block}但是如果ie6/7/8禁用了脚本用户,那么它就变成了一个没有样式的“白板”网页。怎么才能解决呢?
我们可以参考facebook的做法,就是用noscript logo引导用户到“/?_fb_noscript=1”页面,用html4标签替换html5标签,比写很多hack维护兼容性要轻。
XML/HTML代码将内容复制到剪贴板!-[ifltie8]no script style . html 5-wrappers { display:none!重要;}/stylediv class= ie-no script-warning 脚本在您的浏览器中被禁用。请ahref= 检查此处/a以启用脚本!还是ahref=/?Noscript=1 继续访问/a. /div /noscript![Endif]-这可以引导用户打开脚本,或者直接跳转到HTML4标签设计的界面。
2.让老式浏览器兼容CSS3(不完全兼容方案)
直到Internet Explorer 8,IE系列都不支持CSS3。在IE中,如果要制作圆角、阴影等一些常见的效果,就需要使用一些多余的、无意义的元素和图片来制作这些效果。厌倦了这些,我想到了用一种更简洁直接有效的CSS3风格的方法来解决这些问题。幸运的是,即使是饱受批评的ie浏览器也足够强大。IE独有的技术可以很好的实现一些CSS3的效果。
Opacity透明度
元素的透明性可以通过IE中的滤镜轻松实现。
代码将内容复制到剪贴板背景色:绿色;不透明度: 4;过滤器:progid:DXImageTransform。Microsoft.alpha(不透明度=40);这里的半透明区域
不透明度: 4;
滤镜:alpha(不透明度=40);
border-radius圆角/Box Shadow盒阴影/Text Shadow文字阴影
在IE中,矢量标记语言(VML)和javascript可以用来实现这些效果。参见IE-CSS3。引用一个HTC文件后,就可以在IE浏览器中使用这三个CSS3属性了。
代码复制内容到剪贴板-moz-border-radius:15px;/* Firefox */-WebKit-border-radius:15px;/*Safari、Chrome */border-radius:15px;/*Opera10.5,IE6使用IE-CSS3 */-moz-box-shadow:5px 5 px 5 px # 000;/* Firefox */-WebKit-box-shadow:5px 5 px 5 px # 000;/*Safari、Chrome */box-shadow:5px 5 px 50 px # 000;/*Opera10.5,IE6使用IE-CSS3 */Behavior:URL(IE-CSS3 . HTC);/*参考IE-css3.htc*/其实IE有自己的滤镜来实现阴影和投影效果。
shadow会产生连续、渐变的阴影
代码将内容复制到剪贴板过滤器:progid:dximagetransform . Microsoft . shadow(color= # 00000 ,direction=145,strength=10);投影产生的阴影没有明暗变化。
代码将内容复制到剪贴板筛选器:progid:dximagetransform . Microsoft . drop shadow(color= # 6699 cc ,offx= 5 ,offy= 5 ,positive= 1 );滤镜似乎和现有的htc脚本有冲突,也可以称之为一个特性:在一个元素上同时启用两者时,滤镜效果会传递到其子元素上。
以上关于老浏览器对HTML5和CSS3兼容性的问题,都是边肖分享的内容。希望能给你一个参考和支持。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。