rem 单位;是一个相对单位,类似于em,em是父元素的字体大小(font-size)
rem
相对于html
元素的字体大小rem
优点就是通过修改html
里面的为大小来改变页面中元素的大小进行整体控制html {
font-size:12px;
}
P {
height:10rem;
width: 10rem;
}
p
盒子就变成了120*120px
的盒子
媒体查询是 CSS3新语法
可以针对不同屏幕尺寸设置不同的样式
语法规范:
@media mediatype and|not|only (media feature) {
CSS-Code;
}
@media mediatype and|not|only (media feature) and|not|only (media feature) {
CSS-Code;
}
@media
开头,注意@mediatype
类型:all
(所有)、print
、scree
(用于电脑屏幕)all:
用于所有设备print:
用于打印机和打印预览screen:
用于电脑屏幕、平板电脑、智能手机等and
、not
、only
and:
可以将多个媒体特性连接到一起,相当于“且”的意思。not:
排除某个媒体类型,相当于“非”的意思,可以省略。only:
指定某个特定的媒体类型,可以省略。width
、min-width
、max-width
width
: 定义输出设备中页面可见区域的宽度min-width:
定义输出设备中页面最小可见区域宽度max-width
: 定义输出设备中页面最大可见区域宽度// 在我们屏幕上 并且 最大宽度是 800px 设置我们想要的样式
@media screen and (max-width:800px){
body {
background-color:pink; //屏幕宽度小于等于800px,背景颜色为pink
}
}
screen and
必须要带上不能省略
数字后面必须要跟单位,800px ,px不能省略
可以实现不同设备宽度,实现页面元素大小的动态变化
当样式比较繁多的时候,我们可以针对不同的媒体使用不同的css文件(样式表)
原理: 直接在link
中判断不同的尺寸,从而调用不同的css
文件
宽度为320px-640px时,调用这个CSS执行:
(min-width:320px)”>
宽度大于640px时,调用这个CSS执行:
(min-width:640px)”>
Less中文网址:http://lesscss.cn/
css:
是一门非程序语言,没有变量,函数,SCOPE
(作用域)概念。冗余高;不好维护,不利于复用;不能很好的计算
Less:
是CSS
扩展语言,也称为CSS
预处理器。 [CSS
常见预处理器:sass
、less
、stylus
]
加入了程序式语言特性。在CSS语法基础上,引入了变量、混入(mixin
)、运算以及函数等功能
less
安装:①安装node
: 网址:http://nodejs.cn/download/
②检测node
是否安装正确;cmd --输入 node -v
查看版本即可
③基于nodejs
在线安装less
,使用cmd “npm install -g less
”即可(等待…安装成功)
④ 检测less
是否安装成功,cmd ==>输入”lessc -v
”即可
Less
使用:新建后缀名为.less
的文件:在这个less
文件里面书写less语句
less变量、less编译、 less嵌套、 less运算
Less
变量:语法:@变量名: 值;
例如:
less文件中:
@color: pink; //上面定义
body {
//下面使用
background-color: @color;
}
变量名规范:①必须有@为前缀 ②不能包含特殊字符 ③不能以数字开头 ④大小写敏感,区分大小写
错误:@1color @color~@#
less
编译:less
文件,编译生成css
文件,才能让html使用:vocode less
插件: Easy less插件less
文件Ctrl+S保存就会自动编译成css
文件css
文件less
嵌套:"header"> "#">***
less
文件:
1. 子元素的样式直接写到父元素里面
.header {
//header样式
a {
//a样式
}
}
如果遇见:(交集选择器|伪类选择器|伪元素选择器):
内层选择器的前面没有&符号,则它被解析为父选择器的后代;
如果有&
符号,它就被解析为父元素自身或父元素的伪类
2. 交集选择器、伪类选择器、伪元素选择器,我们要在前面加&
a {
:hover {
}
} ===> a :hover {
} //变成了a的后代,生成a和:hover有空格
a {
&:hover {
}
} ==> a:hover{
}
less
运算:任何数字、颜色或者变量都可以参与运算。就是less提供了加(+)
、减(-)
、乘(*)
、除(/)
算术运算符
@border: 5px;
加法运算: @border: 5px + 5;
div {
width: 200px - 50;
height: (200px + 49px) * 2;
background-color: #666 - #222;
}
Img {
Width: 82 / 50rem;
}
注意:
1 运算符之间有空格隔开;
2 两个数参与运算,如果只有一个数有单位,最后结果以这个单位为准
3 两个数参与单位,如果两个数都有不一样的单位,最后的结果以第一个单位为准。
在一个less
文件中导入另外一个less
文件
语法: @import “less文件名”
@import:
导入意思 可以把一个样式文件导入到另外一个样式文件里面
link:
是把一个 样式文件引入到html页面里面
适配目标使高度等比例变换
适配目标是让页面元素等比例缩放
less
媒体查询
rem
页面元素的rem值 = 页面元素值(px) / (屏幕宽度 / 划分的份数)
页面元素的rem值 = 页面元素值 (px) / html font-size字体大小
flexible.js
rem
github地址:https://github.com/amfe/lib-flexible 下载js文件
安装插件:VSCode px
转换rem
插件cssrem
(可以不需要less就自动转换)
插件默认的html文字大小 cssroot 16px 需要修改字体大小的值。设置里面输入cssroot来进行修改字体的大小
/* 如果我们屏幕超过了750px 那么我们就按照750px设计稿来走,不会让我们页面超过750px */
@media screen and (min-width:750px) {
html {
font-size: 75px!important; /*!important 提权*/
}
}