为了账号安全,请及时绑定邮箱和手机立即绑定

为什么中间不管是写在pre内或单独的code里都没用?

http://img1.sycdn.imooc.com//5739825b0001f43c07780468.jpg

<!DOCTYPE HTML>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>pre标签的使用</title>

</head>

<body>

<pre>

    var message="欢迎";

    for(var i=1;i<=10;i++)

    {

        alert(message);

    }

<address>本文的作者:<a href="mailto:lilian@imooc.com">lilian</a></address>

</pre>

<code><address>本文的作者:<a href="mailto:lilian@imooc.com">lilian</a></address></code>

</body>

</html>


正在回答

10 回答

pre 元素可定义预格式化的文本。被包围在 pre 元素中的文本通常会保留空格和换行符。而文本也会呈现为等宽字体。

<pre> 标签的一个常见应用就是用来表示计算机的源代码。

可以导致段落断开的标签(例如标题、<p> 和 <address> 标签)绝不能包含在 <pre> 所定义的块里。尽管有些浏览器会把段落结束标签解释为简单地换行,但是这种行为在所有浏览器上并不都是一样的。

pre 元素中允许的文本可以包括物理样式和基于内容的样式变化,还有链接、图像和水平分隔线。当把其他标签(比如 <a> 标签)放到 <pre> 块中时,就像放在 HTML/XHTML 文档的其他部分中一样即可。请看下面的例子:

<pre>
&lt;html&gt;

&lt;head&gt;
 &lt;script type=&quot;text/javascript&quot; src=&quot;loadxmldoc.js&quot;&gt;
&lt;/script&gt;
&lt;/head&gt;

&lt;body&gt;

 &lt;script type=&quot;text/javascript&quot;&gt;
   xmlDoc=<a href="dom_loadxmldoc.asp">loadXMLDoc</a>(&quot;books.xml&quot;);
   document.write(&quot;xmlDoc is loaded, ready for use&quot;);
 &lt;/script&gt;

&lt;/body&gt;

&lt;/html&gt;
</pre>

在上面的代码中,<pre> 标签中的特殊符号被转换为符号实体,比如 "&lt;" 代表 "<","&gt;" 代表 ">"。另外,请注意蓝色的代码,我们在 <pre> 标签中使用了链接,也就是 <a> 标签。上面这段代码的显示效果如下:

<html>

<head>
 <script type="text/javascript" src="loadxmldoc.js">
</script>
</head>

<body>

 <script type="text/javascript">
   xmlDoc=loadXMLDoc("books.xml");
   document.write("xmlDoc is loaded, ready for use");
 </script>

</body>

</html>


0 回复 有任何疑惑可以回复我~
#1

sanzi1 提问者

虽然不是很明白。但还是谢谢大神
2016-05-16 回复 有任何疑惑可以回复我~
#2

qyy2499760117_叶子 回复 sanzi1 提问者

就是说<p>标签和<address>标标签不能放在<pre>标签里,放了就没效果了。
2016-05-16 回复 有任何疑惑可以回复我~
#3

sanzi1 提问者 回复 qyy2499760117_叶子

那假如我要在某个网页上展示这段代码要怎么写呢?
2016-05-16 回复 有任何疑惑可以回复我~

只保留空格和换行符

0 回复 有任何疑惑可以回复我~

单行代码用<code>标签

多行代码用<pre>标签,被包围在 pre 元素中的文本通常会保留空格和换行符。

你可以用css里的text-align试试


0 回复 有任何疑惑可以回复我~

补充下<!DOCTYPE HTML>是HTML5的使用方式,所以你在meta标签中的http-equiv="Content-Type" content="text/html; 是多余的

0 回复 有任何疑惑可以回复我~
#1

whaike

错了0.0
2016-05-16 回复 有任何疑惑可以回复我~

新手,我也奇怪,按意思是套在pre里的代码应该只是文本而已,怎么这里套在里面的address标签还有效果呢?

0 回复 有任何疑惑可以回复我~

pre的作用已经体现了吧  你把pre删除了就会看见代码都跑到同一行去了,pre加上之后就保持了你在编辑器中看到的格式

0 回复 有任何疑惑可以回复我~

<pre>应该用在这段代码的开头和结尾上,不用单独成行,直接加上去就可以了。就像这样

<pre>var message="欢迎";

for(var i=1;i<=10;i++)<br>

{<br>

    alert(message); <br>

}<br></pre>

至于原因,还是请高手前来讲解,我只知道这么用是对的

0 回复 有任何疑惑可以回复我~

引用 http://www.w3school.com.cn/tags/tag_pre.asp 一句,如下:

可以导致段落断开的标签(例如标题、<p> 和 <address> 标签)绝不能包含在 <pre> 所定义的块里。尽管有些浏览器会把段落结束标签解释为简单地换行,但是这种行为在所有浏览器上并不都是一样的。

1 回复 有任何疑惑可以回复我~

问题表述不清

0 回复 有任何疑惑可以回复我~

没看懂问题

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么中间不管是写在pre内或单独的code里都没用?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号