zoukankan      html  css  js  c++  java
  • # 2.响应式原理

    # 2.响应式原理
     
    - 响应式具有的特点
        1.网页宽度自动调整
        2.尽量少用绝对宽度
        3.字体要使用rem、em作为单位
        4.布局要使用浮动或者弹性布局
        响应式下任何东西都要随着屏幕的尺寸改变而改变不能使用绝对大小
     
    - 媒体查询
        根据一个或多个基于设备类型、具体特点和环境来应用样式
     
        @media
     
        @规则
            @chartset  定义编码
            @import    引入css文件(css模块化)
            @font-face 自定义字体
            @keyframes animation里的关键帧
            @media     媒体查询
    ```html
    媒体查询使用方式一:
    <style>
        @media all{
            div{
                font-size:3rem;
            }
        }
    </style>
     
    媒体查询使用方式二:
    <style>
        @import url("css/bottstrap.css")(min-200px);
    </style>
     
    媒体查询使用方式三:
    <link rel="stylesheet" href="css/bootstrap.css" media="all">
    ```
     
    - 媒体查询介绍
        1.媒体类型
            all 所有设备
            print 打印机设备
            screen 彩色的电脑屏幕
            speech 听觉设备(针对有视力障碍的人士,可以把页面的内容以语音的方式呈现的设备)
            注意:tty、tv、projection、braille、embossed、aural等几种类型在媒体查询4中已经废弃
     
    ```html
    <style>
        div{
            200px;
            height:200px;
            background:green;
        }
        @media print{
            div{
                font-size:80px;
            }
        }
        @media screen{
            div{
                300px;
                height:300px;
                background:pink;
            }
        }
        @media all{
            div{
                400px;
                height:400px;
                background:grey;
            }
        }
    </style>
    <div>媒体类型</div>
    ```
     
        2.媒体特性
            width 宽度
                min-width 最小的宽度,宽度只能比这个大    
                max-width 最大的宽度,宽度只能比这个小        
            height 高度
                min-height 最小的高度,高度只能比这个大    
                max-height 最大的高度,高度只能比这个小 
            orientation 屏幕方向
                landscape 横屏(宽度大于高度)
                portrait  竖屏(高度大于宽度)
            aspect-ratio 宽高比
            -webkit-device-pixel-ratio 像素比(webkit内核的私有属性)
    ```html
    <style>
        div{
            200px;
            height:200px;
            background:red;
        }
        /*屏幕尺寸大于500的时候满足*/
        @media (min-500px){
            div{
                background:green;
            }
        }
        /*屏幕尺寸小于400的时候满足*/
        @media (max-400px){
            div{
                background:blue;
            }
        }
        /*横屏的时候满足*/
        @media (orientation:landscape){
            div{
                400px;
                height:100px;
            }
        }
        /*竖屏的时候满足*/
        @media (orientation:portrait){
            div{
                100px;
                height:400px;
            }
        }
        /*宽高比为4:3的时候满足*/
        @media (aspect-ratio:4/3){
            div{
                border:10px solid #000;
            }
        }
        /*像素比为2的时候满足*/
        @media (-webkit-device-pixel-ratio:2){
            div::after{
                content:'hello world';
                font-size:50px;
            }
        }
    </style>
    <div>媒体特性</div>
    ```
        3.逻辑运算符 用来做条件判断
            and 合并多个媒体类型(并且的意思)
            ,   匹配某个媒体查询的(或者的意思)
            not 对媒体查询取反
            only 仅在媒体查询匹配成功后应用样式(防范老旧浏览器)
    ```html
    <style>
        div{
            200px;
            height:200px;
            background:red;
        }
        /*所有设备 && 屏幕尺寸大于500 && 横屏的时候 满足*/
        @media all and (min-500px) and (orientation:landscape){
            div{
                background:green;
            }
        }
        /*屏幕尺寸大于500 || 横屏的时候 满足*/
        @media (min-500px),(orientation:landscape){
            div{
                background:pink;
            }
        }
        /*(除了所有设备下屏幕小于800)=== (所有设备下屏幕大于800)的时候满足*/
        @media not all and (max-800px){
            div{
                background:blue;
            }
        }
        /*老旧浏览器不认识@media时候,不会解析里面的css样式*/
        @media only screen and (min-1000px){
            div{
                background:grey;
            }
        }
    </style>
    <div>逻辑运算符</div>
    ```
        媒体查询参考:https://drafts.csswg.org/mediaqueries/
     
    以上是markdown格式的笔记
  • 相关阅读:
    2013年工作总结
    jquery的ajax向后台servlet传递json类型的多维数组
    web客户端通过ajaxfileupload方式上传文件
    servlet向ajax传递list数据类型,ajax向servlet传递array数据类型
    simplemodal — jquery弹出窗体插件
    【摘抄】活在当下
    unix网络编程 str_cli epoll 非阻塞版本
    unix网络编程str_cli使用epoll实现
    unix网络编程str_cli的epoll实现
    linux 建议锁和强制锁
  • 原文地址:https://www.cnblogs.com/lanshanxiao/p/12979354.html
Copyright © 2011-2022 走看看