html5和css3相较于过去的主要变化

HTML5 相较于之前的 HTML 版本(如 HTML 4.01)进行了许多重要的更新和改进,包括删除了一些过时的标签,增加了一些新的标签,以及对现有标签的增强。以下是 HTML5 中删除和增加的标签的详细列表:

删除的标签

在 HTML5 中,以下标签被认为是过时的,并且不再推荐使用:

  1. <font> - 用于设置字体样式。
  2. <center> - 用于居中对齐内容。
  3. <big> - 用于增大文本。
  4. <small> - 用于缩小文本。
  5. <strike> - 用于表示删除线文本。
  6. <tt> - 用于表示打字机字体。
  7. <u> - 用于下划线文本(在 HTML5 中,<u> 仍然存在,但其语义已改变,主要用于表示非语义的下划线)。
  8. <applet> - 用于嵌入 Java 小程序。
  9. <frame> 和 <frameset> - 用于创建框架布局。
  10. <isindex> - 用于创建单行输入框。
  11. <marquee> - 用于创建滚动文本。
  12. <blink> - 用于闪烁文本(不被所有浏览器支持)。

新增的标签

HTML5 引入了许多新的标签,以增强语义和功能,主要包括:

  1. 结构性标签
    • <header> - 定义文档的头部。
    • <footer> - 定义文档的底部。
    • <nav> - 定义导航链接的部分。
    • <article> - 定义独立的内容块。
    • <section> - 定义文档中的一个区域。
    • <aside> - 定义与主内容相关的侧边内容。
  2. 多媒体标签
    • <audio> - 用于嵌入音频内容。
    • <video> - 用于嵌入视频内容。
    • <track> - 用于为 <video> 和 <audio> 提供文本轨道(如字幕)。
  3. 图形和效果
    • <canvas> - 用于绘制图形和动画。
    • <svg> - 用于嵌入可缩放矢量图形。
  4. 表单控件
    • <input type="date"> - 日期选择器。
    • <input type="time"> - 时间选择器。
    • <input type="email"> - 电子邮件输入框。
    • <input type="url"> - URL 输入框。
    • <input type="range"> - 范围选择器。
    • <input type="color"> - 颜色选择器。
    • <datalist> - 提供输入建议的列表。
    • <output> - 用于显示计算结果。
  5. 其他标签
    • <progress> - 用于表示任务的进度。
    • <meter> - 用于表示测量的范围。

CSS3 相较于之前的 CSS 版本(如 CSS2.1)进行了显著的改进和扩展,增加了许多新特性和功能。以下是 CSS3 中的一些主要变化,包括新增的特性和功能,以及一些不再推荐使用的特性。

新增的特性和功能

  1. 选择器
    • 新增了许多选择器,如 :nth-child():nth-of-type():last-child:first-of-type:not():focus:hover 等。
  2. 盒模型
    • box-shadow - 为元素添加阴影效果。
    • text-shadow - 为文本添加阴影效果。
  3. 边框和背景
    • border-radius - 创建圆角边框。
    • linear-gradient 和 radial-gradient - 创建渐变背景。
    • background-size - 控制背景图像的大小。
  4. 布局
    • Flexbox - 提供了一种新的布局模型,使得在容器中对齐和分配空间变得更加简单。
    • Grid Layout - 允许创建复杂的二维布局。
  5. 过渡和动画
    • transition - 定义元素状态变化时的过渡效果。
    • animation - 创建复杂的动画效果。
  6. 多列布局
    • column-count 和 column-gap - 支持多列文本布局。
  7. 媒体查询
    • 媒体查询的增强,使得响应式设计变得更加容易,支持不同设备的样式调整。
  8. 自定义属性
    • CSS 变量(如 --my-variable)允许在样式表中定义和使用自定义属性。
  9. 新单位
    • 新增了 vh(视口高度)、vw(视口宽度)、vmin 和 vmax 单位,便于响应式设计。
  10. 文本效果
    • text-overflow - 控制文本溢出时的显示方式。
    • word-wrap 和 overflow-wrap - 控制文本换行。

删除或不再推荐使用的特性

虽然 CSS3 没有正式删除任何 CSS2.1 的特性,但一些特性被认为是不推荐使用的,主要是因为它们的功能可以通过 CSS3 的新特性实现,或者它们在现代浏览器中的支持不佳:

  1. <font> 标签 - 在 HTML 中使用 <font> 标签来设置字体样式已被 CSS 取代。
  2. <center> 标签 - 使用 CSS 的 text-align 属性来居中内容。
  3. <marquee> 标签 - 使用 CSS 动画或 JavaScript 替代。