对于结构类的标签,通过JS来实现兼容
header footer等结构类标签,在不支持的浏览器当中,都属于“用户自定义标签”,虽然会显示,但是会以行内元素的样式展示。此时需要利用JS创建这个元素,之后用CSS为其设置块元素的样式。
如下代码
<head><!-- 其他无关代码已经省略 -->
<script>
document.createElement('header')
document.createElement('footer')
</script>
<style>
header, footer {
display: block
}
</style>
</head>
<body>
<header>此处该标签就成立了,也是以块元素形式展示</header>
<footer>HTML5 学堂 ,多篇原创技术文章</footer>
</body>
注意,JS代码需要放置在顶部(head当中),而不是底部
前提本身就是错误的,得出的结论当然是错误的。
从未有任何标准化组织或浏览器厂商宣称“HTML 是向后兼容的”。
HTML5 废弃了如下四类元素和属性:
纯表现元素:basefont、big、center、font、s、strike、tt、u
框架类元素:frame、frameset、noframes
属性:align,body 的 link、vlink、alink、text,bgcolor,height,width,iframe 的 scrolling、longdesc,valign,hspace,vspace,table 的 cellpadding、cellspacing、border,header 的 profile,img 的 longdesc
其他:acronym、applet、isindex、dir
第一类是早期(尚处在没有 CSS 的时代)用于网页展示某些特殊效果的元素,本身不具有语义化,在 HTML4.01 时就可以完全使用 CSS 替代,HTML5 中废弃它们转而提倡采用语义化的元素就是顺理成章了。
第二类是因为这类元素的早期实现上都存在安全性和可用性上的问题,所以被废除了。
第三类是因为全部都可以用 CSS 来代替,出于文档与样式分离的考虑,干脆不再让 HTML 元素本身负责任何样式上的设置,转而统一交由 CSS 处理。
第四类是因为本来这些元素就不是 HTML 里的标准元素,而是浏览器厂商自行实现、约定俗成的。例如 applet,是早期浏览器支持 Java Web 的一种实现,现在这项技术早就已经不再被使用了,所以直接废弃掉。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)