1. HTML5 的核心新特性
HTML5 引入了大量新元素、属性,旨在减少对第三方插件(如 Flash)的依赖,并更好地支持多媒体和图形内容。
1.1 语义化标签
HTML5 新增了一系列语义化标签,使文档结构更清晰,对搜索引擎和辅助技术更友好。
<!DOCTYPE html> <html> <head> <title>语义化示例</title> </head> <body> <header> <h1>网站标题</h1> <nav> <ul> <li><a href="#">首页</a></li> <li><a href="#">关于</a></li> </ul> </nav> </header> <main> <article> <h2>文章标题</h2> <p>文章内容...</p> </article> <aside>侧边栏</aside> </main> <footer>页脚信息</footer> </body> </html>主要标签包括:<header>,<nav>,<main>,<article>,<section>,<aside>,<footer>等。
1.2 多媒体支持
原生支持音频和视频,无需插件。
<!-- 视频 --> <video width="640" height="360" controls> <source src="movie.mp4" type="video/mp4"> 您的浏览器不支持 video 标签。 </video> <!-- 音频 --> <audio controls> <source src="audio.mp3" type="audio/mpeg"> 您的浏览器不支持 audio 标签。 </audio>1.3 图形与绘图
通过<canvas>元素和 Canvas API 可以进行动态的、脚本化的位图绘制,常用于游戏、图表等。
<canvas id="myCanvas" width="200" height="100"></canvas> <script> // 注意:script 标签仅用于示例,实际 CKEditor 输出中应避免,此处为代码块内容 var canvas = document.getElementById('myCanvas'); var ctx = canvas.getContext('2d'); ctx.fillStyle = 'green'; ctx.fillRect(10, 10, 150, 75); </script>此外,<svg>用于定义矢量图形。
1.4 表单增强
新增了多种输入类型和属性,提升了用户体验和开发效率。
- 新的输入类型:
email,url,number,range,date,color等。 - 新的表单属性:
placeholder(占位符),required(必填),autofocus(自动聚焦),pattern(正则验证)等。
<form> <label for="email">邮箱:</label> <input type="email" id="email" placeholder="name@example.com" required> <label for="volume">音量:</label> <input type="range" id="volume" min="0" max="100"> <input type="submit" value="提交"> </form>2. CSS3 的革命性功能
CSS3 将样式表模块化,引入了众多令人兴奋的特性,让视觉效果和布局控制达到了新的高度。
2.1 选择器进阶
CSS3 新增了强大的选择器,可以更精确地定位元素。
- 属性选择器:
input[type="text"] - 伪类选择器:
:nth-child(n),:not(selector) - 伪元素选择器:
::before,::after
/* 选择所有偶数行的列表项 */ li:nth-child(even) { background-color: #f2f2f2; } /* 为所有链接添加一个箭头图标 */ a::after { content: " →"; }2.2 盒模型与布局
Flexbox(弹性盒子)和Grid(网格)布局彻底改变了 CSS 的布局方式,使复杂布局的实现变得简单直观。
/* Flexbox 示例:水平居中排列 */ .container { display: flex; justify-content: center; /* 水平居中 */ align-items: center; /* 垂直居中 */ gap: 10px; /* 子项间距 */ } /* CSS Grid 示例:创建两列布局 / .grid-container { display: grid; grid-template-columns: 1fr 2fr; / 第一列占1份,第二列占2份 */ gap: 20px; }2.3 视觉效果与动画
圆角、阴影与渐变:无需图片即可实现精美效果。
.fancy-box { border-radius: 10px; /* 圆角 */ box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.3); /* 阴影 */ background: linear-gradient(to right, #ff7e5f, #feb47b); /* 渐变背景 */ }过渡与动画:让元素状态变化更平滑,或创建复杂动画序列。
/* 过渡:鼠标悬停时颜色渐变 */ .button { background-color: blue; transition: background-color 0.3s ease; } .button:hover { background-color: darkblue; } /* 关键帧动画 */ @keyframes slidein { from { transform: translateX(-100%); } to { transform: translateX(0); } } .sliding-element { animation: slidein 1s ease-out; }2.4 响应式设计
媒体查询是响应式设计的核心,允许根据设备特性(如屏幕宽度)应用不同的样式。
/* 默认样式(移动端优先) */ body { font-size: 14px; } /* 平板设备及以上 */ @media (min-width: 768px) { body { font-size: 16px; } .sidebar { display: block; } } /* 桌面设备 */ @media (min-width: 1024px) { body { font-size: 18px; } .container { max-width: 1200px; } }3. 总结
HTML5 和 CSS3 共同构成了现代前端开发的基石。HTML5 通过语义化、多媒体和本地存储等功能,让网页结构更清晰、能力更强;CSS3 则通过 Flexbox、Grid、动画和响应式设计,让视觉表现和布局达到了前所未有的灵活性与精美度。
掌握它们不仅是学习具体语法,更是理解如何构建语义清晰、性能优良、体验卓越、维护方便的现代 Web 应用。随着 Web Components、CSS Houdini 等新技术的演进,HTML 和 CSS 的生态仍在蓬勃发展,持续学习是每一位 Web 开发者的必修课。