Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

使用 SCRIPT 替代 XMP

  最近看到还有人在用 XMP 标签,有种穿越了的感觉。HTML5 中不是废除 XMP 标签了嘛?虽然目前浏览器依然可以兼容,但再这样用下去真的好吗?其实直接用 SCRIPT 标签就可以做到和 XMP 同样的效果,所以如果真有需求可以试着使用 SCRIPT,丢掉 XMP 吧。
  在写一些 demo 的时候总是希望将代码原原本本的显示出来,于是这时候最方便的做法就是用 XMP 标签。虽然 XMP 标签已经被废弃,不过在标准浏览器上我们可以使用 SCRIPT 标签将其 display 设置为非 none 来做同样的事情。比如下面这段代码: <meta charset="utf-8" />
<style>
script {
  border: 1px solid #e4e4e4;
  bacnground: #f5f5f5;
  padding: 1em;
  display: inline-block;
  white-space: pre;
  font-family: monospace;
}
</style>
<body>
<script type="text/plain">
<h1>这里的标签不会解析</h1>
<!--这里就连注释都不会解析-->
&amp; <- HTML 转义字符也不会解析
</script>
  由于使用了white-space: pre,所以上面的代码有个和 PRE 标签一样的毛病,尾部空行被吃掉,顶部空行被留下。这个问题的解决方法和 PRE 一样,把首行的高度设为 0 就行。 script:first-line {
  line-height:0;
}
  不过我还是不太推荐这么做,应该在书写上不留空行。这么解决的话,要不然不小心没留空行的话首行的内容就被隐藏了。
  嘛,这篇文章只是推荐使用 SCRIPT 替代 XMP 而已(如果真有这样的需求的话)。其实我想问的是真的会有这种需求吗?通常 PRE 就足以解决很多问题,而且还可以添加各种样式使代码高亮等,反正到目前为止我都没再正式项目中用过纯文本的显示功能,很难理解这种需求的必要性。。
网名:
3.84.186.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^