图像是网页中重要的视觉元素,能够增强内容的表达力和吸引力。
东巴文(db-w.cn) 认为:图像是网页的视觉语言,合理使用图像可以提升用户体验和SEO效果。
<img>标签<img>标签用于在网页中嵌入图像。
<img src="image.jpg" alt="图像描述">
东巴文说明:
<img>是自闭合标签,无结束标签src属性:指定图像路径(必需)alt属性:提供替代文本(必需)东巴文图像属性:
| 属性 | 说明 | 是否必需 | 示例 |
|---|---|---|---|
src |
图像路径 | 必需 | src="image.jpg" |
alt |
替代文本 | 必需 | alt="图像描述" |
width |
宽度 | 可选 | width="300" |
height |
高度 | 可选 | height="200" |
title |
提示文本 | 可选 | title="点击查看" |
loading |
加载方式 | 可选 | loading="lazy" |
decoding |
解码方式 | 可选 | decoding="async" |
相对路径相对于当前HTML文件的位置。
<!-- 同级目录 -->
<img src="image.jpg" alt="图像">
<!-- 下级目录 -->
<img src="images/photo.jpg" alt="照片">
<!-- 上级目录 -->
<img src="../images/logo.png" alt="Logo">
<!-- 根目录 -->
<img src="/assets/images/banner.jpg" alt="横幅">
东巴文相对路径:
| 路径 | 说明 | 示例 |
|---|---|---|
file.jpg |
同级文件 | src="image.jpg" |
dir/file.jpg |
下级目录文件 | src="images/photo.jpg" |
../file.jpg |
上级目录文件 | src="../logo.png" |
/file.jpg |
根目录文件 | src="/assets/banner.jpg" |
绝对路径包含完整的URL地址。
<!-- 完整URL -->
<img src="https://db-w.cn/images/logo.png" alt="东巴文Logo">
<!-- 协议相对URL -->
<img src="//db-w.cn/images/logo.png" alt="东巴文Logo">
<!-- 本地绝对路径 -->
<img src="file:///C:/images/photo.jpg" alt="照片">
东巴文说明:
alt属性的重要性alt属性提供图像的替代文本,在图像无法显示时展示。
<!-- ✅ 推荐:描述性alt文本 -->
<img src="html-tutorial.jpg" alt="HTML教程封面">
<!-- ❌ 不推荐:无意义的alt文本 -->
<img src="html-tutorial.jpg" alt="图片">
<!-- ❌ 不推荐:空alt文本 -->
<img src="html-tutorial.jpg" alt="">
东巴文alt属性作用:
东巴文alt文本法则:
<!-- 描述性文本 -->
<img src="chart.png" alt="2024年东巴文用户增长趋势图">
<!-- 简洁明了 -->
<img src="logo.png" alt="东巴文Logo">
<!-- 包含关键信息 -->
<img src="screenshot.png" alt="HTML编辑器界面截图,显示代码高亮功能">
<!-- 装饰性图像使用空alt -->
<img src="decorative-line.png" alt="">
<!-- 复杂图像使用longdesc或描述段落 -->
<img src="complex-chart.png" alt="销售数据分析图表" longdesc="chart-description.html">
<p id="chart-description">图表详细描述:...</p>
width和height属性<!-- 指定宽度和高度(像素) -->
<img src="photo.jpg" alt="照片" width="300" height="200">
<!-- 只指定宽度,高度自动调整 -->
<img src="photo.jpg" alt="照片" width="300">
<!-- 使用CSS指定尺寸 -->
<img src="photo.jpg" alt="照片" style="width: 300px; height: 200px;">
东巴文说明:
使用CSS使图像自适应容器宽度。
<style>
.responsive-img {
max-width: 100%;
height: auto;
}
</style>
<img src="photo.jpg" alt="照片" class="responsive-img">
东巴文说明:
max-width: 100%:图像不超过容器宽度height: auto:高度自动调整,保持比例东巴文图像格式对比:
| 格式 | 特点 | 适用场景 | 透明度 | 动画 |
|---|---|---|---|---|
| JPEG/JPG | 有损压缩,文件小 | 照片、复杂图像 | ❌ | ❌ |
| PNG | 无损压缩,质量高 | Logo、图标、截图 | ✅ | ❌ |
| GIF | 256色,支持动画 | 简单动画、表情 | ✅ | ✅ |
| WebP | 高压缩比,质量好 | 现代浏览器 | ✅ | ✅ |
| SVG | 矢量图形,可缩放 | 图标、Logo、插图 | ✅ | ✅ |
| AVIF | 最新格式,压缩率高 | 现代浏览器 | ✅ | ✅ |
东巴文格式选择法则:
<!-- 照片:使用JPEG -->
<img src="photo.jpg" alt="风景照片">
<!-- Logo、图标:使用PNG或SVG -->
<img src="logo.png" alt="东巴文Logo">
<img src="icon.svg" alt="菜单图标">
<!-- 动画:使用GIF或WebP -->
<img src="animation.gif" alt="加载动画">
<img src="animation.webp" alt="加载动画">
<!-- 矢量图形:使用SVG -->
<img src="diagram.svg" alt="流程图">
东巴文图像优化策略:
使用loading="lazy"实现懒加载。
<!-- 懒加载 -->
<img src="photo.jpg" alt="照片" loading="lazy">
<!-- 立即加载 -->
<img src="logo.png" alt="Logo" loading="eager">
东巴文说明:
lazy:延迟加载,直到图像进入视口eager:立即加载(默认)使用srcset和sizes属性提供不同尺寸的图像。
<!-- srcset属性 -->
<img
src="photo-800.jpg"
srcset="photo-400.jpg 400w,
photo-800.jpg 800w,
photo-1200.jpg 1200w"
sizes="(max-width: 600px) 400px,
(max-width: 1000px) 800px,
1200px"
alt="响应式照片">
东巴文说明:
srcset:提供不同尺寸的图像源sizes:定义不同视口宽度下的图像尺寸<picture>元素<picture>元素提供更灵活的图像选择。
<picture>
<!-- 现代格式优先 -->
<source srcset="photo.avif" type="image/avif">
<source srcset="photo.webp" type="image/webp">
<!-- 响应式图像 -->
<source
media="(max-width: 600px)"
srcset="photo-small.jpg">
<source
media="(max-width: 1200px)"
srcset="photo-medium.jpg">
<!-- 默认图像 -->
<img src="photo.jpg" alt="照片">
</picture>
东巴文说明:
<source>:提供不同的图像源type:指定图像MIME类型media:指定媒体查询条件<img>:默认图像,必须放在最后<style>
/* 水平居中 */
.center {
display: block;
margin: 0 auto;
}
/* 左对齐 */
.left {
float: left;
margin-right: 10px;
}
/* 右对齐 */
.right {
float: right;
margin-left: 10px;
}
/* 垂直居中 */
.vertical-middle {
vertical-align: middle;
}
</style>
<!-- 水平居中 -->
<img src="logo.png" alt="Logo" class="center">
<!-- 文字环绕 -->
<img src="photo.jpg" alt="照片" class="left">
<p>这是一段文字,图像在左侧,文字会环绕图像...</p>
<map>和<area>图像映射用于创建可点击的图像区域。
<img
src="map.jpg"
alt="地图"
usemap="#workmap">
<map name="workmap">
<!-- 矩形区域 -->
<area
shape="rect"
coords="34,44,270,350"
alt="区域1"
href="area1.html">
<!-- 圆形区域 -->
<area
shape="circle"
coords="337,300,44"
alt="区域2"
href="area2.html">
<!-- 多边形区域 -->
<area
shape="poly"
coords="140,121,180,120,180,180,140,180"
alt="区域3"
href="area3.html">
</map>
东巴文说明:
usemap:关联<map>元素shape:区域形状(rect、circle、poly)coords:区域坐标href:链接地址<!-- ✅ 推荐:描述性alt文本 -->
<img src="photo.jpg" alt="东巴文课程封面">
<!-- ✅ 推荐:装饰性图像使用空alt -->
<img src="decorative.png" alt="">
<!-- ❌ 不推荐:省略alt属性 -->
<img src="photo.jpg">
<!-- ✅ 推荐:使用现代格式 -->
<picture>
<source srcset="photo.webp" type="image/webp">
<img src="photo.jpg" alt="照片">
</picture>
<!-- ✅ 推荐:懒加载 -->
<img src="photo.jpg" alt="照片" loading="lazy">
<!-- ✅ 推荐:指定宽度和高度 -->
<img src="photo.jpg" alt="照片" width="300" height="200">
<!-- ✅ 推荐:使用CSS控制尺寸 -->
<img src="photo.jpg" alt="照片" style="width: 100%; height: auto;">
<!-- ✅ 推荐:响应式图像 -->
<img
src="photo-800.jpg"
srcset="photo-400.jpg 400w,
photo-800.jpg 800w,
photo-1200.jpg 1200w"
sizes="(max-width: 600px) 100vw,
(max-width: 1200px) 50vw,
800px"
alt="响应式照片">
<!-- ✅ 推荐:有意义的alt文本 -->
<img src="chart.png" alt="2024年东巴文用户增长趋势图,用户数从1万增长到10万">
<!-- ✅ 推荐:复杂图像提供详细描述 -->
<figure>
<img src="complex-chart.png" alt="销售数据分析图表">
<figcaption>
图表说明:该图表展示了2024年第一季度的销售数据...
</figcaption>
</figure>
问题1:以下哪个属性用于提供图像的替代文本?
A. src
B. alt
C. title
D. href
答案:B
东巴文解释:alt属性用于提供图像的替代文本,在图像无法显示时展示,同时提升可访问性和SEO。src指定图像路径,title提供提示文本,href是链接属性。
问题2:以下哪个属性用于实现图像懒加载?
A. loading
B. srcset
C. sizes
D. decoding
答案:A
东巴文解释:loading="lazy"用于实现图像懒加载,延迟加载屏幕外的图像。srcset和sizes用于响应式图像,decoding用于指定解码方式。
任务:创建一个包含以下图像特性的文档:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>图像示例 - 东巴文</title>
<style>
.responsive-img {
max-width: 100%;
height: auto;
}
</style>
</head>
<body>
<article>
<h1>图像示例</h1>
<h2>基本图像</h2>
<img src="logo.png" alt="东巴文Logo" width="200" height="100">
<h2>响应式图像</h2>
<img
src="photo-800.jpg"
srcset="photo-400.jpg 400w,
photo-800.jpg 800w,
photo-1200.jpg 1200w"
sizes="(max-width: 600px) 100vw,
(max-width: 1200px) 50vw,
800px"
alt="响应式照片"
class="responsive-img">
<h2>懒加载图像</h2>
<img src="gallery/photo1.jpg" alt="照片1" loading="lazy">
<img src="gallery/photo2.jpg" alt="照片2" loading="lazy">
<img src="gallery/photo3.jpg" alt="照片3" loading="lazy">
<h2>Picture元素</h2>
<picture>
<source srcset="photo.avif" type="image/avif">
<source srcset="photo.webp" type="image/webp">
<img src="photo.jpg" alt="照片" class="responsive-img">
</picture>
</article>
<footer>
<small>版权所有 © 2024 东巴文(db-w.cn)</small>
</footer>
</body>
</html>
</details>
东巴文(db-w.cn) - 让编程学习更有趣、更高效!