当前位置: 首页 > news >正文

使用scss简化媒体查询

在进行媒体查询的编写的时候,我们可以利用scss与与编译器,通过@include混入的方式对代码进行简化,从而大大提高了代码的可维护性,也减少了代码的编写量,废话不多说,直接上代码:

// 断点列表 相当于js中的数组,只不过这里数组用()表示
$breakpoints: ("phone": (320px,480px,),"pad": (481px,768px,),"notebook": (769px,1024px,),"pc": (1025px,1200px,),// 大屏"tv": 1201px,
);
// 混合
@mixin respond-to($breakname) {// map-get函数可以拿到上面定义的map数组中的值$bp: map-get($breakpoints, $breakname);// type-of用于判断上面的键是否是数组/列表类型@if type-of($bp) == "list" {$min: nth($bp, 1); // 拿到设备尺寸的最小值, 列表中的第一个值$max: nth($bp, 2); // 拿到设备尺寸的最大值, 列表中的第二个值// >= 最小值  and  <= 最大值@media (min-width: $min) and (max-width: $max) {// 类似于vue中的插槽,在此处挖一个坑,外面可以往里面传入不同的css样式// 比如:下面代码示例中传入的是heigth的值@content;}} @else {@media (min-width: $bp) {@content;}}
}// 编写scss代码
.header {display: flex;width: 100%;background-color: pink;@include respond-to("phone") {height: 50px;}@include respond-to("pad") {height: 60px;}@include respond-to("notebook") {height: 80px;}@include respond-to("pc") {height: 100px;}@include respond-to("tv") {height: 200px;}
}

最终编译的结果:

.header {display: flex;width: 100%;background-color: pink;
}@media (min-width: 320px) and (max-width: 480px) {.header {height: 50px;}
}@media (min-width: 481px) and (max-width: 768px) {.header {height: 60px;}
}@media (min-width: 769px) and (max-width: 1024px) {.header {height: 80px;}
}@media (min-width: 1025px) and (max-width: 1200px) {.header {height: 100px;}
}@media (min-width: 1201px) {.header {height: 200px;}
}

如此一来,编写响应式布局就变得十分方便了~

http://www.lryc.cn/news/168793.html

相关文章:

  • win部署CRM
  • Linux命令200例:dip用于用户与远程主机建立通信连接
  • 【每日一题】981. 基于时间的键值存储
  • IMU姿态解算,从IMU数据中计算旋转、速度、位置,IMU测量的原理
  • 【Qt-17】Qt调用matlab生成的dll库
  • css经典面试题(二)
  • jira搜索search issue条目rest实用脚本
  • 《C++ primer plus》精炼(OOP部分)——对象和类(5)
  • 钉钉旧版服务端SDK支持异步方法的升级改造
  • 【C语言】【数据存储】用%d打印char类型数据,猜结果是啥
  • 算法——双指针
  • 【PowerQuery】Excel的PowerQuery按需刷新
  • Django REST Farmowork初探
  • 【flink进阶】-- Flink kubernetes operator 版本升级
  • Linux Ubuntu20.04深度学习环境快速配置命令记录
  • 信息安全三级真题一
  • RK3568-tftp更新设备树和内核nfs挂载文件系统
  • FIR滤波器简述及FPGA仿真验证
  • 高速信号处理板资料保存:383-基于kintex UltraScale XCKU060的双路QSFP+光纤PCIe 卡设计原理图
  • QT:使用分组框、单选按钮、普通按钮、标签、行编辑器、垂直分布、水平分布做一个小项目
  • 封装微信小程序隐私信息授权
  • 【C#】FileInfo类 对文件进行操作
  • python中的字符串也是可迭代对象吗?
  • C++ 图像线特征提取【HoughLinesP算法】
  • Stable Diffusion WebUI内存不够爆CUDA Out of memory怎么办?
  • 模板学堂|数据可视化仪表板大屏设计流程梳理
  • 基于Xml方式Bean的配置-Bean的延时加载
  • python之pyQt5实例:Matplotlib的应用
  • 智囊AI-基于 ChatGPT 的 AI 工具产品 你的私人AI助手
  • nginx配置vue前端代理