• 学习Vue3 第十章(实操组件和认识less sass 和 scoped)


    概览
    什么是less

    Less (Leaner Style Sheets 的缩写) 是一门向后兼容的 CSS 扩展语言。这里呈现的是 Less 的官方文档(中文版),包含了 Less 语言以及利用 JavaScript 开发的用于将 Less 样式转换成 CSS 样式的 Less.js 工具。

    因为 Less 和 CSS 非常像,因此很容易学习。而且 Less 仅对 CSS 语言增加了少许方便的扩展,这就是 Less 如此易学的原因之一。

    官方文档 Less 快速入门 | Less.js 中文文档 - Less 中文网

    sass 和 less 一样 都是css预处理器

    官方文档 Sass教程 Sass中文文档 | Sass中文网 

    在vite中使用less |  sass

    npm install less  -D 安装即可

    npm install sass -D 安装即可

    什么是scoped

    实现组件的私有化, 当前style属性只属于当前模块.

     在DOM结构中可以发现,vue通过在DOM结构以及css样式上加了唯一标记,达到样式私有化,不污染全局的作用

     样式穿透问题学到第三方组件精讲 ::v-deep  >>> /deep/  :deep()

    bem架构

    他是一种css架构 oocss 实现的一种 (面向对象css) ,BEM实际上是blockelementmodifier的缩写,分别为块层、元素层、修饰符层,element UI 也使用的是这种架构

    BEM 命名约定的模式是:

    .block {}
     
    .block__element {}
     
    .block--modifier {}

    使用sass 最小单元复刻一个bem 架构

    $block-sel: "-" !default;
    $element-sel: "__" !default;
    $modifier-sel: "--" !default;
    $namespace:'xm' !default;
    @mixin bfc {
        height: 100%;
        overflow: hidden;
    }
     
    //混入
    @mixin b($block) {
       $B: $namespace + $block-sel + $block; //变量
       .#{$B}{ //插值语法#{}
         @content; //内容替换
       }
    }
     
    @mixin flex {
        display: flex;
    }
     
    @mixin e($element) {
        $selector:&;
        @at-root {
            #{$selector + $element-sel + $element} {
                @content;
            }
        }
    }
     
    @mixin m($modifier) {
        $selector:&;
        @at-root {
            #{$selector + $modifier-sel + $modifier} {
                @content;
            }
        }
    }

    全局扩充sass

    import { defineConfig } from 'vite'
    import vue from '@vitejs/plugin-vue'
     
    // https://vitejs.dev/config/
    export default defineConfig({
        plugins: [vue()],
        css: {
            preprocessorOptions: {
                scss: {
                    additionalData: "@import './src/bem.scss';"
                }
            }
        }
    })

    Vue 组件用法


     

     

  • 相关阅读:
    防止SQL注入攻击的综合解决方案
    VS搭建32位和64位汇编开发环境
    HTML期末作业课程设计期末大作业--小米网站开发者平台首页 1页
    SpringMVC常用注解
    记一次 .NET 某工控软件 内存泄露分析
    在线docker命令大全中文版
    c和c++的反汇编方法
    vision transformer 详解
    java计算机毕业设计高校运动会源码+mysql数据库+系统+lw文档+部署
    Pytorch LSTM 长短期记忆网络
  • 原文地址:https://blog.csdn.net/lipenghao111/article/details/137202760