html中pre使⽤⽅法,HTML中pre标签的⽤法
我们经常会在要保持⽂本格式的时候使⽤pre标签,⽐如当我们要展⽰源代码的时候,只要放⼀个pre标签,然后把源代码直接复制,粘贴,然后在页⾯上就可以保持好格式。不会像放在其它标签⾥那样,把换⾏和空格都⾃动折叠了。这⾥看⼀下pre是如何⼯作的呢?
pre标签
HTML⾥的pre元素,可定义预格式化的⽂本。在pre元素中的⽂本会保留空格和换⾏符。⽂本显现为等宽字体。
下⾯我们看⼀个⽰例,这⾥我使⽤的是⼀段css代码,你也可以换成其它的。如下:
当我们⽤pre包裹它们时
会在浏览器上直接得到
可以看出上⾯的tab,空格,换⾏都完整的保留下来了。
我们可以把这段css代码放到其它元素下,如得到下⾯的图。
很完美,以后就可以⽤pre来标识代码了。哪⾥想⽤放哪⾥,但这⾥还有⼀些可以优化。
语义化
pre元素并不能代码放⼊,⾥⾯的内容是什么,可以是歌词,可以是代码,可以是其它⽂本。当pre元素来展⽰源代码的时候最好的⽅式是⽤code元素来包裹代码,这样既可以保持格式⼜可以代表语义,⼀举数得。如上⾯的代码可以改写为:
嵌套html其它标签
pre中最好不要包含可以导致段落断开的标签(如:p,标题),虽然主流浏览器对此解析没有问题,但最好不要这样使⽤。存在着语义不明的情况,⽐如⽆法判断是想显⽰结构的不同展⽰,还是想把标签作为代码的⼀部分显⽰,最好对这⾥只包含代码⽂本,对于标签进⾏转义如'>'对应'>'。
pre元素中允许的⽂本可以包括物理样式和基于内容的样式变化,还有链接、图像和⽔平分隔线。当把其它标签放到pre块中时,会被直接渲染为正常元素。
⽰例如下:
显⽰出来样式如下:
问题
⽂本过长时,溢出
如果我们在pre⾥放置的⽂本过长,中间也没有换⾏,由于pre会保持⽂本的格式,导致⽂本溢出。
演⽰如下:
浏览器中的表现
解决⽅法1:给pre标签定义横向滚动条
解决⽅法2:使⽤text-wrapping
直接定义pre标签⾥的css属性white-space的值为pre-wrap。
渲染html元素
上⾯已经提到过,html元素会在pre标签中直接被解析。如果我们想显⽰这些标签,只要把这些特殊符号转换为符号实体,就可以了。如:"" 代表 ">"。
也可以使⽤⼀些线上的⼯具去完成这个转义的过程,这⾥可以百度⼀下,随便了⼀个截了个图
意外的空格
有时候我们把代码直接复制到页⾯时,编辑器会给我们⾃动缩进对齐,这⾥其实是很好的,但这⾥遇到pre标签就有⿇烦了,⽐如:
结果效果如下:
建议使⽤下⾯的形式来对代码进⾏排版。
扩展
定义⼀下tab的⼤⼩
但这个IE浏览器⽀持情况不太好。视情况来选择吧。
使⽤等宽字体
可以⽅便排版,看起来⽐较舒服。
使⽤语法⾼亮
这个要借助⼀些库来完成,⽐如highlight.js,具体怎么使⽤,⼤家百度吧。
总结
上⾯的这些只是⼀些⼩的总结,如果有什么其它⽅式的应⽤,或这⾥没提到的⿊科技,⼤家可以在评论⾥提出来,⼀起讨论。
我们经常会在要保持⽂本格式的时候使⽤pre标签,⽐如当我们要展⽰源代码的时候,只要放⼀个pre标签,然后把源代码直接复制,粘贴,然后在页⾯上就可以保持好格式。不会像放在其它标签⾥那样,把换⾏和空格都⾃动折叠了。这⾥看⼀下pre是如何⼯作的呢?
pre标签
HTML⾥的pre元素,可定义预格式化的⽂本。在pre元素中的⽂本会保留空格和换⾏符。⽂本显现为等宽字体。
下⾯我们看⼀个⽰例,这⾥我使⽤的是⼀段css代码,你也可以换成其它的。如下:
当我们⽤pre包裹它们时
会在浏览器上直接得到
可以看出上⾯的tab,空格,换⾏都完整的保留下来了。
我们可以把这段css代码放到其它元素下,如得到下⾯的图。
很完美,以后就可以⽤pre来标识代码了。哪⾥想⽤放哪⾥,但这⾥还有⼀些可以优化。
语义化
pre元素并不能代码放⼊,⾥⾯的内容是什么,可以是歌词,可以是代码,可以是其它⽂本。当pre元素来展⽰源代码的时候最好的⽅式是⽤code元素来包裹代码,这样既可以保持格式⼜可以代表语义,⼀举数得。如上⾯的代码可以改写为:html横向滚动条样式
嵌套html其它标签
pre中最好不要包含可以导致段落断开的标签(如:p,标题),虽然主流浏览器对此解析没有问题,但最好不要这样使⽤。存在着语义不明的情况,⽐如⽆法判断是想显⽰结构的不同展⽰,还是想把标签作为代码的⼀部分显⽰,最好对这⾥只包含代码⽂本,对于标签进⾏转义如'>'对应'>'。
pre元素中允许的⽂本可以包括物理样式和基于内容的样式变化,还有链接、图像和⽔平分隔线。当把其它标签放到pre块中时,会被直接渲染为正常元素。
⽰例如下:
显⽰出来样式如下:
问题
⽂本过长时,溢出
如果我们在pre⾥放置的⽂本过长,中间也没有换⾏,由于pre会保持⽂本的格式,导致⽂本溢出。
演⽰如下:
浏览器中的表现
解决⽅法1:给pre标签定义横向滚动条
解决⽅法2:使⽤text-wrapping
直接定义pre标签⾥的css属性white-space的值为pre-wrap。
渲染html元素
上⾯已经提到过,html元素会在pre标签中直接被解析。如果我们想显⽰这些标签,只要把这些特殊符号转换为符号实体,就可以了。如:"" 代表 ">"。
也可以使⽤⼀些线上的⼯具去完成这个转义的过程,这⾥可以百度⼀下,随便了⼀个截了个图
意外的空格
有时候我们把代码直接复制到页⾯时,编辑器会给我们⾃动缩进对齐,这⾥其实是很好的,但这⾥遇到pre标签就有⿇烦了,⽐如:
结果效果如下:
建议使⽤下⾯的形式来对代码进⾏排版。
扩展
定义⼀下tab的⼤⼩
但这个IE浏览器⽀持情况不太好。视情况来选择吧。
使⽤等宽字体
可以⽅便排版,看起来⽐较舒服。
使⽤语法⾼亮
这个要借助⼀些库来完成,⽐如highlight.js,具体怎么使⽤,⼤家百度吧。
总结
上⾯的这些只是⼀些⼩的总结,如果有什么其它⽅式的应⽤,或这⾥没提到的⿊科技,⼤家可以在评论⾥提出来,⼀起讨论。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。