移动web-rem适配,媒体查询,less语法

145 阅读3分钟
一 rem适配

html字体大小设置为屏幕视口的 1/10

屏幕宽度为320px 375px 414px 对应的HTML字体大小为32px, 37.5px, 41.4px

image.png

那么问题来了:

1手机屏幕大小不同,分辨率不同,如何设置不同的HTML标签字号?

2设备宽度不同,HTML标签字号设置多少合适?

解答: 适配移动端过程:

1.要利用媒体查询规定不同的屏幕宽度设置不同的根字号大小;屏幕宽度的1/10

2.页面元素就可以使用rem相对单位,1rem=1html文字大小

二 rem 移动适配 - 媒体查询

媒体查询能够设置差异化CSS样式

  • 媒体查询能够检测视口的宽度,然后编写差异化的 CSS 样式

  • 当某个条件成立, 执行对应的CSS样式

image.png

1,以视口宽度为375为例 我们使用媒体查询

  @media (width: 375px) {
    html {
      font-size: 37.5px;
    }
  }

2.适配 414宽度 的手机

  @media (width: 414px) {
    html {
      font-size: 41.4px;
    }
  }`

快捷小技巧

image.png

image.png

三 日常开发中rem单位尺寸的应用
  1. 根据视口宽度,设置不同的HTML标签字号

  2. 书写代码,尺寸是rem单位

  • 确定设计稿对应的设备的HTML标签字号

  • 查看设计稿宽度 → 确定参考设备宽度(视口宽度) → 确定基准根字号(1/10视口宽度)

  1. rem单位的尺寸
  • N * 37.5 = 68 → N = 68 / 37.5

  • rem单位的尺寸 = px单位数值 / 基准根字号

那么问题又来了:

思考:咱们检测了3个视口,分别设置了根字号,有什么弊端吗?

答:手机设备多,屏幕尺寸不一,视口不仅仅有这3个

所以现在企业开发中,为了方便,不会再去手写媒体查询的样式了,而是通过一个flexible.js插件。

  • flexible.js是手淘开发出的一个用来适配移动端的js框架。

  • 核心原理就是根据不同的视口宽度给网页中html根节点设置不同的font-size。

image.png

四 less语法

Less是一个CSS预处理器, Less文件后缀是.less

扩充了 CSS 语言, 使 CSS 具备一定的逻辑性、计算能力。

注意:浏览器不识别Less代码,目前阶段,网页要引入对应的CSS文件。

image.png

通过安装该插件,我们编写的less文件在保存时,会自动生成对应的css文件,我们再在html文件中引入该css文件即可。

less语法-注释

image.png

需要注意的是:

// 单行注释不会被转换为css

/* 多行注释才会被转换为css */

less语法-运算

image.png

代码经转译为css文件后,box的高度为460px

less语法-嵌套选择器

image.png

image.png

image.png

less语法-变量

思考:网页中, 文字文字颜色基本都是统一的, 如果网站改版,变换文字颜色, 如何修改代码?

方法一:逐一修改属性值(太繁琐)

方法二: 把颜色提前存储到一个容器,设置属性值为这个容器名

image.png

less语法-导入

开发网站时,网页如何引入公共样式?

  • CSS:书写link标签
  • Less:导入

image.png

less语法-导出

方法一:

  • 配置EasyLess插件, 实现所有Less有相同的导出路径

  • 配置插件: 设置 → 搜索EasyLess → 在setting.json中编辑 → 添加代码(注意,必须是双引号)

image.png

方法二:控制当前Less文件导出路径

Less文件第一行添加如下代码, 注意文件夹名称后面添加 /

image.png

注意点:

1 路径如果要表示文件夹,最后一定要有/

2 属于less配置信息,一定要写在第一行,如果写在第二行,那么第一行不能再写任何内容

然而并不是所有的文件都需要导出,有些文件需要禁止导出。

image.png

压缩导出语法:

image.png

导出后的代码格式为:

image.png