欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CSS3的媒体查询@media

程序员文章站 2022-05-11 09:05:45
...

CSS3的媒体查询@media

通过@media可以针对不同屏幕大小定义不同样式的网页,页面会根据浏览器长宽来渲染页面。
语法:

@media mediaType and|not|only (media feature) {
     /*CSS-Code;*/
}

and|not|only:and放在mediaType后,连接属性,代表将多个media feature结合在一起;
not否定,放在@media后,代表对该条信息取反;
only代表仅仅,一般放在@media后,例如:@media only screen,代表仅仅针对彩色屏幕有效;

mediaType:媒体类型,:all所有屏幕;screen 用于电脑屏幕,平板电脑,智能手机等;print 用于打印机和打印预览;speech 应用于屏幕阅读器等发声设备
media feature:媒体功能,max-width:页面最大宽度,min-width:页面最小宽度
在使用媒体查询前面,首先要设置meta标签,其次要加载兼容文件js,设置ie渲染为最高;
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">

<!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
  <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->

<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">

注意:
1. 一般引入第一条meta标签就可以使用
2. and|not|only (media feature)注意啦and(media feature)之间有一个空格!!!

示例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>媒体查询</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
    <style type="text/css">
        *{
            padding: 0;
            margin: 0;
        }
        /*屏幕宽度大于800px*/
        @media screen and (min-width: 800px){
            .box{
                width:200px;
                height: 300px;
                background-color: red;
            }

        }
        /*屏幕宽度在500-800之间*/
        @media screen and (min-width: 500px) and (max-width: 800px){
            .box{
                width:200px;
                height: 300px;
                background-color: yellow;
            }
        }
        /*屏幕宽度小于500之间*/
        @media screen and (max-width: 500px){
            .box{
                width:200px;
                height: 300px;
                background-color: green;
            }
        }
    </style>
</head>
<body>
<div class="box">
</div>
</body>
</html>

注意
max-width代表页面不大于该宽度时,满足该条件
min-width:代表页面不小于该宽度时,满足该条件