我的账户
猩码学苑

专注C++开发菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

前端-王隆-20230427

[复制链接]
王隆 发表于 2023-4-28 00:49:46 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
一、今日知识点
1 REM的基础
    REM单位
        rem(root em)是一个相对单位,类似于em,em是相对于父元素字体的大小
        不同的是rem是相对于html元素的字体大小来定义的
        比如:html元素设置的font-size的值是20px,那么2rem的对应的像素大小就是40px
        rem的优势:父元素的文字大小可能会不一致,一个元素也可能会有多个父级元素,但是整个页面只有一个html标签,所以我们可以通过改变html的字体大小,来控制整个页面的所有元素的尺寸。
2 媒体查询
    什么是媒体查询
        媒体查询是可以帮助我们查询不同的屏幕宽度来进行相应的设置
        使用@media  查询,可以针对不同的媒体类型来定义不同的样式
        当我们重置浏览器的时候,页面会根据媒体查询来重新渲染页面
        目前我们主要的媒体查询是针对移动端的:比如手机、平板等等。
    媒体查询的语法规范
        用@media  开头
        mediatype 媒体类型
            all 用于所有设备
            print 用于打印设备和打印预览
            screen 用于电脑屏幕、平板、手机等等(主要使用这个类型)
        关键字 and not only
            and 可以将多个媒体特性连接起来,相当于且的意思
            not 排除某个媒体类型,相当于非的意思,可以省略
            only 指定某个特定的媒体类型 可以省略
        media feature 媒体特性,必须放在小括号中
            width 定义输出设备中页面可见区域的宽度
            min-width 定义输出设备中页面最小可见区域
            max-width 定义输出设备中页面最大可见区域
        @media mediatype and|not|only (media feature) { CSS的样式代码}
3 LESS基础
    CSS的弊端
        CSS是一门非程序式的语言,没有变量、函数、作用域等概念
        CSS需要书写大量的没有逻辑的代码,CSS的冗余程度是比较高的
        CSS没有很好的计算能力
        如果是没有很多经验的工程师比较难写出易于维护的CSS代码的
    Less的介绍
        LESS(leanerStyle Sheets的缩写),是一门CSS的扩展语言,也称为CSS的预处理器。、
            它在原有的css的基础上增加了新的程序式语言的特性,比如:函数、变量、计算等等。
            常见的CSS的预处理器:Sass、Less、Stylus。
    Less中的变量使用
        变量是指没有固定的值,并且可以改变里面装的值。简单理解就是一个装具体值的一个盒子
        @变量名: 值;
        注意点:
            必须要以 @ 开头
            不能包含特殊字符
            不能以数字开头
            大小写敏感(@Color 和@color 是两个变量)
    Less的编译
        下载编译插件 easy less
        创建less文件
        书写代码后保存会自动生成css文件
    Less的嵌套
    Less运算
        任何的数字、颜色或者变量都可以参与计算,less为我们提供了加(+)、减(-)、乘(*)、除(/)算术运算。
        注意点:
            除法必须要加括号
            运算符的左右两边要用空格隔开 1px + 50
            如果多个值参与计算,最终的单位选择最先出现单位的这个值的单位。
4 REM适配方案
    原理
        让一些不能等比例自适应的元素,当设备的尺寸发生变化的时候,能够等比例进行适配
        使用媒体查询根据不同的设备,设置不同的html的字体大小,然后页面用rem做尺寸单位,当html字体变化的时候,页面元素也会跟着变化
    技术方案
        less+rem+媒体查询
        flexible.js+rem
    方案一
        假设设计稿是750px
        假设我们把整个屏幕划分为15等份(划分标准不一可以是20份也可以是10等份)
        每一份作为html字体大小,这里就是50px
        那么在320px设备的时候,字体大小为320/15就是 21.33px
        用我们页面元素的大小除以不同的 html字体大小会发现他们比例还是相同的
        比如我们以750px宽度为标准设计稿
        一个100*100像素的页面元素在  750屏幕下,  就是 100/ 50  转换为rem 是  2rem*2rem  比例是1比1
        320屏幕下,  html字体大小为21.33px   则 2rem=  42.66px 此时宽和高都是42.66  但是宽和高的比例还是 1比1
        但是已经能实现不同屏幕下  页面元素盒子等比例缩放的效果
        总结
            1、页面元素的rem值 = 页面元素的px值 / html的font-size的大小
            2、html的font-size大小 = 屏幕宽度 / 划分的份数
    方案二
        手机淘宝团队出的简洁高效 移动端适配库
        我们再也不需要在写不同屏幕的媒体查询,因为里面js做了处理
        它的原理是把当前设备划分为10等份,但是不同设备下,比例还是一致的。
        我们要做的,就是确定好我们当前设备的html 文字大小就可以了
        比如当前设计稿是 750px, 那么我们只需要把 html 文字大小设置为 75px(750px / 10) 就可以
        里面页面元素rem值: 页面元素的px 值 /  75  剩余的,让flexible.js来去算
        下载css rem插件,并且改变默认字体为75px

回复

使用道具 举报

关注0

粉丝0

帖子96

发布主题
大家都在学
课堂讨论
一周热帖排行最近7x24小时热帖
关注我们
专注C++菁英教育

客服电话:18009298968

客服时间:9:00-21:00

猩码学苑 - 专注C++开发菁英教育!( 陕ICP备2025058934号-1 )

版权所有 © 陕西菁英数字科技有限公司 2023-2026