0

0

简单介绍html 标签

黄舟

黄舟

发布时间:2017-07-08 10:58:55

|

1772人浏览过

|

来源于php中文网

原创

我们经常会在要保持文本格式的时候使用pre标签,比如当我们要展示源代码的时候,只要放一个pre标签,然后把源代码直接复制,粘贴,然后在页面上就可以保持好格式。不会像放在其它标签里那样,把换行和空格都自动折叠了。这里看一下pre是如何工作的呢?

pre标签

HTML里的pre元素,可定义预格式化的文本。在pre元素中的文本会保留空格和换行符。文本显现为等宽字体。
下面我们看一个示例,这里我使用的是一段css代码,你也可以换成其它的。如下:

body{
    background:#fff;
      font: 12px/24px 1.66;
}

当我们用pre包裹它们时

body{
    background:#fff;
      font: 12px/24px 1.66;
}

会在浏览器上直接得到
1464574926745[4]
可以看出上面的tab,空格,换行都完整的保留下来了。
我们可以把这段css代码放到其它元素下,如得到下面的图。
1464575037169[4]
很完美,以后就可以用pre来标识代码了。哪里想用放哪里,但这里还有一些可以优化。

语义化

pre元素并不能代码放入,里面的内容是什么,可以是歌词,可以是代码,可以是其它文本。当pre元素来展示源代码的时候最好的方式是用code元素来包裹代码,这样既可以保持格式又可以代表语义,一举数得。如上面的代码可以改写为:

立即学习前端免费学习笔记(深入)”;

body{
    background:#fff;
      font: 12px/24px 1.66;
}

嵌套html其它标签

pre中最好不要包含可以导致段落断开的标签(如:p,标题),虽然主流浏览器对此解析没有问题,但最好不要这样使用。存在着语义不明的情况,比如无法判断是想显示结构的不同展示,还是想把标签作为代码的一部分显示,最好对这里只包含代码文本,对于标签进行转义如'>'对应'>'。
pre元素中允许的文本可以包括物理样式和基于内容的样式变化,还有链接、图像和水平分隔线。当把其它标签放到pre块中时,会被直接渲染为正常元素。
示例如下:

[ti:凡人歌]
[ar:李宗盛]
[al:凡人歌]
[00:00](music)
[00:28]你我皆凡人,生在人世间;
[00:35]终日奔波苦,一刻不得闲;
[00:43]既然不是仙,难免有杂念;
[00:50]道义放两旁,利字摆中间。

显示出来样式如下:
1464577013316[4]

问题

文本过长时,溢出

如果我们在pre里放置的文本过长,中间也没有换行,由于pre会保持文本的格式,导致文本溢出。
演示如下:

[ti:凡人歌][ar:李宗盛][al:凡人歌][00:00](music)[00:28]你我皆凡人,生在人世间;[00:35]终日奔波苦,一刻不得闲;[00:43]既然不是仙,难免有杂念;[00:50]道义放两旁,利字摆中间。

浏览器中的表现
1464577279186[4]
解决方法1:给pre标签定义横向滚动条

pre{
  overflow:auto;
}

解决方法2:使用text-wrapping
直接定义pre标签里的css属性white-space的值为pre-wrap。

新秀B2C商城系统
新秀B2C商城系统

新秀B2C商城系统是一款简洁易用PHP商城系统。可免费下载使用,可用于商业用途,没有时效限制,除版权标识外,所有代码都允许修改。后台功能简介:1、商城设置:基本信息,配送方式,配送范围,支付方式,财务管理;2、商品管理:商品列表,添加商品,商品分类,商品品牌,商品属性;3、订单管理:订单列表,缺货登记;4、用户互动:用户管理,留言管理,评论管理,网站公告,在线客服,用户协议;5、文章管理:文章列表

下载
pre{
   white-space:pre-wrap;
}

渲染html元素

上面已经提到过,html元素会在pre标签中直接被解析。如果我们想显示这些标签,只要把这些特殊符号转换为符号实体,就可以了。如: "" 代表 ">"。

