CSS 教程

CSS 教程 CSS 简介 CSS 语法 CSS 选择器 CSS 如何使用 CSS 注释 CSS 颜色 CSS 背景 CSS 边框 CSS 外边距 CSS 内边距 CSS 高度/宽度 CSS Box 模型 CSS 轮廓 CSS 文本 CSS 字体 CSS 图标 CSS 链接 CSS 列表 CSS 表格 CSS Display CSS Max-width CSS 定位 CSS 溢出 CSS 浮动 CSS Inline-block CSS 对齐 CSS 组合器 CSS 伪类 CSS 伪元素 CSS 不透明度 CSS 导航栏 CSS 下拉菜单 CSS 图片库 CSS 图像拼合技术 CSS 属性选择器 CSS 表单 CSS 计数器 CSS 网站布局 CSS 单位 CSS 特异性

CSS3 高级教程

CSS3 高级教程 CSS3 简介 CSS3 圆角 CSS3 边框图像 CSS3 多重背景 CSS3 颜色 CSS3 渐变 CSS3 阴影 CSS3 文本效果 CSS3 网络字体 CSS3 2D 转换 CSS3 3D 转换 CSS3 过渡 CSS3 动画 CSS3 提示框 CSS3 样式图像 CSS3 object-fit CSS3 按钮 CSS3 分页 CSS3 多列 CSS3 用户界面 CSS3 变量 CSS3 盒子大小 CSS3 媒体查询 CSS3 媒体查询实例 CSS3 弹性盒子

CSS 响应式

RWD 简介 RWD 视口 RWD 网格视图 RWD 媒体查询 RWD 图像 RWD 视频 RWD 框架 RWD 模板

CSS 网格视图

Grid 网络简介 Grid 网格容器 Grid 网格项目

CSS 实例

CSS 模板 CSS 实例 CSS 测验 CSS 练习

CSS 参考手册

CSS 参考手册 CSS 浏览器支持 CSS 选择器 CSS 函数 CSS 网络安全字体 CSS 动画相关属性 CSS 单位 CSS PX-EM 单位转换 CSS 颜色 CSS 颜色值 CSS 默认值 CSS 实体 CSS 听觉


响应式网页设计 - 图像

Resize the browser window to see how the image scales to fit the page.


使用 width 属性

如果 width 属性设置为百分比,且高度设置为 "auto",则图像将进行响应来放大或缩小:

实例

img {
  width: 100%;
  height: auto;
}
亲自试一试 »

请注意,在上面的例子中,图像可以放大到大于其原始大小。在多数情况下,更好的解决方案是改为使用 max-width 属性。


使用 max-width 属性

如果将 max-width 属性设置为 100%,则图像将按需缩小,但绝不会放大到大于其原始大小:

实例

img {
  max-width: 100%;
  height: auto;
}
亲自试一试 »

向实例网页添加图像

实例

img {
  width: 100%;
  height: auto;
}
亲自试一试 »


背景图像

背景图像也可以响应调整大小和缩放比例。

这是我们展示的三种不同方法:

1. 如果将 background-size 属性设置为 "contain",则背景图像将缩放,并尝试匹配内容区域。不过图像将保持其长宽比(图像宽度与高度之间的比例关系):


这是 CSS 代码:

实例

div {
  width: 100%;
  height: 400px;
  background-image: url('img_flowers.jpg');
  background-repeat: no-repeat;
  background-size: contain;
  border: 1px solid red;
}
亲自试一试 »

2. 如果将 background-size 属性设置为 "100% 100%",则背景图像将拉伸以覆盖整个内容区域:


这是 CSS 代码:

实例

div {
  width: 100%;
  height: 400px;
  background-image: url('img_flowers.jpg');
  background-size: 100% 100%;
  border: 1px solid red;
}
亲自试一试 »

3. 如果 background-size 属性设置为 "cover",则背景图像将缩放以覆盖整个内容区域。请注意,"cover" 值保持长宽比,且可能会裁剪背景图像的某部分:


这是 CSS 代码:

实例

div {
  width: 100%;
  height: 400px;
  background-image: url('img_flowers.jpg');
  background-size: cover;
  border: 1px solid red;
}
亲自试一试 »

为不同设备准备不同图像

大幅的图像在大型计算机屏幕上可以完美显示,但在小型设备上就没用了。为什么在不得不缩小图像时又加载大图像呢?为了减少负载或出于任何其他原因,您可以使用媒体查询在不同的设备上显示不同的图像。

这是一幅大图像和一幅小图像,会在不同的设备上显示:

实例

/* 对于小于 400px 的宽度:*/
body {
  background-image: url('img_smallflower.jpg');
}

/* 宽度为 400 像素及更大:*/
@media only screen and (min-width: 400px) {
  body {
    background-image: url('img_flowers.jpg');
  }
}
亲自试一试 »

您可以使用媒体查询 min-device-width 而不是 min-width 来检查设备宽度,而不是浏览器宽度。然后,当您调整浏览器窗口的大小时,图像将不会变化:

实例

/* 对于小于 400px 的设备:*/
body {
  background-image: url('img_smallflower.jpg');
}

/* 对于 400 像素及更大的设备:*/
@media only screen and (min-device-width: 400px) {
  body {
    background-image: url('img_flowers.jpg');
  }
}
亲自试一试 »

HTML5 <picture> 元素

HTML5 引入了 <picture> 元素,该元素使您可以定义多幅图像。

浏览器支持

元素
<picture> 13 38.0 38.0 9.1 25.0

<picture> 元素的作用类似于 <video><audio> 元素。我们设置了不同的来源,而匹配优先权的第一个来源是正在使用的来源:

实例

<picture>
  <source srcset="img_smallflower.jpg" media="(max-width: 400px)">
  <source srcset="img_flowers.jpg">
  <img src="img_flowers.jpg" alt="Flowers">
</picture>
亲自试一试 »

srcset 属性是必需的,它定义图像的来源。

media 属性是可选的,它接受可在 CSS @media 规则 中找到的媒体查询。

您还应该为不支持 <picture> 元素的浏览器定义 <img> 元素。