kooboo

本文主要内容

字体上下标:<sub><sup>

HTML 废弃的字体标签:<b><strong><em><s><del><u>

超链接 <a>

假如想快速了解 a 链接的跳转,可以看这个示例:a 链接的内外跳转 & 空转

字体标签

特殊字符(转义字符)

  • &nbsp;:空格
  • &lt;:小于号<
  • &gt;:大于号>
  • &amp;:符号&
  • &quot;:双引号
  • &apos;:单引号
  • &copy;:版权©
  • &trade;:商标
  • &#32464;:文字。其实,#32464是汉字的unicode编码。

比如说,你想把<p>作为一个文本在页面上显示,直接写<p>是肯定不行的,因为这代表的是一个段落标签,所以这里需要用到转义字符

应该这么写:&lt;p&gt; 这样<p>就可以作为文本显示,而不是作为段落标签来解析。

正确的效果如下:

错误的效果如下:

其实我们只要记住前三个符号就行了,其他的在需要的时候查一下就行了。而且,EditPlus软件中是可以直接点击这些符号进行选择的:

Paste_Image.png

来一张表格,方便需要的时候查询:

特殊字符 描述 字符的代码
空格符
< 小于号 <
> 大于号 >
& 和号 &
人民币 ¥
© 版权 ©
® 注册商标 ®
° 摄氏度 °
± 正负号 ±
× 乘号 ×
÷ 除号 ÷
² 平方2(上标2) ²
³ 立方3(上标3) ³

上标<sup>、下标<sub>

上小标这两个标签容易混淆,怎么记呢?这样记:b的意思是bottom:底部 举例:

O<sup>2</sup>    5<sub>3</sub>

效果:

HTML 废除的字体标签

HTML 现在只负责语义,而不负责样式。所以早前那些包含样式的标签,因为干涉到 css 的样式声明,都已经被废弃。 虽然仍然可以生效,但不推荐这么用。

比如:字体( <font>)、加粗(<b><strong>)、下划线(<u>)、斜体(<i>)、用斜体表示强调( <em>)、删除线(<del>

<font size="9" color="red">哈哈</font>
<b>加粗</b>  
<strong>加粗</strong>
<u>下划线</u>   
<i>倾斜</i>  
<em>倾斜,表示强调</em>   
<del>删除线</del>

这些标签都是 css 钩子,而不是纯粹的语义标签。比如:

  • <b><strong> 等价于 font-weight: bod;
  • 倾斜可以用 font-style: italic; 或者 font-style: oblique; 实现
  • 删除线可以用 text-decoration: line-through; 实现

超链接 <a>

这里有个示例有趣的 a 链接跳转

<a> 是英语 anchor 的缩写,意思是“锚”,是一个文本级的标签。

超链接需要关注的属性有:href、target。

超链接有三种作用:(1)跳转外部页面;(2)跳转内部锚点;(3)跳转邮箱或电话。

href 属性:跳转外部/内部锚点

href:即 hyper reference(超链接),可以引入一个地址作为点击 <a> 后跳转的锚点。

跳转外部锚点

<a href="http://www.baidu.com" target="_blank">点击跳转到百度</a>
<a href="x.html">点击进入 “x.html” 文件</a>

跳转内部锚点

比如网页上的一个常见效果:在网页底部有一个按钮/链接,点击后回到页面顶部

首先我们要创建一个锚点,也就是说,使用 name 属性或者 id 属性给那个特定的位置起个名字:我们给 <p> 标签设置了 name="n1",然后在页面底部设置 <a href="#n1">,表示跳转到设置了name="n1" 的标签所在位置。

那么,点击这个链接就会回到顶部 <p> 标签所在的位置(此时,网页的 url 末尾也出现了 #n1)。

name 属性是 HTML4.0 以前使用的,id 属性是 HTML4.0 后才开始使用。为了向前兼容,name 和 id 这两个属性都要写上,并且值是一样的。

注意 href 不能少了 #,否则点击后不是跳转内部锚点,而是跳转 n1 文件。

跳转邮箱、手机号等

<a href="mailto:xxx@163.com">点击进入我的邮箱</a>
<a href="tel:手机号">点击打电话</a>

伪协议实现空跳转

href 使用伪协议可以实现空跳转,且不改变页面内容 (产品经理的古怪需求:点击链接,啥都不发生)

假如 href="" 或者 href="#",也可以空跳转,但是会改变页面内容。前者点击链接,空跳转时会刷新页面,比如会导致 input 输入框的内容消失;后者会回滚到当前页面顶部。

所以,最合适的方案是使用伪协议:

<a href="javascript:;">点击后空转,什么都不发生,也不影响页面</a>

target 属性:指定窗口来打开页面

(1)可选值: _self 在当前页面打开(默认值)该链接 _blank 新建空白页面 (浏览器窗口) 打开该链接 _top 最顶层窗口打开 _parent 在父窗口打开

页面可以通过iframe标签 (内嵌窗口,现在已经很少用了) 引入另一个页面

<iframe src="html文件路径" frameborder="0"></iframe>

(2)程序员自定义的值

f12打开控制台,输入 window.name 可以查看当前页面的 name

<a href="//baidu.com" target="xxx">百度</a>

若有窗口名为 xxx,则以 xxx 窗口打开百度,否则创建新窗口打开百度,并把该窗口命名为xxx(通过这种方式,可以使多个页面链接始终在同个窗口打开)。

title 属性:悬停时显示文本

title 其实是 HTML 标签的全局属性,所有标签都能用,表示鼠标悬停时显示的文本内容用作提示。

<a href="//baidu.com" title="百度">点击后跳转百度</a>

<a> 标签的包裹问题

<a> 标签是一个文本标签,里面只能放文字、表单、图片。

假如想让同一片内容都能被点击,比如想让点击图片和文字都可以跳转页面,那应该让 <a> 标签包裹它们:

<a href="//baidu.com">
    <img src="cat.jpg" />
    百度
</a>

但是,<a>的语义要小于<p>

比如让一个段落中的所有文字都能够被点击,那么应该是<p>包裹<a>,而不是<a>包裹<p>

<p>
    <a href="">段落段落段落段落段落段落</a>
</p>