vue中scss语法的使用你了解吗

目录
  • vue之scss语法使用
    • 引入scss文件
      • css / test.scss
      • home.vue
    • scss定义一个变量
    • scss里面使用算法 ±*/
    • 定义mixin函数
    • 使用占位符 padding margin等
    • 继承 @entend XX
  • 总结

vue之scss语法使用

引入scss文件

css / test.scss

$testColor:red;

home.vue

<!--
描述:
  作者:xzl
  时间:03月30日190506
-->
<template>
  <div class="Home">
    Home
    <div class="test">测试</div>
    <div class="small-title">小标题</div>
  </div>
</template>
<script>
export default {
  name: 'Home',
  components: {},
  data() {
    return {}
  },
  methods: {}
}
</script>
<style lang="scss" scoped>
@import './css/test.scss';
$titleColor: red;
$smallTitleColor: #a22;
.Home {
  .test {
    color: $testColor;
  }
  .small-title {
    color: $smallTitleColor;
  }
}
</style>

效果

scss定义一个变量

<!--
描述:
  作者:xzl
  时间:03月30日190506
-->
<template>
  <div class="Home">
    Home
    <div class="test">测试</div>
    <div class="small-title">小标题</div>
  </div>
</template>
<script>
export default {
  name: 'Home',
  components: {},
  data() {
    return {}
  },
  methods: {}
}
</script>
<style lang="scss" scoped>
$titleColor: red;
$smallTitleColor: #a22;
.Home {
  .test {
    color: $titleColor;
  }
  .small-title {
    color: $smallTitleColor;
  }
}
</style>

效果

scss里面使用算法 ±*/

  .test {
    width: 50px * 2;
    height: calc(90px / 3);
    border: 1px solid #ccc;
  }

效果

定义mixin函数

@mixin text-overflow($width: 100%, $display: 'block') {
  width: $width;
  display: $display;
  white-space: nowrap;
  -ms-text-overflow: ellipsis;
  text-overflow: ellipsis;
  overflow: hidden;
}
.Home {
  .test {
    width: 50px * 2;
    height: calc(90px / 3);
    border: 1px solid #ccc;
    @include text-overflow(100px);
  }
  .small-title {
    width: 80px;
    @include text-overflow(80px);
  }
}

效果

使用占位符 padding margin等

<!--
描述:
  作者:xzl
  时间:03月30日190506
-->
<template>
  <div class="Home">
    Home
    <div class="test">我就是一个</div>
    <div class="small-title">我是小白兔</div>
  </div>
</template>
<style lang="scss" scoped>
%pt5 {
  padding-top: 5px;
}
%mt10 {
  margin-top: 10px;
}
.Home {
  .test {
    @extend %mt10;
    width: 50px * 2;
    height: calc(90px / 3);
    border: 1px solid #ccc;
  }
  .small-title {
    @extend %pt5;
    width: 80px;
  }
}
</style>

效果

继承 @entend XX

<!--
描述:
  作者:xzl
  时间:03月30日190506
-->
<template>
  <div class="Home">
    <div class="caiji">我是菜鸡</div>
  </div>
</template>
<style lang="scss" scoped>
%pt5 {
  padding-top: 5px;
}
.testClass {
  font-size: 30px;
  color: #ff0;
}
.Home {
  .caiji {
    @extend %pt5;
    @extend .testClass;
  }
}
</style>

