HTML空格代码


HTML空白

HTML

<h1>HTML空白</h1>

<p>     开始    中间  &#x0020; &#x0009;  <span> </span>    <span></span>

                                  &#x000A; &#x000D;    结尾     </p>

<h2>控制空白的抵消情况</h2>

<p>开始<span class="border">  中间 </span> 结尾<em>——在元素内</em></p>

<p>开始 <span class="border"> 中间</span>  结尾<em>——在元素外</em></p>

<h2>在标签中嵌入空白</h2>

 <p>开始<span

          class

           =

            "spaced"

             >中间</span

              >结尾</p>

<h2>嵌入空白实体</h2>

<code>&amp;zwnj;   </code><span class="border">&zwnj;</span>    &nbsp;

<code>&amp;thinsp; </code><span class="border">&thinsp;</span>  &nbsp;

<code>&amp;nbsp;   </code><span class="border">&nbsp;</span>    &nbsp;

<code>&amp;ensp;   </code><span class="border">&ensp;</span>    &nbsp;

<code>&amp;emsp;   </code><span class="border">&emsp;</span>    &nbsp;

CSS

em { padding-left:50px; }

p { font-family:monospace; font-size:18px; }

*.border { font-weight:bold;

  border-left:2px solid black; border-right:2px solid black; }

HTML空白

问题

需要通过在标记中使用空白来为代码提高可读性,但是不希望空白影响对文档的解析。

解决方案

浏览器会消除同一行中重复的空白。这让你可以在代码中插入额外的空格、制表位、换行和回车来提高它的可读性,但是不会显示在解析后的文档中。

浏览器只把以下字符当作空白进行解析:空格(&#x0020;)、制表位(&#x0009;)、换行(&#x000A;)和回车(&#x000D;)。

空元素和只含有空白的元素并不会中断连续的空白。值得注意的是,在例子的第一段中,浏览器只会在“start”、“middle”和“end”之间产生一个空格,尽管在这几个词中有很多字符:空格、制表位、新行、断行、空白实体、一个空的span和一个含有空白的span。

在连续的空白字符中,第一个空白字符决定了被移除的空白的位置与样式。换句话说,浏览器解析被移除的空白时,会给第一个空白字符赋予font- family、font-size、font-weight、line-height和letter- spacing。大字体、宽letter-spacing和高line-height会创建出更加宽而高的空白。因此,空白在HTML文档中的位置会决定它的宽和高的大小。

例子中的第二、三段展示了空白的位置决定了它是在元素内还是元素外被移除的。如果是在元素内被移除的,它会遵循元素的样式规则。因为空白会从右向左移除,所以可以通过在元素前放一个空白来移除元素前的其他空白。如果想移除元素内的空白,就必须去掉元素前面的所有空白,并且在元素内至少放一个空白。如果想在元素内保留空白,并且把它放在内容后面,只要在内容后紧跟一个空白就可以了。如果想去掉元素关闭标签后面的空白,就必须去掉元素内容后所有的空白,并在元素后插入一个空白。

可以把额外的空白放在开始和结束标签内,这并不会在内容中产生多余的空白。还能在开始标签的名字与它的属性之间插入额外的空白,属性名字、等号和值之间也可插入,或者它们与开始标签的大于号之间也可以插入。同理,也能在结束标签的名字和它的大于号之间插入额外的空白。第四段就是一个极端的例子,在标签中充满了大量的空白,但是内容中一个也没有。

空格实体

HTML 提供了5种空格实体(space entity),它们拥有不同的宽度。这些都不属于空白!非断行空格(&nbsp;)是常规空格的宽度,可运行于所有主流浏览器。其他几种空格(&zwnj;、&thinsp;、&ensp;和&emsp;)在不同浏览器中宽度各异。

保留

<pre>元素会保留其中的所有空白。

相关

分割、非包裹、保留空白、填充内容、内联空白、断行(详见第11章)。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值