关于html:在IE中显示DIV而不是Section/Article

Display DIV instead of Section / Article in IE

我基本上想创建一个支持 HTML5 语义元素的网页,但是对于不注意 HTML5 元素的浏览器,我该怎么办?

例如,我想使用现代浏览器注意到的 <section></section>,但是如果有人在旧浏览器中访问我的网站,我该怎么做才能显示 DIV 而不是 SECTION?

我尝试使用以下代码,它只对 Internet Explorer 有用,但对其他浏览器有用吗?

1
2
3
4
5
<section class="main">
  <!--[if IE]>
   Only displayed only in IE .
  <![endif]-->
</section>

有什么建议吗?


HTML5 Shiv 支持在旧版 Internet Explorer 中使用 HTML5 分段元素,并为 Internet Explorer 6-9、Safari 4.x(和 iPhone 3.x)和 Firefox 3.x 提供基本的 HTML5 样式。

1
2
3
<!--[if IE]>
  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js">
<![endif]-->

相关讨论

  • 如果用户没有启用 JS 怎么办?然后我想我所有的代码都会被分成很多块。 🙁
  • 像这样使用 <section> Text </section> 将css写入div标签,而不是section标签在IE中,section标签被认为是容器,所以div标签工作正常

你可以在 IE 中加入这个小脚本:

1
(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,section,time,video".split(','),i=e.length;while(i--){document.createElement(e[i])}})()

如果你使用 document.createElement.

,IE 可以理解新的和自定义的元素

参考:http://css-tricks.com/snippets/javascript/make-html5-elements-work-in-old-ie/

相关讨论

  • 有没有其他方法可以解决这个问题?因为它是 javascript... 我应该期待什么?大约有多少人禁用了 javascript 浏览器?很多?因为如果他们中的很多人都有,那么如果他们使用的是旧浏览器,代码就会被破坏。
  • 没有其他方法可以强制 IE 理解这些元素。如果没有 javascript 的用户对您的项目很重要,请使用旧好的 divs。

解决这个问题的好方法是包含 JavaScript polyfill 库 Modernizr。它使 HTML5 元素在旧版本的 IE 中工作。这样你现在就可以开始使用 HTML5 语义标签,而不是等到旧的 IE 死掉 😉

相关讨论

  • 如果用户没有启用 JS 怎么办?然后我想我所有的代码都会被分成很多块。 🙁
  • 您今天不必担心禁用 JS,基本上每个人都在台式机和手机上启用了它。如果 JavaScript 被关闭,整个互联网将被严重破坏。
  • 嗯,这是有道理的。所以我不应该担心吗?真的吗? JS 是我唯一的恐惧,因为我认为它在很多地方都被禁用了。
  • 这是10年前的事了,现在不是了。
  • 哦好的!谢谢!顺便说一句,是的,如果我查看谷歌分析,它也使用 JS,它基本上跟踪每个访问者。 🙂 谢谢你现在我很高兴,我以为很多人没有启用 JS 🙂

把这段代码放在你的head标签里IE浏览器支持HTML5标签,

1
2
3
4
 <!--[if IE]>
        <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js">
        <script src="http://www.toyotapriusprojects.com/wp-content/themes/html5/lib/js/innershiv.min.js">
        <![endif]-->

相关讨论

  • 如果用户没有启用 JS 怎么办?然后我想我所有的代码都会被分成很多块。 🙁
  • 普通用户不使用网络开发工具。并且所有现代浏览器都支持JS。

以上是关于html:在IE中显示DIV而不是Section/Article的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>