网络编程(九)移动端布局(3)

2021-05-24  本文已影响0人  blackmanba_084b

这里将要讲解移动WEB开发之rem适配布局

一、 rem基础

rem (root em)是一个相对单位,类似于em,em是父元素字体大小。
不同的是rem的基准是相对于html元素的字体大小
比如,根元素(html)设置font-size=12px; 非根元素设置width:2rem; 则换成px表示就是24px。

/* 根html 为 12px */
html {
 font-size: 12px;
}
/* 此时 div 的字体大小就是 24px */ 
div {
 font-size: 2rem;
}

rem的优势:父元素文字大小可能不一致, 但是整个页面只有一个html,可以很好来控制整个页面的元素大小

二、媒体查询

2.1 媒体查询(Media Query)是CSS3新语法。
2.2 语法规范
@media mediatype and|not|only (media feature) {
 CSS-Code;
}

【1】 mediatype 查询类型
将不同的终端设备划分成不同的类型,称为媒体类型
all 适用于所有设备
print 用于打印机和打印预览
scree 用于电脑屏幕, 平板电脑,智能手机等

【2】关键字
关键字将媒体类型或多个媒体特性连接到一起做为媒体查询的条件

【3】媒体特性
每种媒体类型都具体各自不同的特性,根据不同媒体类型的媒体特性设置不同的展示风格。我们暂且了解三个。注意他们要加小括号包含
width 定义输出设备中页面可见区域的宽度
min-width 定义输出设备中页面最小可见区域宽度
max-width 定义输出设备中页面最大可见区域宽度

2.3 媒体查询+rem实现元素动态大小变化

rem单位是跟着html来走的,有了rem页面元素可以设置不同大小尺寸
媒体查询可以根据不同设备宽度来修改样式
媒体查询+rem 就可以实现不同设备宽度,实现页面元素大小的动态变化

2.4 引入资源(理解)

当样式比较繁多的时候,我们可以针对不同的媒体使用不同 stylesheets(样式表)。原理,就是直接在link中判断设备的尺寸,然后引用不同的css文件。
【1】语法规范
<link rel="stylesheet" media="mediatype and|not|only (media feature)" href="mystylesheet.css">
【2】示例
<link rel="stylesheet" href="styleA.css" media="screen and (min-width: 400px)">

三、Less基础

CSS 是一门非程序式语言,没有变量、函数、SCOPE(作用域)等概念。

3.1 维护css的弊端
3.2 Less介绍

Less (Leaner Style Sheets 的缩写) 是一门 CSS 扩展语言,也成为CSS预处理器。
做为 CSS 的一种形式的扩展,它并没有减少 CSS 的功能,而是在现有的 CSS 语法上,为CSS加入程序式语言的特性。
它在 CSS 的语法基础之上,引入了变量,Mixin(混入),运算以及函数等功能,大大简化了 CSS 的编写,并且降低了 CSS 的维护成本,就像它的名称所说的那样,Less 可以让我们用更少的代码做更多的事情。
Less中文网址: http://lesscss.cn/
常见的CSS预处理器:Sass、Less、Stylus
一句话:Less 是一门 CSS 预处理语言,它扩展了CSS的动态特性

3.3 Less使用

我们首先新建一个后缀名为less的文件, 在这个less文件里面书写less语句。

3.4 Less 变量

变量是指没有固定的值,可以改变的。因为我们CSS中的一些颜色和数值等经常使用。@变量名:值;
【1】变量命名规范

//直接使用
body{
 color:@color;
}
a:hover{
 color:@color;
}
3.5 Less 编译

本质上,Less 包含一套自定义的语法及一个解析器,用户根据这些语法定义自己的样式规则,这些规则最终会通过解析器,编译生成对应的 CSS 文件。

所以,我们需要把我们的 less文件,编译生成为css文件,这样我们的html页面才能使用。

3.5 Less 嵌套
#header .logo {
 width: 300px;
}

下面是嵌套手法

#header {
 .logo {
 width: 300px;
 }
}

如果遇见 (交集|伪类|伪元素选择器)

a:hover{
 color:red;
}

Less嵌套写法

a{
 &:hover{
 color:red;
 }
}
3.7 Less 运算

任何数字、颜色或者变量都可以参与运算。就是Less提供了加(+)、减(-)、乘(*)、除(/)算术运算。

/*Less 里面写*/
@witdh: 10px + 5;
div {
 border: @witdh solid red;
}
/*生成的css*/
div {
 border: 15px solid red;
}
/*Less 甚至还可以这样 */
width: (@width + 5) * 2;

注意

上一篇 下一篇

猜你喜欢

热点阅读