less语法和Rem,媒体查询适配方案

Less基础语法介绍

作用: 维护CSS, 按照CSS的基本语法去写.

https://less.bootcss.com/

变量

☞@自定义变量名: 值;
    例如:
    @nav_bgcolor: red;
    nav {
        color: @nav_bgcolor;
    }

☞变量的运算:
  @width: 10;
    nav {
      width: @width * 3px;
    }

混合

☞ 定义一个公共的样式(可以式类选择的语法,可以是ID选择器的语法)

例如:
  .test() {
        width: 50px;
        height: 50px;
    }

    nav {
        调用样式
        .test();
    }

    header {
        .test();
    }

☞ 可以设置参数
例如:
.test(@width) {
    width: @width;
}

nav {
    .test(100px);
}


☞ 可以为参数设置默认值
例如:
.test(@width: 100px) {
    width: @width;
}
nav {
    .test();
}
header {
    .test(50px);
}

嵌套

例如:
nav {
    ul {
        li {

        }
    }
}

在浏览器中预览LESS文件(了解)

1. HTML页面直接沟通link标签引用 less文件
 <link rel="stylesheet/less" type="text/css" href="less文件.less">

2. HTML页面中引用用来解析less文件的一个js文件
 <script type="text/javascript" src="less.js"></script>

image.png

3.将项目放到服务器中,就可以正常预览。
备注:

  1. 以上执行过程需要在服务器环境下进行
  2. webstorm开发工具下,可以执行运行,因为webstorm自带一个服务器环境

媒体查询

什么是媒体查询?

1, 媒体指的就是各种设备(移动设备,PC设备)
2, 查询指的就是要检测属于哪种设备
总结:
  媒体查询:通过查询当前属于哪种设备,让网页能够在不同的设备下正常的预览

学习媒体查询的核心是什么?

实现页面在不同设备下正常预览.[判断当前设备]

媒体类型

 将不同的设备划分为不同的类型,称为媒体类型
  • all (所有的设备)
  • print (打印设备)
  • screen(电脑屏幕,平板电脑),智能手机

媒体特性

用来描述设备的特点,比如宽度,高度...
  • width 网页显示区域完全等于设置的宽度
  • height 网页显示区域完全等于设置的高度
  • max-width / max-height 网页显示区域小于等于设置的宽度
  • min-width / min-width 网页显示区域大于等于设置的宽度
  • orientation: portrait (竖屏模式) | landscape (横屏模式)

语法关键字

目的将媒体类型和媒体特性链接到一块,进行设备检测
  • and 可以将多个媒体特性链接到一块,相当于且
  • not 排除某个媒体特性 相当于非,可以省略
  • only 指定某个特定的媒体类型, 可以省略

语法

  • 外联式语法

    <link rel="stylesheet" type="text/css" href="01.css" media="only screen and (max-width: 420px)">
    
  • 内嵌式语法

    @media only screen  and (max-width: 420px) {
        body {
            background-color: red;
        }
    }
    
    备注: 多个条件联写
    @media only screen and (width: 320px) and (height: 568px) {}
    

Rem

什么是REM?

Rem: 是一个单位,是一个相对单位

em: 是一个单位,是一个相对单位,参照当前文字大小设置的

Rem的特点?

参照HTML根标签的文字大小

Rem如何实现适配?

1. 常见的UI稿件尺寸大小 640px(20份)  或者  750px(常见)[25份]


// 匹配设备屏幕最小显示宽度320px
@media only screen and (width: 320px) {
    html {
        font-size: 16px;
        height: 100%;
        background-color: #f7f4f1;
    }
    body {
        height: 100%;
    }
}

// 匹配设备屏幕大小是 360像素
@media only screen and (width: 360px) {
    html {
        font-size: 18px;
        height: 100%;
        background-color: #f7f4f1;
    }

    body {
        height: 100%;
    }
}

@media only screen and (width: 768px){
    html {
        font-size: 38.4px;
        height: 100%;
        background-color: #f7f4f1;
    }

    body {
        height: 100%;
    }
}

.viewport {
        width: 100%;
        height: 100%;
        // 顶部区域
        .top_header {
            width: 100%;
            img {
                width: 100%;
            }
        }


        // 主体区域
        .m_content {
            height: 100%;
            padding: 0rem 24 / 32rem;
            
            .public_box {
                margin-top: 28/32rem;
                margin-bottom: 28/32rem;
                
                // 标题
                .title {
                    height: 60 /32rem;
                    h3 {
                        font-size: 28 / 32rem;
                        color: #000;
                    }
                    span {
                        font-size: 28 /32rem;
                        color: #888;
                    }
                }
                
                // 添加优惠券
                .add_YH {
                    height: 215 / 32rem;
                    width: 100%;
                    border: 1/32rem dashed #dedede;
                    background-color: #fff;
                    text-align: center;

                    .icon-add {
                        margin-top: 35/32rem;
                        margin-bottom: 15/32rem;
                        font-size: 107/32rem;
                        color: #aeaeae;
                    }

                    a {
                        font-size: 26/32rem;
                        color: #aeaeae;
                    }
                }
            }

            // 提示
            .tips {
                margin-top: 100/32rem;

                h4 {
                    color: #b3b2b1;
                    font-size: 24/32rem;
                }

                p {
                    color: #b3b2b1;
                    font-size: 24/32rem;
                    margin-top: 18/32rem;
                }
            }
        }
}




bfc原理解析

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容