相对单位 / 媒体查询 / em和rem简介

vh和vw相对单位

vh viewport height 1vh = 浏览器可视窗口高度的1%
vw viewport width 1vw = 浏览器可视窗口宽度的1%

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* body {
            height: 100vh;
            
            background-image: linear-gradient(to bottom, #ff0, #6cf);
        } */

        .box {
            width: 10vw;
            height: 50vw;
            background-color: #0a0;
        }
    </style>
</head>

<body>
    <!-- 
        相对单位:书写出来的值是一个相对的值,不确定的值,他是需要依赖于其他已知的值动态计算。
        em rem vh vw %
        vh  viewport height  1vh = 浏览器可视窗口高度的1%
        vw  viewport width   1vw = 浏览器可视窗口宽度的1%
        绝对单位:书写出来的值是一个绝对的值,不会因为其他值的变化而变化
        px s ms deg
     -->


    <!-- 创建一个屏幕宽度一半的正方形 -->
    <div class="box"></div>
</body>

</html>

em和rem

 1em = 当前文字大小
            10em = 10 * 默认16px = 160px


                 1em = 当前文字大小
            10em = 10 * 默认16px = 160px
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        html {
            font-size: 20px;
        }

        .em {
            width: 10em;
            height: 10em;
            /* 
                1em = 当前文字大小
                10em = 10 * 默认16px = 160px
            */
            background-color: #0a0;
        }

        .rem {
            width: 10rem;
            height: 10rem;
            font-size: 30px;
            /* 
                rem参考html根标签的字体大小进行计算
                1rem = html的文字大小
            */
            background-color: #6cf;
        }
    </style>
</head>

<body>
    <h1>em</h1>
    <div class="em"></div>
    <h1>rem</h1>
    <div class="rem"></div>
</body>

</html>

媒体查询语法规范

  • 用 @media开头 注意@符号
  • mediatype 媒体类型
  • 关键字 and not only
  • media feature 媒体特性必须有小括号包含
@media mediatype and|not|only (media feature) {
    CSS-Code;
}
语法

@media screen and ( 媒体特性 ) { css 样式 }

注意点

关键字前后必须有空格,媒体特性用冒号分隔属性名和值,结尾不带有任何符号

  1. mediatype 查询类型

​ 将不同的终端设备划分成不同的类型,称为媒体类型

在这里插入图片描述

  1. 关键字

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

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

    每种媒体类型都具体各自不同的特性,根据不同媒体类型的媒体特性设置不同的展示风格。我们暂且了解三个。

    注意他们要加小括号包含

    在这里插入图片描述

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* 
            注意: 
            1. 连接词前后必须加空格
            2. 媒体特性结尾不能加分号
            3. 如果有多个媒体特性 需要用and符号链接
        */
        /* 匹配屏幕宽度必须是500px的时候 */

        @media screen and (width: 500px) {

            /* 选择器{
                样式
            } */
            body {
                background-color: tomato; 
            }
        }

        /* 
            501px - 800px
            最小宽度是501px
            大于等于501px的时候设置蓝色
        */
        @media screen and (min-width: 501px) and (max-width: 800px) {
            body {
                background-color: #6cf;
            }
        }

        /* 
            最大宽度是499px
            小于等于499px的时候设置绿色
        */
        @media screen and (max-width: 499px) {
            body {
                background-color: #0a0;
            }
        }
    </style>
</head>

<body>

</body>

</html>

动态引入 css 文件

需要加 media 类型条件 ,不然会覆盖

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>


    <!-- <link rel="stylesheet" href="./style320px.css" >
    <link rel="stylesheet" href="./style750px.css" > -->

                                            <!-- 媒体查询首先匹配 screen 类型,并且 >= 320 -->
    <link rel="stylesheet" href="./style320px.css" media="screen and (min-width: 320px)">
    <link rel="stylesheet" href="./style750px.css" media="screen and (min-width: 750px)">
</head>

<body>

</body>

</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Henry_ww

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值