当前位置: 首页 > news >正文

HTML5 vs HTML 和 CSS3 vs CSS:全面对比

HTML5 与 HTML

HTML 概述

HTML (HyperText Markup Language) 是构建网页的标准标记语言。HTML 经历了多个版本的发展:

  1. HTML 2.0 (1995年):最早的标准化版本

  2. HTML 4.01 (1999年):增加了样式表支持

  3. XHTML (2000年):基于XML的更严格版本

  4. HTML5 (2014年正式发布):现代网页标准

HTML5 的主要特点

  1. 语义化标签:引入了更具描述性的元素

  2. 多媒体支持:原生支持音频和视频

  3. 图形支持:Canvas 和 SVG

  4. 本地存储:localStorage 和 sessionStorage

  5. 设备访问:地理位置API、摄像头访问等

  6. 更好的表单控制:新的输入类型和属性

HTML5 独有的重要标签和属性

语义化标签
<header>定义文档或节的页眉</header>
<nav>定义导航链接</nav>
<section>定义文档中的节</section>
<article>定义独立的自包含内容</article>
<aside>定义内容之外的内容(如侧边栏)</aside>
<footer>定义文档或节的页脚</footer>
<main>定义文档的主要内容</main>
<figure>和<figcaption>定义图像及其标题</figure>
多媒体标签
<video src="movie.mp4" controls></video>
<audio src="music.mp3" controls></audio>
图形标签
<canvas id="myCanvas" width="200" height="100"></canvas>
<svg width="100" height="100">
  <circle cx="50" cy="50" r="40" stroke="green" fill="yellow" />
</svg>
表单增强
<input type="email" name="user_email">
<input type="url" name="user_url">
<input type="number" name="quantity" min="1" max="10">
<input type="range" name="points" min="0" max="10">
<input type="date" name="bday">
<input type="color" name="favcolor">
<input type="search" name="googlesearch">
<input type="tel" name="usrtel">
新属性
<input placeholder="请输入内容">
<input required>
<input autofocus>
<input pattern="[A-Za-z]{3}">
<video controls autoplay loop muted>
<div contenteditable="true">可编辑内容</div>

CSS3 与 CSS

CSS 概述

CSS (Cascading Style Sheets) 是用于描述HTML文档样式的语言。CSS 经历了多个版本:

  1. CSS1 (1996年):基础样式功能

  2. CSS2 (1998年):定位、媒体类型等

  3. CSS2.1 (2011年):修正CSS2

  4. CSS3 (模块化发布):引入众多新特性

CSS3 的主要特点

  1. 模块化结构:不同功能分成独立模块

  2. 圆角边框:border-radius

  3. 阴影效果:box-shadow 和 text-shadow

  4. 渐变:线性渐变和径向渐变

  5. 过渡和动画:transition 和 animation

  6. 媒体查询:响应式设计基础

  7. 多列布局:column-count

  8. 弹性盒子:Flexbox

  9. 网格布局:Grid

  10. 变换:transform

CSS3 独有的重要属性和功能

选择器增强
/* 属性选择器 */
input[type="text"] { ... }

/* 伪类 */
a:hover { ... }
li:nth-child(odd) { ... }
input:checked { ... }

/* 伪元素 */
p::first-line { ... }
p::before { content: "→"; }
边框和背景
/* 圆角 */
border-radius: 10px;

/* 阴影 */
box-shadow: 5px 5px 5px #888;
text-shadow: 2px 2px 2px #000;

/* 多重背景 */
background: url(img1.png) top left no-repeat, 
            url(img2.png) bottom right no-repeat;
渐变
/* 线性渐变 */
background: linear-gradient(to right, red, yellow);

/* 径向渐变 */
background: radial-gradient(red, yellow, green);
过渡和动画(重点噢噢噢!!!!)
/* 过渡 */
transition: width 2s, height 2s, transform 2s;

