前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
  • React专栏

    • React组合式开发实战

      • 前端开发的四个时代
      • 企业管理系统的前世今生
      • 可视化页面搭建工具
      • 实战篇 01:开发前准备
      • 实战篇 02:项目脚手架
      • 实战篇 03:页面布局方案
      • 实战篇 04:权限管理机制
      • 实战篇 05:菜单匹配逻辑
      • 实战篇 06:消息通知设计
      • 实战篇 07:多语言支持
      • 继往开来:可视化页面搭建工具
    • React Hooks与Immutable实战

    • React SSR服务端渲染与同构实践

    • IM聊天系统前端开发实践

    • 微前端开发实战

    • React进阶实践

  • Vue专栏

  • 移动端专栏

  • Node专栏

  • 前端工程化专栏

  • 算法专栏

  • Typescript专栏

  • 其他专栏

完整面试题地址:
作者:程序员poetry
扫码关注作者公众号:「前端进阶之旅」 每天分享技术干货
前端进阶之旅公众号二维码

本章主要讲解 scss 的基本使用,rpx 单位的概念,了解 uni.scss 在项目中的使用。

实际的开发更多的是结合什么样的工具,利用什么样的技术栈来实现快捷开发。前端三大工具js,html,css。特别是 css 上手容易,键值对对应即可实现,但是并不能实现复杂的逻辑判断,可以说是呆板鸡肋的。如果你想轻松自如健步如飞的写样式,那么 scss 绝对适合你,特别是 Uniapp 集成了插件后,不用复杂的配置 webpack 参数即可,让你在复杂的参数配置与羞涩难懂的命令行中解脱出来。

我们在新建 uni-app 项目的模板目录可以发现有一个 uni.scss 文件(相当于公用样式)。是的,你没看错。这里你可以轻松使用 scss ,尝试使用 scss ,会让你工作效率更高。

image-20210215144542499

在前面介绍安装 HbuilderX 编译器的章节中,我们就已经介绍了安装必要使用的插件( scss/sass 编译),直接点击安装即可,点击【工具】>> 【插件安装】即可查看,如果安装了 scss/sass 编译,就可以在代码中体验着酸爽的感觉了。

image-20210215144557176

Scss 是一种 css 预处理器和一种语言, 它可以用来定义一套新的语法规则和函数,以加强和提升 css,可以解放代码量。

Uniapp 首推使用 scss ,因此这边主要以 scss 来讲解,使用时需要 Vue 文件中 style 节点上加上 lang="scss" 指定编译语言:

<style lang="scss">
    /* or lang="less" */
    /* 测试代码 */
    .list{
        color: #fff;
        .item{
            background: #fff;
        }
    }
</style>
@前端进阶之旅: 代码已经复制到剪贴板

上面的代码经过 scss 编译成 css 后,嵌套的层级会处理成扁平的样式表:

.list{
    color: #fff;
}
.item{
    background: #fff;
}
@前端进阶之旅: 代码已经复制到剪贴板

你还可以跟 js 一样使用变量,比如定义一个颜色 $white: #fff (变量以 $ 符号开头),所有引用这个变量的样式值都会编译成 #fff:

<style lang="scss">
    $white: #fff;

    .list{
        color: $white;
        .item{
            background: $white;
        }
    }
    /**/
</style>
@前端进阶之旅: 代码已经复制到剪贴板

编译后:

.list{
    color: #fff;
}
.item{
    background: #fff;
}
@前端进阶之旅: 代码已经复制到剪贴板

就上面的方法就已经可以让你解放双手了,你是否见过下面这样一大篓的,甚至更长的层级的样式表:

.goods-list .item .img .txt{
    /* 样式 */
}
.goods-list .item .name{
    /* 样式 */
}
.goods-list .item .name .sub{
    /* 样式 */
}
.goods-list .item .price{
    /* 样式 */
}
.goods-list .item .num{
    /* 样式 */
}
@前端进阶之旅: 代码已经复制到剪贴板

我们很多后端的小伙伴就是因为不想写那么臃长的样式表而选择了后端开发,如果你用 scss 可以让你按‘模块’来写样式:

fe
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
  • React专栏

    • React组合式开发实战

      • 前端开发的四个时代
      • 企业管理系统的前世今生
      • 可视化页面搭建工具
      • 实战篇 01:开发前准备
      • 实战篇 02:项目脚手架
      • 实战篇 03:页面布局方案
      • 实战篇 04:权限管理机制
      • 实战篇 05:菜单匹配逻辑
      • 实战篇 06:消息通知设计
      • 实战篇 07:多语言支持
      • 继往开来:可视化页面搭建工具
    • React Hooks与Immutable实战

    • React SSR服务端渲染与同构实践

    • IM聊天系统前端开发实践

    • 微前端开发实战

    • React进阶实践

  • Vue专栏

  • 移动端专栏

  • Node专栏

  • 前端工程化专栏

  • 算法专栏

  • Typescript专栏

  • 其他专栏