08 vue3之认识bem架构及less sass 和scoped

bem架构

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

1. BEM架构

      1. 介绍

        1. BEM是Block Element Modifier的缩写

        2. Block:块,代表一个独立的模块,如:header、container、menu

        3. Element:元素,代表块中的组成部分,如:header__logo、menu__item

        4. Modifier:修饰符,代表块或元素的不同状态,如:menu__item_active、menu__item_disabled

 

BEM 命名约定的模式是:

.block {}  // el-input 代表码一个块
 
.block__element {} // el-input__inner  代表一个元素或者内容
 
.block--modifier {} //el-button--success 样式一样 颜色不同可自定义修饰符

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

// 使用sass 最小单元复刻一个bem 架构
$block-sel: "-" !default;
$element-sel: "__" !default;
$modifier-sel: "--" !default;
$namespace: "ck" !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;
    }
  }
}

 全局引入bem.css

不能直接再app.vue以@import url();是无效

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';"
            }
        }
    }
})

 在页面中使用

<template>
  <div class="ck-wraps">
    块级
    <div class="ck-wraps__right">
      元素
      <span class="ck-wraps--success">修饰符</span>
    </div>
  </div>
</template>

<script lang="ts" setup>
import { ref, reactive } from "vue";
</script>

<style lang="scss" scoped>
@include b("wraps") {
  color: red;
  @include e(right) {
    color: pink;
  }
  @include m(success) {
    color: blue;
  }
}
</style>

09 vue3之组件传参-CSDN博客文章浏览阅读2次。09 vue3之组件传参。https://blog.csdn.net/qq_37550440/article/details/142212697?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22142212697%22%2C%22source%22%3A%22qq_37550440%22%7D

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/875804.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

美联社发稿推广中必备的6个社交媒体平台

社交媒体是现代社会中不可或缺的一部分&#xff0c;它已经成为了信息传播、群体交流和网络推广的重要工具。对于彭博社这样的专业媒体来说&#xff0c;充分利用社交媒体平台可以更好地推广自己的新闻报道和文章。 在这篇文章中&#xff0c;我们将介绍彭博社发稿推广中必备的六…

SpringBoot实现房产销售系统全解析

第二章关键技术的研究 2.1相关技术 房产销售系统是在Java MySQL开发环境的基础上开发的。Java是一种服务器端脚本语言&#xff0c;易于学习&#xff0c;实用且面向用户。全球超过35&#xff05;的Java驱动的互联网站点使用Java。MySQL是一个数据库管理系统&#xff0c;因为它的…

2024/9/9 408“回头看”:b树

B树是什么&#xff1f;有什么作用&#xff1f;B树的插入和删除具体细节是什么&#xff1f;除了B树还有一个是B&#xff0b;树、还是B-树&#xff0c;他们有什么区别&#xff0c;又有什么相同点&#xff1f; b树在王道考研查找这一章&#xff0c;所以他的主要作用就是查找。 在…

spring常用注解(10)@Order

一、 1、作用 加Order()注解&#xff0c;在注解中加入数字&#xff0c;数字越小&#xff0c;优先级越高&#xff0c;最先执行。 2、使用方法 &#xff08;1&#xff09;自定义顺序 Component Order(1) public class XxxFilter extends OncePerRequestFilter{}Component Or…

Python编码系列—Python工厂方法模式:构建灵活对象的秘诀

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…

P3565 [POI2014] HOT-Hotels

~~~~~ P3565 [POI2014] HOT-Hotels ~~~~~ 总题单链接 ~~~~~ 2024.9.10&#xff1a;DP方程有问题&#xff0c;已修改&#xff0c;同时更新了长链剖分优化版本。 思路 ~~~~~ 设 g [ u ] [ i ] g[u][i] g[u][i] 表示在 u u u 的子树内&#xff0c;距离 u u u 为 i i i 的点的…

Android 手机自动化测试工具有哪几种?

一、Android手机自动化测试工具&#xff0c;常用的有这7中&#xff1a; 1、首推Appium&#xff1a; 推荐理由&#xff1a;功能非常强大的移动端自动化测试框架&#xff0c;还免费 下载链接&#xff1a;Appium: Mobile App Automation Made Awesome. Appium是一种被广泛使用的…

SAP自动化-AS02修改资产信息

Python源码 #-Begin-----------------------------------------------------------------#-Includes-------------------------------------------------------------- import sys, win32com.client import os#-Sub Main-----------------------------------------------------…

赵进喜:不透析、不用肾移植,“三维护肾”巧治尿毒症

