响应式布局
- 网页可以根据不通的设备或窗口大小呈现出不同的效果
- 使用响应式布局,可以使一个网页适用于所有设备
- 响应式布局的关键就是 媒体查询
- 通过媒体查询,可以为不同的设备,或设备的不同状态来分别设置样式
媒体特性
- width 视口的宽度
- height 视口的高度
- min-width 视口的最小宽度(视口大于指定宽度时生效)
- max-width 视口的最大宽度(视口小于指定宽度时生效)
样式切换的分界点
样式切换的分界点,我们称其为断点,也就是网页的样式会在这个点时发生变化,一般比较常用的断点如下:
- 小于等于768 超小屏幕
max-width = 768px
- 大于等于768 小屏幕
min-width = 768px
- 大于等于992 中型屏幕
min-width = 992px
- 大于等于1200 大屏幕
min-width = 1200px
注意:对于max-width
和min-width
值相等的,在css中,谁写后边谁就能抢占闭区间
媒体查询语法
媒体查询由一种媒体类型组成,并可包含一个或多个表达式,这些表达式可以解析为 true 或 false。
@media not|only mediatype and (expressions) {
CSS-Code;
}
如果指定的媒体类型与正在显示文档的设备类型匹配,并且媒体查询中的所有表达式均为 true,则查询结果为 true。当媒体查询为 true 时,将应用相应的样式表或样式规则,并遵循正常的级联规则。
除非使用 not 或 only 运算符,否则媒体类型是可选的,且隐含 all
类型。(only的使用主要是为了兼容一些老版本浏览器)
还可以针对不同的媒体使用不同的样式表:
<link rel="stylesheet" media="mediatype and|not|only (expressions)" href="print.css">
CSS3 媒体类型
值 | 描述 |
---|---|
all | 用于所有媒体类型设备。 |
用于打印机。 | |
screen | 用于计算机屏幕、平板电脑、智能手机等等。 |
speech | 用于大声“读出”页面的屏幕阅读器。 |
媒体查询的简单实例
使用媒体查询的一种方法是在样式表内有一个备用的 CSS 部分。
下面的例子在视口宽度为 480 像素或更宽时将背景颜色更改为浅绿色(如果视口小于 480 像素,则背景颜色会是粉色):
<!DOCTYPE html>
<html>
<head