/* 动画 */
@keyframes example {
  from {background-color: red;}
  to {background-color: yellow;}
}
animation: example 4s infinite;
变换
transform: rotate(30deg);
transform: scale(1.5);
transform: translate(50px, 100px);
transform: skew(20deg, 10deg);
弹性盒子(Flexbox)
.container {
  display: flex;
  justify-content: center;
  align-items: center;
}
网格布局(Grid)
.container {
  display: grid;
  grid-template-columns: auto auto auto;
  grid-gap: 10px;
}
媒体查询
@media screen and (max-width: 600px) {
  body {
    background-color: lightblue;
  }
}

HTML2 的标签和属性

HTML2.0 是一个非常基础的版本,只包含最基本的标签:

<html>
<head>
<title>文档标题</title>
</head>
<body>
<h1>到<h6>标题</h1>
<p>段落</p>
<a href="url">链接</a>
<img src="image.gif" alt="图片">
<ul>, <ol>, <li>列表
<dl>, <dt>, <dd>定义列表
<pre>预格式化文本</pre>
<blockquote>引用</blockquote>
<address>地址</address>
<hr>水平线
<br>换行
<em>强调</em>
<strong>更强强调</strong>
<code>代码</code>
<samp>示例输出</samp>
<kbd>键盘输入</kbd>
<var>变量</var>
<cite>引用</cite>

HTML2.0 几乎没有样式属性,所有样式都是通过内容的结构来暗示的。

总结对比

HTML5 vs HTML4

特性HTML5HTML4
语义化标签
多媒体支持原生支持需要插件
图形支持Canvas/SVG有限
本地存储localStoragecookie
表单控件丰富有限
设备API多种API

CSS3 vs CSS2

特性CSS3CSS2
圆角边框支持不支持
阴影效果支持不支持
渐变支持不支持
过渡动画支持不支持
媒体查询支持不支持
弹性盒子支持不支持
网格布局支持不支持
变换支持不支持
http://www.dtcms.com/a/112397.html

相关文章:

  • Spring Boot 中使用 Redis:从入门到实战
  • Websoft9分享:在数字化转型中选择开源软件可能遇到的难题
  • 神经网络能不能完全拟合y=x² ???
  • WinForm真入门(7)——Button控件详解
  • 京东运维面试题及参考答案
  • k8s进阶之路:本地集群环境搭建
  • 谷歌 Gemini 2.5 Pro 免费开放
  • 24、 Python Socket编程:从协议解析到多线程实战
  • 如何完整迁移 Git 仓库 ?
  • yum list查询时部分包查找不到流程分析
  • 54.大学生心理健康管理系统(基于springboot项目)
  • 有人DTU使用MQTT协议控制Modbus协议的下位机-含数据库
  • Redis分布式锁详解
  • AWS Langfuse AI用Bedrock模型使用完全教程
  • 【万字总结】前端全方位性能优化指南(八)——Webpack 6调优、模块联邦升级、Tree Shaking突破
  • 安卓离线畅玩的多款棋类单机游戏推荐
  • 【leetcode100】动态规划Java版本
  • Debezium日常分享系列之:Debezium 3.1.0.Final发布
  • 什么是量子计算?
  • 【代码艺廊】pyside6桌面应用范例:homemade-toolset
  • 如何实现浏览器中的报表打印
  • Pytorch使用GPU、CUDA安装步骤注意事项
  • Redis 中 Set(例如标签) 和 ZSet(例如排行榜) 的详细对比,涵盖定义、特性、命令、适用场景及总结表格
  • CSS 创建与使用学习笔记
  • 室内指路机器人是否支持环境监测功能?
  • 【数据分享】2002-2023中国湖泊水位变化数据集(免费获取)
  • 【数据结构】树的介绍
  • k8s的pod的概述和配置
  • Vue 未编译模板闪现现象解说
  • Spring Boot 与 TDengine 的深度集成实践(二)