媒体查询

13 篇文章 1 订阅
8 篇文章 1 订阅

定义和使用

使用 @media 查询,你可以针对不同的媒体类型定义不同的样式。

@media 可以针对不同的屏幕尺寸设置不同的样式,特别是如果你需要设置设计响应式的页面,@media 是非常有用的。

当你重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面。

2. css2中media查询:

通过<link>标签的media属性为样式表指定设备类型:

比如:

(1)设备最大宽度是800px时,加载demo.css文件样式

<link rel="stylesheet" media="screen and (max-width:800px)" href="./demo.css">

(2)500px-800px之间的设备:

<link rel="stylesheet" media="screen and (max-width:800px) and (min-width:500px)" href="./demo.css">

(3)最小宽度500px时:

<link rel="stylesheet" media="screen and (min-width:500px)" href="./demo.css">

(4)在非打印设备下:

<link rel="stylesheet" media="not print and (max-width:800px)" href="./demo.css">

注意:not 逻辑操作符,必须用于开头,且会否定整个media声明。上述代码表示:not (print and max-width:800px) 

比如:不在(screen 且 最大宽度是800px)

<link rel="stylesheet" media="not screen and (max-width:800px)" href="./demo.css">

 上述代码在“screen且宽度大于800px”的情况下,会加载“demo.css”文件。

(5)orientation:portrait

指定输出设备中的页面可见区域高度大于或等于宽度(height >= width)

显示屏纵向放置

<link rel="stylesheet" media="screen and (orientation:portrait)" href="./demo.css">

(6)或逻辑操作符 ,

<link rel="stylesheet" media="screen and (orientation:portrait), print and (min-width:6in)" href="./demo.css">

表示:宽度小于等于高度的屏幕 或 最小宽度6英寸的打印设备 会加载demo.css样式

3. css3的media查询

特点:css样式中,不同情况下,标签的类选择器加载不同的样式

    <style>
        @media screen and (max-width:800px) and (min-width:500px){
            div{
                width: 100px;
                height: 100px;
                background-color: green;
            }
            span{
                color: red;
            }
        }
        @media screen and (max-width:500px){
            div{
                width: 200px;
                height: 200px;
                background: blue;
            }
            span{
                color: pink;
            }
        }
    </style>

当然,该css样式可以采用link标签将外部css文件引入的方式,可以将css样式写在一个css文件中引入,而不是在800px下,引入demo1.css文件,在600px下引入demo2.css文件。

4. 媒体类型:screen(电脑、手机、平板等屏幕),print(打印设备),all(所有设备)

5. 媒体特性:基本上只用到与width属性相关的属性,比如:max-width(最大宽度)、min-width(最小宽度)、width(渲染宽度)、device-width(设备宽度)

6. 通常情况下,px是相对单位,但是在该标签中,如下设置,px是绝对单位。即不同设备下,都是这么大。

实例:旋转木马的项目中,在浏览器中查看和在我自己手机上查看都是一样大。

<meta name="viewport" content="width=device-width, initial-scale=1.0">

7. 页面缩放的问题:

<meta name="viewport" content="width=device-width, initial-scale=1.0">中的initial-scale=1.0是缩放属性

(1)页面放大后,浏览器中的文档效果会变大,但是浏览器的宽高并没有变化,而文档中的标签元素会触发media中宽度变小的效果,好像是:浏览器宽高变小了,而触发了标签宽度小的时候的css样式。

(2)现在页面的设计不允许缩放,因为会重新布局页面:

<meta name="viewport" content="width=device-width, minimum-scale = 1.0, maximum-scale = 1.0, initial-scale = 1.0">

8. 媒体查询尺寸

所以设置的常有:

@media screen and (min-width:1200px)

@media screen and (min-width:992px)

@media screen and (min-width:768px)

@media screen and (min-width:480px)

在设置时,需要注意先后顺序,不然后面的会覆盖前面的样式。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值