响应式布局之媒体查询

响应式布局之媒体查询

在我们写网页时候,大家可能有考虑到过,我们网页是不是应该跟着屏幕大小也随之变化,而要想达到这种效果就要用到我们的C3所新增的媒体查询(@media)来实现,根据页面的宽度来实现不同布局效果。

什么是媒体查询

媒体查询(Media Query)是CSS3新语法。可以针对不同的媒体类型定义不同的样式;可以让我们根据设备显示器的特性(如视口宽度、屏幕比例)为其设定CSS样式;当你重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面。

媒体查询语法规范

基本语法

@media mediatype  and | not | only (media feature) {
  //css样式
} 

1.mediatype查询类型

查询类型,有以下几个值

解释说明
all用于所有设备
print用于打印机和打印预览
screen用于电脑屏幕,平板电脑,智能手机等
speech应用于屏幕阅读器等发声设备

2.关键字

关键字将媒体类型或多个媒体特性连接到一起做为媒体查询的条件。

and:可以将多个媒体特性连接到一起,相当于“且”的意思。
not:排除某个媒体类型,相当于“非”的意思,可以省略。
only:指定某个特定的媒体类型,可以省略。

3.媒体功能

屏幕/设备的尺寸:

解释说明
width输出设备中的页面可见区域宽度。
min-width输出设备中的页面最小可见区域宽度
max-width输出设备中的页面最大可见区域宽度
height输出设备中的页面可见区域高度
min-height输出设备中的页面最小可见区域高度
max-height输出设备中的页面最大可见区域高度
aspect-ratio输出设备中的页面可见区域宽度与高度的比率
orientation输出设备中的页面可见区域高度是否大于或等于宽度

显示质量:

解释说明
resolution设备的分辨率
scan电视类设备的扫描工序
grid用来查询输出设备是否使用栅格或点阵

颜色:

解释说明
color输出设备每一组彩色原件的个数。如果不是彩色设备,则值等于0
color-index在输出设备的彩色查询表中的条目数。如果没有使用彩色查询表,则值等于0

4.书写规范

为了防止混乱,媒体查询我们要按照从小到大或者从大到小的顺序来写,但是我们最喜欢的还是从小到大来写,这样代码更简洁
例如:

@media screen and (max-width: 768px) {
            div {
                width: 100%;
                height: 100px;
            }
            .one {
                background-color: black;
            }
            .two {
                background-color: teal;
            }
            .three {
                background-color: wheat;
            }
        }
        
        @media screen and (min-width: 768px) and (max-width: 992px) {
            div {
                width: 100%;
                height: 100px;
            }
            .one {
                background-color: skyblue;
            }
            .two {
                background-color: pink;
            }
            .three {
                background-color: cadetblue;
            }
        }
        
        @media screen and (max-width: 1200px) {
            div {
                width: 100%;
                height: 100px;
            }
            .one {
                background-color: black;
            }
            .two {
                background-color: teal;
            }
            .three {
                background-color: wheat;
            }
        }
        
        @media screen and (min-width: 1200px) {
            div {
                width: 100%;
                height: 100px;
            }
            .one {
                background-color: rgb(222, 240, 216);
            }
            .two {
                background-color: springgreen;
            }
            .three {
                background-color: hotpink;
            }
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值