潜心研究中医药治疗尿毒症等慢性肾脏重症40余年来&#xff0c;北京名老中医&#xff0c;慢性肾病国医大师吕仁和教授医术传承人&#xff0c;全国优秀基层名中医赵进喜总结出弥足珍贵的重症良方&#xff0c;临床应用无数次守护近10万肾病重症患者生命。让仅有22岁的慢性肾衰尿毒…

搜索功能技术方案

1. 背景与需求分析 门户平台需要实现对服务信息的高效查询&#xff0c;包括通过关键字搜索服务以及基于地理位置进行服务搜索。面对未来可能的数据增长和性能需求&#xff0c;选择使用 Elasticsearch 来替代 MySQL 的全文检索功能。这一选择的背景与需求可以总结为以下几点&am…

【Android安全】Ubuntu 16.04安装GDB和GEF

1. 安装GDB sudo apt install gdb-multiarch 2. 安装GEF(GDB Enhanced Features) 官网地址&#xff1a;https://github.com/hugsy/gef 2.1 安装2021.10版本 但是在Ubuntu 16.04上&#xff0c;bash -c "$(curl -fsSL https://gef.blah.cat/sh)"等命令不好使&…

测试2sigma离群点过滤

椭圆跑道形内部的离群点移除失败,影响拟合结果

『功能项目』战士的伤害型技能【45】

我们打开上一篇44战士职业平A怪物掉血的项目&#xff0c; 本章要做的事情是制作技能按钮&#xff0c;点鼠标点击时释放对范围内怪物的伤害技能 首先双击打开资源脚本下的Canvas预制体 制作技能栏 在资源商店中下载免费资源 - 技能图片 将技能图片拖拽至技能栏的Button按钮组件…

使用 React Testing Library 测试自定义 React Hooks

自定义 React hooks为开发人员提供了在多个组件之间提取和重用常见功能的能力。然而&#xff0c;测试这些 hooks可能会有些棘手&#xff0c;特别是对于测试新手来说。在本文中&#xff0c;我们将探讨如何使用 React Testing Library 测试自定义 React hook。 测试 React组件 首…

【YashanDB知识库】单机升级典型问题及应急措施

升级典型问题 官网升级操作指引 离线升级&#xff0c;一般线上操作之前需要照着做一遍&#xff0c;但是由于数据量少、monit进程在测试环境没有启动等原因&#xff0c;一些操作、配置问题在测试过程中不会暴露&#xff0c;在生成操作的时候才暴露&#xff0c;下面3项是比较常见…

【Solidity】开发心得 receive payable 里面尽量避免写代码,以免其他合约调用transfer 不成功

加密社 最近调试一段solidity代码,本来想测试在收款的时候,记录一个receive 和发出一个log,哪个消耗gas更大 我创建了两个智能合约&#xff1a;一个是TestTransfer&#xff0c;另一个是TransferCount。在TestTransfer合约中&#xff0c;我定义了一个叫做sendOut的函数&#xff…

o1系列亮相!OpenAI的AI新高度,解锁复杂推理能力

OpenAI的——o1系列模型&#xff0c;传说中的「草莓」&#xff0c;终于来与大家见面了&#xff01; 这个新模型可不一般&#xff0c;它可以进行复杂的推理&#xff0c;就像在认真思考一样&#xff0c;不再是简单的回答问题。CEO奥特曼称&#xff0c;这是一个全新的开始。它不仅…

Mysql基础练习题 1407.排名靠前的旅行者(力扣)

编写解决方案&#xff0c;报告每个用户的旅行距离。 # 返回的结果表单&#xff0c;以 travelled_distance 降序排列 &#xff0c;如果有两个或者更多的用户旅行了相同的距离, 那么再以 name 升序排列 。 题目链接&#xff1a; https://leetcode.cn/problems/top-travellers/d…

ROADM(可重构光分插复用器)-介绍

1. 引用 https://zhuanlan.zhihu.com/p/163369296 https://zhuanlan.zhihu.com/p/521352954 https://zhuanlan.zhihu.com/p/91103069 https://zhuanlan.zhihu.com/p/50610236 术语&#xff1a; 英文缩写描述灰光模块彩光模块CWDM&#xff1a;Coarse Wave-Length Division …

【机器学习】使用Numpy实现神经网络训练全流程

文章目录 网络搭建前向传播反向传播损失计算完整代码 曾经在面试一家大模型公司时遇到的面试真题&#xff0c;当时费力写了一个小时才写出来&#xff0c;自然面试也挂了。后来复盘&#xff0c;发现反向传播掌握程度还是太差&#xff0c;甚至连梯度链式传播法则都没有弄明白。 网…