HTML常见标签2

1. 列表

在网页上,有很多的有相同样式的项组成的大的整体,叫列表。

列表中的每一项样式都相同(大部分情况)

有些列表有顺序,比如1,2,3,4,5

有些列表没有顺序。这两种列表就叫有序列表和无序列表

应用场景

1.1. 有序列表

使用的标签是ol每个列表中都由列表项,而列表项用li表示。列表是我们学习的第一个需要组合使用的标签

<ol>
  <li>内容1</li>
  <li>内容2</li>
  <li>内容3</li>
  <li>内容4</li>
  <li>内容5</li>
</ol>

1.2. 无序列表

使用标签ul表示无序列表,无序列表也需要通过li表示列表项

<ul>
  <li>内容1</li>
  <li>内容2</li>
  <li>内容3</li>
  <li>内容4</li>
  <li>内容5</li>
</ul>

无序列表没有顺序,可以使用这样的方式来表示一个无序列表。

未来遇到网页中的列表,我们要使用哪一个,是无所谓的,因为列表如果使用都会把标号给清除的,大部分的网页上都使用的是ul

作业

完成下面列表的一个写法

1.3. 自定义列表

自定义列表就是一个列表标题加列表项的样式。通常网站底部的相关链接信息可以使用自定义列表完成。

我们使用dl包裹dtdd来完成对应的自定义列表的布局

<dl>
  <dt>列表标题</dt>
  <dd>列表项</dd>
  <dd>列表项</dd>
  <dd>列表项</dd>
  <dd>列表项</dd>
  <dt>列表标题</dt>
  <dd>列表项</dd>
  <dd>列表项</dd>
  <dd>列表项</dd>
  <dd>列表项</dd>
</dl>

<dl>
  <dt>列表标题</dt>
  <dd>列表项</dd>
  <dd>列表项</dd>
  <dd>列表项</dd>
  <dd>列表项</dd>
  <dt>列表标题</dt>
  <dd>列表项</dd>
  <dd>列表项</dd>
  <dd>列表项</dd>
  <dd>列表项</dd>
</dl>

2. Emmet

这是一个工具,几乎上主流的编辑器都支持,提高我们写标签和未来写CSS的速度。VSCode中想要更好用,就要去设置

本质上,我们在VSCode中输入标签按tab直接展开成对应的标签结构的这个做法,就是利用了emmet。

如何才能使用emmet实现复杂结构的展开呢?

2.1. 基础的展开操作

2.1.1. 普通标签的展开

输入标签,直接按tab就能展开我们对应的标签

2.1.2. 如果要生成多个

输入标签,然后*数量,就可以生成对应的标签数量

p*10

2.1.3. 生成标签的同时生成内容

内容使用{}包裹,{}在谁后面,就生成到谁里面

p{内容}

2.1.3.1. 生成内容的差异化

可以在{}中使用$$会自动根据我们生成的数量变成1-数量的数字。

p{内容$}*3

Abbreviations Syntax

2.1.4. 生成属性

使用 [] 可以生成对应的标签的属性

a[href="#"]{超链接}
a[href="#" target="_blank"]{超链接}

2.2. 元素关系

父子

<ul>
  <li>
    <a></a>
  </li>
</ul>
  • ul和li是父子关系
  • li和a是父子关系

同胞

<ul>
  <li></li>
  <li></li>
</ul>
  • 两个li是同胞

2.2.1. 父子关系展开

父子关系要用>表示,例如:我们想要生成无序列表 ul>li

<!-- ul>li -->
<ul>
  <li></li>
</ul>

结合上面的基础操作

ul>li{列表项$}*10

如果要生成ul下10个li,每个li里都有a标签

ul>li*10>a[href="#"]{超链接}

2.2.2. 同胞关系展开

<!-- a+p -->
<a></a>
<p></p>

如果我们的同胞关系要重复多次,则使用()包裹

(a+p)*2

主要的我们需要了解的是,父子并且能够生成多个

3. 表格

表格所使用的标签为table,表格中包含了行和列。

如果我们想要生成一个表格,需要至少用到以下标签

  • table 表示一个完整的表格
    • tr 表示一行
      • td 表示单元格
      • th 表头中的单元格

技巧:如果我们想要生成一个x行y列的表格,我们直接写

table>tr*x>td*y

然后按tab即可快速生成

