目的:页面布局文字随屏幕大小变化而变化,元素高度和宽度等比例缩放。
媒体查询(Media Query)是CSS3新语法。
语法规范
@media mediatype and|not|only (media feature){
CSS-Code;
}
@media screen and|not|only (max-width:800px){
CSS-Code;
}
<link rel="stylesheet" media="mediatype and|not|only (media feature)" href="mystylesheet.css">
维护CSS的弊端
Less介绍
Less (Leaner Style Sheets 的缩写)是一门CSS 扩展语言,也成为CSS预处理器。
变量是指没有固定的值,可改变的
@变量名:值;
变量命名规范
1.必须以@为前缀
2.不能包含特殊字符
3.不能以数字开头
4.大小写敏感
例:
@color:?pink;
@font14:?14px;
body{
????background-color:?@color;
}
div{
????color:?@color;
}
a{
????font-size:?@font14;
}
我们需要把less文件编译生成为css文件,这样我们的html页面才能使用。
示例(header>a):
.header{
????width:?200px;
????height:?100px;
????background-color:?blue;
????a{
????????color:?yellow;
????}
}
如果遇见(交集|伪类|伪元素选择器)
a{
????&:hover{
????????color:?yellowgreen;
????}
????&::before{
????????content:?"";
????}
}
任何数字、颜色或者变量都可以参与运算。就是Less提供了加(+)、减(-)、乘(* )、除(/)算术运算。
注:
@border:?5px?+?5;
div{
????width:?200px?-?50;
????height:?200px?*?2;
????border:?10rem / @border?solid?red;
background-color: #666 - #222;
}
适配目标
动态设置html 标签font-size 大小
① 假设设计稿是750px
② 假设我们把整个屏幕划分为15等份(划分标准不一可以是20份也可以是10等份)
③ 每一份作为html字体大小,这里就是50px
④ 那么在320px设备的时候,字体大小为320/15 就是21.33px
⑤ 用我们页面元素的大小除以不同的html 字体大小会发现他们比例还是相同的
⑥ 比如我们以750为标准设计稿
⑦ 一个100* 100像素的页面元素在750屏幕下,就是100 / 50? 转换为rem? 是2rem * 2 rem? 比例是1比1
⑧ 320屏幕下,html 字体大小为21.33?? 则2rem =? 42.66px? 此时宽和高都是42.66? 但是宽和高的比例还是1比1
⑨ 但是已经能实现不同屏幕下页面元素盒子等比例缩放的效果
元素大小取值方法
① 选一套标准屏幕尺寸(750)
② html中的字体大小 = 屏幕尺寸 / 划分的份数
③ 页面元素的rem值 =? (750px下的)页面元素值(px) / html font-size 字体大小
或 页面元素的rem值 = 页面元素值(px) / (屏幕宽度 / 划分的份数)
原文:https://www.cnblogs.com/chri330dj/p/12456654.html