em:相对于父元素字体大小
rem:相对于html元素字体大小(优点是通过修改html字体大小使页面元素大小得到整体控制)
媒体查询(Media Query)是CSS3新语法。
使用 @media 查询,可以针对不同的媒体类型定义不同的样式,可以针对不同的屏幕尺寸设置不同的样式
当重置浏览器大小的过程中,页面也会根据浏览器的克度和高度重新渲染页面,目前针对很多苹果手机、Android手机,平板等设备都用得到多媒体查询。
@media mediatype and|not|only (media feature) (
CSS-Code;
}
注意点:
- 屏幕宽度小于600为红色
- 屏幕宽度600到700为蓝色
- 屏幕宽度大于800为绿色
使用 媒体查询 和 rem 可以实现元素动态变化:
购物车
当样式比较繁多的时候,可以针对不同的媒体使用不同 stylesheets(样式表)。原理,就是直接在link中判断设备的尺寸,然后引用不同的 css 文件。
语法规范:
针对小于640的屏幕引入不同的 css 文件:
CSS 是一门非程序式语言,没有变量、函数、SCOPE(作用域)等概念。
Less (Leaner Style Sheets 的缩写)是一门CSS扩展语言,也成为CSS预处理器。做为 CSS 的一种形式的扩展,它并没有减少 CSS的功能,而是在现有的CSS语法上,为CSS加入程序式语言的特性。
它在CSS 的语法基础之上,引入了变量,Mixin(混入),运算以及函数等功能,大大简化了CSS 的编写,并且降低了CSS 的维护成本,就像它的名称所说的那样,Less可以让我们用更少的代码做更多的事情。详情参考 less中文网。
基于nodejs在线安装Less:
本质上,Less包含一套自定义的语法及一个解析器,用户根据这些语法定义自己的样式规则,这些规则最終会通过解析器,编译生成对应的CSS 文件。所以,需要把less文件,编泽生成为css文件,这样html页面才能使用。
Easy LESS 插件用来把less文件编译为css文件,安装完毕插件,重新加载 vscode。只要保存一下Less文件,会自动生成CSS文件。
@变量名: 值;
变量命名规范:1、必须有@为前缀,2、不能包含特殊字符,3、不能以数字开头,4、大小写敏感。
less 可以嵌套书写,如果遇见(交集、伪类、伪元素选择器)。内层选择器的前面没有 &符号,则它被解析为父选择器的后代;如果有 & 符号,它就被解析为父元素自身或父元素的伪类。
任何数字、颜色或者变量都可以参与运算。就是Less提供了加(+)、减(-)、乘(*)、除(/) 算术运算。
1px + 5
,除法运算一定要加括号@mainColor: #666666 + #333333;
@textColor: red;
div.main {
background-color: @mainColor;
width: 100px * 2;
height: (100px / 2) + 100;
.text {
color: @textColor;
}
> .text {
font-size: 40px - 1rem;
}
}
div.main {
background-color: #999999;
width: 200px;
height: 150px;
}
div.main .text {
color: red;
}
div.main > .text {
font-size: 39px;
}
屏幕适配的目的是:
具体做法: