天天看点

第一次学前端你必须要知道的rem布局以及Less的基本用法

rem说明

rem是一个相对单位,类似em,em是 父元素字体大小 。不同的是rem的基准是相对于html元素的字体大小

比如:根元素(html)设置font-size:12px;非根元素设置width:2rem;则换成px表示就是24px。

媒体查询

什么是媒体查询:媒体查询是CSS3新语法

作用:

  1. 使用@media查询,可以针对不同的媒体类型定义不同的样式
  2. @media可以针对不同的屏幕尺寸设置不同的样式
  3. 当你重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面
  4. 目前针对很多苹果手机,安卓手机,平板等设备都用的到多媒体查询

语法规划

书写语法
<style>
@media mediatype and|not|only (media feature){
	CSS-Code;
}
</style>
说明:
1. 用@media开头,注意@符号
2. mediatype媒体类型 将不同的终端设备划分成不同的类型,称为媒体类型
  值:all(用于所有设备)| print(用于打印机和打印预览)|scree(用于电脑屏幕,平板电脑,智能手机等)
3. 关键字and not only。关键字将媒体类型或多个媒体特性连接到一起作为媒体查询的条件。
	值:and(可以将多个媒体特性连接到一起,相当于“且”的意思)| not (排除某个媒体类型,相当于“非”的意思,可以省略) | only (指定某个特定的媒体类型,可以省略)
4. media feature 媒体特性,必须要有小括号包含。每种媒体类型都具体各自不同的特性,根据不同的媒体类型的媒体特性设置不同的展示风格,暂且了解下面三个。
	值:width (定义输出设备中页面可见区域的宽度)
		 min-width (定义输出设备中页面最小可见区域宽度)
		 max-width(定义输出设备中页面最大可见区域宽度)
例子:
<style>
	//这句话的意思就是,在我们屏幕上并且最大宽度小于等于800像素,设置我们的背景颜色为pink,当我们的屏幕最大宽度小于等于500像素时,背景颜色为red
	@media screen and (max-width:800px){
		body{
			background-color:pink;
		}
	@media screen and (max-width:500px){
		body{
			background-color:red;
		}
	}
</style>
遵循规则:
1. 媒体查询一般按照从大到小或者从小到大的顺序来写。一般建议从小到大写,这样代码更加简洁
           

引入资源

说明:当样式比较繁多的时候,我们可以针对不同的媒体使用不同的stylesheet是(样式表),原理,就是直接在link中判断设备的尺寸,然后引用不同的CSS文件

语法规范:
<link rel="stylesheet" media="mediatype and|not|only (media feature)" href="css地址" />
案列:
//当我们屏幕大于等于640px以上的,我们让div一排显示,当小于640我们显示两排
<style>
	<link rel="stylesheet" href="css地址" media="screen and (min-width:640px)"
</style>
           

rem适配方案

  1. 让一些不能等比自适应的元素,达到当设备尺寸发生改变的时候,等比例适配当前设备
  2. 使用媒体查询根据不同设备按比例设置html的字体大小,然后页面元素使用rem做尺寸单位,当html字体大小变化元素尺寸也会发生变化,从而达到等比缩放的适配

Less基础

Less安装

  1. 首先安装node.js
  2. 检查是否安装成功,可以使用cmd命令输入 node -v 查看版本
  3. 基于node.js 在线安装Less,使用cmd命令 sudo npm install -g less
  4. 检查是否安装成功,使用cmd命令 lessc -v 查看版本即可

Less变量

语法:@变量名:值;

命名规范

  1. 必须有@为前缀
  2. 不能以数字开头,不能包含特殊字符
  3. 区分大小写
  4. Less的编译需要安装插件 sublime可以百度less编译 vscode可以安装easy Less插件

Less运算符

  1. 运算符中间左右有个空格隔开
  2. 对于两个不同的单位的值质检的运算,运算结果的值取第一个值的单位
  3. 如果两个值质检只有一个值有单位,则运算结果就取该单位

rem实际开发适配方案

第一种方案

元素大小取值方法:

一般页面元素值取750px 划分为15份,font-size取50

  1. 最后的公式:页面元素的rem值 = 页面元素值(px) / (屏幕宽度/划分的份数)
  2. 屏幕宽度/划分的份数就是html font-size的大小
  3. 或者:页面元素的rem值 = 页面元素值(px) / html font-size 字体大小

第二种方案

flexible.js适配方案 下载地址:https://github.com/amfe/lib-flexible

px转rem插件

需要给vscode安装一个插件 cssrem 安装后修改配置项,默认转换的大小为16我们需要修改成自己的大小,一般设置75

继续阅读