移动web开发之媒体查询

媒体查询:针对不同的媒体类型定义不同的样式!

基本语法
                @media  媒体类型  关键字 and (媒体功能) {
                  /* CSS 样式 */
                 }
关键字
                only:指定某种指定的媒体类型,可以用来排除不支持媒体查询的浏览器。
                not:排除某种指定的媒体类型。

常见的媒体类型

      1.screen:用于电脑屏幕,平板电脑,智能手机

      2.speech:应用于屏幕阅读器等发声设备

      3.all:用于所有设备

常见的媒体功能

      1.max-定义输出设备中网页最大的可见区域宽度

       2.min-定义输出设备中网页最小的可见区域宽度

       3.max-height:定义输出设备中网页最大的可见区域高度

       4.min-height:定义输出设备中网页最小的可见区域高度

       5.device-height 定义输出设备的屏幕可见高度。

       6.device-width 定义输出设备的屏幕可见宽度。

       7.max-device-height 定义输出设备的屏幕可见的最大高度。

       8.max-device-width 定义输出设备的屏幕最大可见宽度。

       9.orientation 检测设备目前处于横向还是纵向状态。

用法案例:


<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        /* 1. 媒体查询一般按照从大到小或者 从小到大的顺序来 */
        /* 2. 小于540px 页面的背景颜色变为蓝色 */
        
        @media screen and (max- 539px) {
            body {
                background-color: blue;
            }
        }
        /* 3. 540 ~ 970 我们的页面颜色改为 绿色 */
        /* @media screen and (min- 540px) and (max- 969px) {
            body {
                green;
            }
        } */
        
        @media screen and (min- 540px) {
            body {
                background-color: green;
            }
        }
        /* 4. 大于等于970 我们页面的颜色改为 红色 */
        
        @media screen and (min- 970px) {
            body {
                background-color: red;
            }
        }
        /* 5. screen 还有 and 必须带上不能省略的 */
        /* 6. 我们的数字后面必须跟单位  970px   这个 px 不能省略的 */
    </style>
</head>

<body>

</body>

</html>
 

 

针对实际比较常见的尺寸设置
                以下仅仅列举了部分常见的屏幕尺寸,但是也实现大于、小于、等于的设置。

                /* 屏幕尺寸大于960px时(普通彩色屏幕) */
                @media only screen and (min-960px){ }

                /* 屏幕尺寸小于1440px时 */
                @media only screen and (max-1440px){ }

                /* 屏幕尺寸大于960px而小于1920px */
                @media only screen  (min- 960px) and (max- 1920px){ }

                /* 屏幕大于2000px时(MAC) */
                @media only screen and (min-2000px){ }

                /*  当设备可视宽度小于480px (iphone)*/
                @media only screen and (max-device-480px){ }

                /* 当设备可视宽度等于768px时 (iPad) */
                @media only screen and (device-768px){ }

                /* 屏幕尺寸大于481px而小于1024px (iPad 竖屏) */
                @media only screen and (min-device- 481px) and (max-device- 1024px) and (orientation:portrait) { }

                /* 屏幕尺寸大于481px而小于1024px (iPad横屏) */
                @media only screen and (min-device- 481px) and (max-device- 1024px)

               由于css的样式覆盖问题,所以在实际设置的时候,如果同一个元素需要设置几个不同尺寸的问题,就需要注意一下顺序问题,
                比如:min-width时,小的放上面大的在下面,同理如果是用max-width那么就是大的在上面,小的在下面。
 
 
rem,em二者
 

1.rem
(1)
简介
相对于根元素 HTML 的 font-size 计算值的大小。
(2) 换算
如果设置 font-size 为 14px,则 rem = 设计稿实际尺寸 ÷ 14。
例:设计稿宽度为 42px,高度为 35px,换算成 rem 为:
42 ÷ 14 = 3rem,35 ÷ 14 = 2.5rem
如果 css 里没有设定 html 的 font-size,则默认浏览器以 1rem = 16px 来换算。
2. em
(1)
简介
相对于父元素的 font-size 计算值的大小。
(2)
换算:同 rem
九、逻辑像素、物理像素
1. 逻辑像素
逻辑像素的单位是 pt,它是按照内容的尺寸计算的单位。比如 iPhone 4 的逻辑像素是
480x320pt。但是由于每个逻辑的点因为视网膜屏密度增加了一倍,即 1pt=2px,那么其
实 iPhone 4的物理像素是960x640px。iOS 开发工程师和使用 Sketch 和 AdobeXD 软
件设计界面的设计师使用的单位都是 PT。
2. 物理像素
物理像素的单位是 px,它是我们在 Photoshop 和切图中使用的单位,屏幕设计中最
小的单位就是 1px 不可再分割。使用 Photoshop 设计移动端界面和网站的设计时使用的单
位是 PX。在以下的文章中,如果你使用 Photoshop 设计界面,那么只需要记住所有 px 单
位的数值和支持 Photoshop 的工具,如果使用 Sketch 或 Adobe XD 设计界面,那么只
需要记住所有 pt 单位的数值和对应的工具即可。
3. 计算方式
PPI(Pixels Per Inch)指的是屏幕分辨率的单位,表示的是每英寸显示的像素密度。屏
幕的 PPI 值越高,那么这个屏幕每英寸能容纳的像素颗粒也就越多,那这个产品的画面的
细节度也就越丰富。PPI 值大于 300 一般我们就无法用肉眼察觉出屏幕上的「马赛克」格
子了。但是如果屏幕很大,那么需要呈现视网膜屏的 PPI 值也需要更大,所以 iPhone Plus
系列的 PPI 值比 iPhone6/7/8 要大。PPI 在我们设计的工作中其实关系不大,但理解它
对于帮助我们理解为什么 iPhone4 比 iPhone3GS 实际像素大一倍有帮助。
PPI=√(X^2+Y^2)/ Z
(X:长度像素数;Y:宽度像素数;Z:屏幕大)

原文地址:https://www.cnblogs.com/qingfengyuan/p/12939625.html