zuojiankuohaophpcnul class="main-list"youjiankuohaophpcn 
 zuojiankuohaophpcnliyoujiankuohaophpcnzuojiankuohaophpcna href="#"youjiankuohaophpcn藏新线才是最西藏的进、出线zuojiankuohaophpcn/ayoujiankuohaophpcnzuojiankuohaophpcn/liyoujiankuohaophpcn 
 zuojiankuohaophpcnliyoujiankuohaophpcnzuojiankuohaophpcna href="#"youjiankuohaophpcn藏新线才是最西藏的进、出线zuojiankuohaophpcn/ayoujiankuohaophpcnzuojiankuohaophpcn/liyoujiankuohaophpcn 
 zuojiankuohaophpcnliyoujiankuohaophpcnzuojiankuohaophpcna href="#"youjiankuohaophpcn藏新线才是最西藏的进、出线zuojiankuohaophpcn/ayoujiankuohaophpcnzuojiankuohaophpcn/liyoujiankuohaophpcn 
 zuojiankuohaophpcn/ulyoujiankuohaophpcn

也可以使用一些线上的工具去完成这个转义的过程,这里可以百度一下,随便找了一个截了个图
1464578419416[4]

意外的空格

有时候我们把代码直接复制到页面时,编辑器会给我们自动缩进对齐,这里其实是很好的,但这里遇到pre标签就有麻烦了,比如:

zuojiankuohaophpcnul class="main-list"youjiankuohaophpcn 
     zuojiankuohaophpcnliyoujiankuohaophpcnzuojiankuohaophpcna href="#"youjiankuohaophpcn藏新线才是最西藏的进、出线zuojiankuohaophpcn/ayoujiankuohaophpcnzuojiankuohaophpcn/liyoujiankuohaophpcn 
     zuojiankuohaophpcnliyoujiankuohaophpcnzuojiankuohaophpcna href="#"youjiankuohaophpcn藏新线才是最西藏的进、出线zuojiankuohaophpcn/ayoujiankuohaophpcnzuojiankuohaophpcn/liyoujiankuohaophpcn 
     zuojiankuohaophpcnliyoujiankuohaophpcnzuojiankuohaophpcna href="#"youjiankuohaophpcn藏新线才是最西藏的进、出线zuojiankuohaophpcn/ayoujiankuohaophpcnzuojiankuohaophpcn/liyoujiankuohaophpcn 
     zuojiankuohaophpcn/ulyoujiankuohaophpcn

结果效果如下:
1464579144453[4]

建议使用下面的形式来对代码进行排版。

第一行
//中间代码进行格式化
最后一行

扩展

定义一下tab的大小

pre{
  tab-size:2;
}

但这个IE浏览器支持情况不太好。视情况来选择吧。
1464579807589

使用等宽字体

可以方便排版,看起来比较舒服。

使用语法高亮

这个要借助一些库来完成,比如highlight.js,具体怎么使用,大家百度吧。

总结

上面的这些只是一些小的总结,如果有什么其它方式的应用,或这里没提到的黑科技,大家可以在评论里提出来,一起讨论。

相关文章

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
go语言 注释编码
go语言 注释编码

本专题整合了go语言注释、注释规范等等内容,阅读专题下面的文章了解更多详细内容。

32

2026.01.31

go语言 math包
go语言 math包

本专题整合了go语言math包相关内容,阅读专题下面的文章了解更多详细内容。

23

2026.01.31

go语言输入函数
go语言输入函数

本专题整合了go语言输入相关教程内容,阅读专题下面的文章了解更多详细内容。

16

2026.01.31

golang 循环遍历
golang 循环遍历

本专题整合了golang循环遍历相关教程,阅读专题下面的文章了解更多详细内容。

5

2026.01.31

Golang人工智能合集
Golang人工智能合集

本专题整合了Golang人工智能相关内容,阅读专题下面的文章了解更多详细内容。

6

2026.01.31

2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

268

2026.01.31

高干文在线阅读网站大全
高干文在线阅读网站大全

汇集热门1v1高干文免费阅读资源,涵盖都市言情、京味大院、军旅高干等经典题材,情节紧凑、人物鲜明。阅读专题下面的文章了解更多详细内容。

195

2026.01.31

无需付费的漫画app大全
无需付费的漫画app大全

想找真正免费又无套路的漫画App?本合集精选多款永久免费、资源丰富、无广告干扰的优质漫画应用,涵盖国漫、日漫、韩漫及经典老番,满足各类阅读需求。阅读专题下面的文章了解更多详细内容。

170

2026.01.31

漫画免费在线观看地址大全
漫画免费在线观看地址大全

想找免费又资源丰富的漫画网站?本合集精选2025-2026年热门平台,涵盖国漫、日漫、韩漫等多类型作品,支持高清流畅阅读与离线缓存。阅读专题下面的文章了解更多详细内容。

85

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.1万人学习

AngularJS教程
AngularJS教程

共24课时 | 3.2万人学习

CSS教程
CSS教程

共754课时 | 26.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号