<table>
    <tr>
      <td>第1行第1列</td>
      <td>第1行第2列</td>
      <td>第1行第3列</td>
      <td>第1行第4列</td>
      <td>第1行第5列/td>
      <td>第1行第6列</td>
    </tr>
    <tr>
      <td>第2行第1列</td>
      <td>第2行第2列</td>
      <td>第2行第3列</td>
      <td>第2行第4列</td>
      <td>第2行第5列/td>
      <td>第2行第6列</td>
    </tr>
</table>

表格上大部分的属性都已经废弃了,因为HTML5推荐:能用CSS实现的就不要在用属性了。

那我们的样式怎么办

3.1. 样式设置

我们先提供一个表格通用样式,如果会的同学,自己写。如果不会就直接把下面的代码,复制到,你的网页代码中的head标签中

<style>
  table {
    border-collapse: collapse;
  }

  td, th {
    border: 1px solid #aaa;
    padding: 10px;
  }
</style>

3.2. 标签

3.2.1. table

表示一个完整的表格,需要借助内部的子元素实现表格的效果

<table></table>

3.2.2. tr

行标签,可以定义table中的行,有几行就写几个tr

<table>
  <tr></tr>
  <tr></tr>
  <tr></tr>
</table>

3.2.3. td

单元格标签,一行有几列,就写几个td

<table>
  <tr>
    <td></td>
    <td></td>
    <td></td>
  </tr>
</table>

3.2.4. th

表头中的单元格,表头一般定义在第一行中。

<table>
  <tr>
    <th></th>
    <th></th>
    <th></th>
  </tr>
</table>

3.2.5. thead tbody tfoot

表格有三个部分,分别是表头(thead)、主体(tbody)、脚注(tfoot)。一般我们不需要专门去写这些标签,如果不写,浏览器会自动把所有的行都添加到tbody中。

注意!!!tr不是table的子元素!!!是tbody thead tfoot的子元素。如果我们没有写对应的结构元素,tr自动被放在tbody里。

3.2.6. caption

用于定义表格的标题,我们可以更灵活的div+css的方式实现表格标题

<table>
  <caption>表格标题</caption>
</table>

3.2.7. colgroup col

这两个标签结合可以定义列的样式,很方便。

<table>
  <colgroup>
    <col></col>
    <col></col>
    <col></col>
  </colgroup>
  <tr>
    <th></th>
    <th></th>
    <th></th>
  </tr>
</table>

未来学习CSS后,定义col的样式,就可以实现对应列的样式改变。主要目的是为了方便对列进行操作。

<table>
  <colgroup>
    <col style="background: red;">
    <col style="background: darkblue;">
    <col style="background: darkgoldenrod;">
    <col style="background: firebrick;">
    <col style="background: violet;">
  </colgroup>
  <tr>
    <td>单元格1</td>
    <td>单元格2</td>
    <td>单元格3</td>
    <td>单元格4</td>
    <td>单元格5</td>
  </tr>
  <tr>
    <td>单元格1</td>
    <td>单元格2</td>
    <td>单元格3</td>
    <td>单元格4</td>
    <td>单元格5</td>
  </tr>
</table>

3.3. 跨列

如果一个td占多列,则需要添加colspan属性,属性值为几,则占几列

<td colspan="2">单元格3</td>

注意!!!!每个td默认的colspan是1,最后只要我们能让每一行的colspan的总和相同,就能保证表格是完整。

3.4. 跨行

跨行操作,会影响其他行的列的布局,会把其他行的单元格往右挤。导致单元格出现在表格的外面,谁出来,删除谁。

我们就应该在代码中,找到第八个tr,然后删除最后两个td

4. 换行 分割线

4.1. br

br标签进行换行操作,这个标签会用到但是不常用。

文字<br>文字

4.2. hr

可以在网页上展示一个分割线,这个分割线会和父元素一样宽。

<hr>

通常情况下,网页上的看似像分割线的东西一般都是边框实现的

5. 字符实体

在网页上有很多的字符实体

5.1. 空格渲染的问题

在网页上多个空格只能渲染成一个空格。想要同时连续的有多个空格。可以使用&nbsp;

文&nbsp;&nbsp;&nbsp;字

5.2. 页面上展示标签

&lt;p&gt;&lt;/p&gt;

会被渲染成<p></p>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值