效果

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • vue全局引入scss(mixin)

    目录 1.mixin.scss 2.单文件使用 3.全局挂载 3.1 导入依赖 3.2 重启项目 我们在写VUE的时候,会使用scss,也会做一些通用样式,方便使用,在写好的通用样式的时候,每次都要单文件导入,刚开始写的时候,感觉还好,后面工程量大了后,就显得麻烦,那么本文就全局导入scss样式! 1.mixin.scss // 颜色定义规范 $color-background : #FFFFFF; $color-background-d : rgba(0, 0, 0, 0.3); $color

  • vue中配置scss全局变量的步骤

    在写项目的过程中,如果用的是scss来编写样式代码,常常需要定义各种变量,例如主题色.主字号之类的,因此我们会把这些变量写到一个单独的_variable.scss文件内,但是每次都要在vue单文件内引入这些变量未免太繁琐了,所以有没有办法可以默认把变量文件作为全局文件进行引入呢?答案是肯定的,可以用下面的方法进行配置,可以根据当前使用的框架和环境来进行方法的选择. 一.使用vue-cli(即vue-cli2)脚手架时 1. 首先,需要安装一个loader,sass-resources-loade

  • 解决vue scoped scss 无效的问题

    今天遇到scoped内部的scss设置无效,解决办法如下: /deep/ <style scoped lang="scss"> .position-el-steps { /deep/ .el-step.is-vertical { .el-step__description { margin-top: -20px; } .el-step__line { border-left: 2px dashed #c0c4cc; background-color: transparent

  • vue2配置scss的方法步骤

    1.安装文件 npm install --save-dev sass-loader npm install --save-dev node-sass 2.配置 webpack.base.conf.js 找到webpack.base.conf.js文件的module模块下面的rules添加以下代码 ... { test: /\.scss$/, loaders: ["style", "css", "sass"] }, ... 注意:这里loaders

  • Vue2.x安装并使用SCSS的全部过程

    目录 一.什么是SCSS 二.SCSS与CSS的区别 三.Vue中安装SCSS ️安装SCSS ️运行项目进行测试 四.项目中使用SCSS 补充:全局引用scss SCSS常用命令 总结 一.什么是SCSS SCSS是成熟.稳定.强大的CSS预处理器,而SCSS是Sass3版本当中引入的新语法特性,完全兼容CSS3的同时继承了Sass强大的动态功能. 二.SCSS与CSS的区别 SCSS代表Sassy CSS.与Sass不同,SCSS并非基于缩进. .sass扩展名用作Sass的原始语法,而SC

  • Vue+scss白天和夜间模式切换功能的实现方法

    本文主要介绍了Vue+scss白天和夜间模式切换功能的实现方法,分享给大家,具体如下: 效果图 图片被压缩了不够清晰. 安装Scss 注:若安装失败可以考虑使用cnpm,或者切换npm源等方式安装. npm install node-sass --save-dev //安装node-sass npm install sass-loader --save-dev //安装sass-loader npm install style-loader --save-dev //安装style-loader

  • vue中scss语法的使用你了解吗

    目录 vue之scss语法使用 引入scss文件 css / test.scss home.vue scss定义一个变量 scss里面使用算法 ±*/ 定义mixin函数 使用占位符 padding margin等 继承 @entend XX 总结 vue之scss语法使用 引入scss文件 css / test.scss $testColor:red; home.vue <!-- 描述: 作者:xzl 时间:03月30日190506 --> <template> <div

  • vue中setup语法糖写法实例

    目录 变量声明 父传子 子传父 变量声明 变量声明定义的时候,不需要返回可以直接使用即可 没有使用setup语法糖时写法 <script> import {useStore} from 'vuex' export default { setup() { const store=useStore() const plus=()=>{ store.commit('plus') } return {plus} }, } </script> 使用setup语法糖写法 <scri

  • webstorm和.vue中es6语法报错的解决方法

    1.webstorm中es6语法报错,解决方法: 打开 Settings => Languages & Frameworks => Javascript 把 Javascript Language version 改为 ECMAScript 6 这样做所有的.js文件中es6不再报错,但是.vue文件中es6语法依然报错. 2. .vue文件中es6语法报错 (1)打开 Settings => File Types 找到 HTML 添加 *.vue 这样vue文件就相当于html

  • 浅谈关于vue中scss公用的解决方案

    简述 最近由于项目要求查阅了很多关于scss公用的文章,以下只是对那些文章进行简单的总结 解决方法 a.当我们要使用scss文件的共用时,首先我们就要想到如何应当如何编辑scss文件,比如降低scss文件的变量与混入的耦合,我们可以将scss文件中的变量和混入分离开来使用单独的文件存储,此外还可以编写一些默认样式的scss文件 . variable.scss:存储scss变量的文件 @charset 'utf-8'; $bg:skyblue; $w:100px; $h:100px; $tsize

  • 在vue中import()语法不能传入变量的问题及解决

    目录 import()语法不能传入变量 解决办法 问题 动态引入import()变量失效 import()语法不能传入变量 解决办法 一定要用变量的时候,可以通过字符串模板来提供部分信息给webpack: 例如import(`./path/${myFile}`), 这样编译时会编译所有./path下的模块,但运行时确定myFile的值才会加载,从而实现懒加载. import(`./path/${myFile}`), 问题 可以用 const cc = () => import('./aa.vue

  • 详解Vue中的基本语法和常用指令

    什么是vue.js Vue.js是目前最火的一个前端框架,React是最流行的一个前端框架(React除了开发网站,还可以开发手机App, Vue语法也是可以用于进行手机App开发的,需要借助于Weex) Vue.js 是前端的**主流框架之一**,和Angular.js.React.js 一起,并成为前端三大主流框架! Vue.js 是一套构建用户界面的框架,**只关注视图层**,它不仅易于上手,还便于与第三方库或既有项目整合.(Vue有配套的第三方类库,可以整合起来做大型项目的开发) Vue

  • 在vue中使用jsx语法的使用方法

    什么是JSX? JSX就是Javascript和XML结合的一种格式.React发明了JSX,利用HTML语法来创建虚拟DOM.当遇到<,JSX就当HTML解析,遇到{就当JavaScript解析. 我为什么要在vue中用JSX? 想折腾一下呗,开玩笑.最开始是因为近期在学习react,在里面体验了一把jsx语法,发现也并没有别人说的很难受的感觉啊,于是就想尝试在vue中也试下,废话不多说,先来用代码来看下两者的区别吧. ps:vue中大部分场景是不需要用render函数的,还是用模板更简洁直观

  • 详解VUE中的插值( Interpolation)语法

    背景分析 在传统的html页面中我们可以定义变量吗?当然不可以,那我们假如希望通过变量的方式实现页面内容的数据操作也是不可以的.当然我们可以在服务端通过定义html标签库方式,然后以html作为模板,在服务端解析也可以实现,但这样必须通过服务端进行处理,才可以做到,能不能通过一种技术直接在客户端html页面中实现呢? VUE中的插值语法 这种语法是为了在html中添加变量,借助变量方式与js程序中的变量值进行同步,进而简化代码编写.其基本语法为: <HTML元素>{{变量或js表达式}}<

  • Vue 3.0中jsx语法的使用

    Vue 3.0 正式发布了,喜大普奔

随机推荐