为了创建响应式设计(并且广泛支持浏览器),我们最常检测到的功能是视口宽度,如果视口大于或小于某个宽度(或确切的宽度),则可以使用`min-width`、`max-width`以及`width`媒体功能。
~~~css
/* 如果文档宽度小于 300 像素则修改背景颜色 */
@media screen and (max-width: 600px) {
body {
background-color: lightblue;
}
}
~~~
`orientation`媒体功能定义输出设备中的页面可见区域高度是否大于或等于宽度,能够测试纵向或横向模式。
~~~css
/* 在设备横向放置时更改正文文本颜色 */
@media (orientation: landscape) {
body {
color: lightblue;
}
}
~~~
使用`@media`查询来制作相应式设计:
~~~html
<p class="example">操作浏览器窗口,查看效果</p>
~~~
~~~css
.example {
padding: 20px;
color: white;
}
/* Extra small devices (phones, 576px and down) */
@media only screen and (max-width: 576px) {
.example {
background-color: red;
}
}
/* Small devices (portrait tablets and large phones, 576px and up) */
@media only screen and (min-width: 576px) {
.example {
background-color: green;
}
}
/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {
.example {
background-color: blue;
}
}
/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {
.example {
background-color: orange;
}
}
/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {
.example {
background-color: pink;
}
}
~~~
- 第一章:移动开发入门
- 第一节:概述
- 第二节:基础概念
- 第一课时:像素
- 第二课时:视口
- 第二章:Flex 布局
- 第一节:概述
- 第二节:容器属性
- 第一课时:flex-direction 属性
- 第二课时:flex-wrap 属性
- 第三课时:flex-flow 属性
- 第四课时:justify-content 属性
- 第五课时:align-items 属性
- 第六课时:align-content 属性
- 第三节:项目属性
- 第一课时:order 属性
- 第二课时:flex-grow 属性
- 第三课时:flex-shrink 属性
- 第四课时:flex-basis 属性
- 第五课时:flex 属性
- 第六课时:align-self 属性
- 第四节:Flex 实例
- 第一课时:常见页面布局
- 第三章:响应式布局
- 第一节:概述
- 第二节:媒体查询
- 第一课时:概述
- 第二课时:响应式设计
- 第三节:栅格系统
- 第一课时:概述
- 第二课时:案例分析
- 第三课时:Bootstrap 简介
- 第四节:响应式案例
- 第一课时:三星首页
- 第四章:移动端适配
- 第五章:移动端事件
- 第一节:概述
- 第二节:touch 事件
- 第三节:触摸事件对象
- 第四节:其他事件
- 第五节:移动端幻灯片
- 第六章:移动端常见问题
- 第一节:浏览器兼容性
- 第二节:移动端动画
- 第三节:300ms 延迟
- 第四节:文字溢出省略
- 第五节:水平居中和垂直居中
- 第七章:项目案例
- 第一节:美团外卖
- 第一课时:首页
- 第二课时:订单页面
- 第三课时:我的页面
- 第四课时:详情页面
- 第五课时:购物车页