越来越多的站点开始使用 html5 标签,但是目前的情况是还有很多人在使用ie6、ie7、ie8。为了让所有浏览者都可以正常的访问,解决方案有下面两个:
1.为网站创建多套模板,通过程序对ur-agent的判断为不同的浏览器用户显示不同的页面,例如:优酷网。
2.使用javascript来使不支持html5的浏览器支持html标签。
针对ie比较好的解决方案是html5shiv。htnl5shiv主要解决html5提出的新的元素不被ie6-8识别,这些新元素不能作为父节点包裹子元素,并且不能应用css样式。让css 样式应用在未知元素上只需执行 document.createelement(elementname) 即可实现。html5shiv就是根据这个原理创建的。
html5shiv的使用非常的简单,考虑到ie9是支持html5的,所以只需要在页面head中添加如下代码即可:
复制代码 代码如下:
<!-–[if lt ie 9]–><script src=” http://html5shiv.googlecode.com/svn/trunk/html5.js “></script ><!经典谢师恩的诗句5言诗211;[endif]–- >
html5shiv官方网址:
下面是一些补充:
当然包括本人blog在内。关于html5不得不提ie,在苹果、google、opera和mozilla等主流浏览器厂商积极参与新版本html标准的制定和推广时,微软却对html 5规范不屑一顾。然而微软近期才表态要在ie中支持html 5,以致到今天为止的ie8及以下是无法支持html5标签的。但在sitepoint找到了让ie支持html5办法。
以下是在的ie 8显示的例子,未作处理前:
让ie(包括ie6)支持html5元素,我们需要在html头部添加以下javascript,这是一个简单的document.createelement声明,利用条件注释针对ie在对象中创建对应的节点。
复制代码 代码如下:
<!–[if ie]>
<script>
document.createelement(“header”);
document.createelement(“footer&操作系统的功能#8221;);
document.createelement(“nav”);
document.createelement(“article”);
document.createelement(“ction”);
</script>
<![endif]–>
添加以上代码后,在ie8中显示的效果如下:
sitepoint例子中创建节点的javascript代码似乎过于臃肿,在smashingmagazine提供的代码似乎更简洁。
演示如下
<!doctype html> <html lang=”en”> <head> <meta chart=utf-8> <!– simplified version; works on legacy browrs –> <title>basic styling of new structural tags</title> <style> *{margin:0;padding:0;} body {background-color:white; color: black; text-align:center;} header, footer, nav, ction, article {display:block;} header {width:100%; background-color:yellow;} nav {width:30%; background-color:orange;float:left;} ction {width:65%; background-color:springgreen ; float:right;} article {width:70%; margin:2em 10%; background-color:turquoi;} footer {width:100%; background-color:pink; clear:both;} </style> <!–[if ie]> <script> (function(){if(!/*@cc_on!@*/0)return;var e = “abbr,article,aside,audio,bb,canvas,datagrid,datalist,details,dialog,eventsource,figure,footer,header,hgroup,mark,menu,meter,nav,output,progress,ction,time,video”.split(‘,’),i=e.length;while(i–){document.createelement(e[i])}})() </script> <![endif]–> <body> <header><h1>hello</h1></header> <nav><p>menu</p></nav> <ction> <p>ction</p> <article><p>article 1</p></article> <article>&l什么是艺考培训t;p>article 2</p></article> </ction> <footer><p>the footer</p><魏俊星/footer> </body> </html>
提示:您可以先修改部分代码再运行
复制代码 代码如下:
<!–[if 出类拔萃的意思ie]>
<script>
(function(){if(!/*@cc_on!@*/0)return;var e = “header,footer,nav,article,ction”.split(‘,’),i=e.length;while(i–){document.createelement(e[i])}})()
</script>
<![endif]–>
html5在默认情况下表现为内联元素,对这些元素进行布局我们需要利用css手工把它们转为块状元素,如下例:
复制代码 代码如下:
header, footer, nav, ction, article {
display:block;
}
本文发布于:2023-04-03 07:41:12,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/b319b799b4eb73b85411341c3050f976.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:让IE支持HTML5的方法.doc
本文 PDF 下载地址:让IE支持HTML5的方法.pdf
留言与评论(共有 0 条评论) |