08 vue3之认识bem架构及less sass 和scoped
bem架构
他是一种css架构 oocss 实现的一种 (面向对象css) ,BEM实际上是block、element、modifier的缩写,分别为块层、元素层、修饰符层,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
相关文章:
08 vue3之认识bem架构及less sass 和scoped
bem架构 他是一种css架构 oocss 实现的一种 (面向对象css) ,BEM实际上是block、element、modifier的缩写,分别为块层、元素层、修饰符层,element UI 也使用的是这种架构 1. BEM架构 1. 介绍 1. BEM是Block Element M…...
静态库的制作
静态库是一组对象文件的集合,它们在编译时被链接到可执行文件中。这意味着,静态库中的代码会被复制到每个使用它的程序中,因此静态库不需要在程序运行时被单独加载。制作静态库可以帮助你将常用的代码模块化、重用,简化开发过程。…...
PHP在现代Web开发中的高效应用与最佳实践
PHP在现代Web开发中的高效应用与最佳实践 在快速迭代的Web开发领域,PHP作为一门历史悠久且广泛应用的服务器端脚本语言,始终保持着其独特的魅力和强大的生命力。从简单的动态网页到复杂的企业级应用,PHP凭借其易学性、丰富的库支持和广泛的社…...
大数据-134 - ClickHouse 集群三节点 安装配置启动
点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…...
2024网络安全人才实战能力白皮书安全测试评估篇
9月10日,国内首个聚焦“安全测试评估”的白皮书——《网络安全人才实战能力白皮书-安全测试评估篇》(以下简称“白皮书”)在国家网络安全宣传周正式发布。 作为《网络安全人才实战能力白皮书》的第三篇章,本次白皮书聚焦“安全测…...
[项目][WebServer][解析错误处理]详细讲解
可为每种情况都确实对应一个状态码,当发生错误时,跳转到对应的html页面即可但是为了代码的复用性,可以将所有的错误情况都归置处理 #define SEP ": " #define LINE_END "\r\n" #define WEB_ROOT "wwwroot" #…...
51单片机应用开发---数码管的控制应用
实现目标 1、掌握数码管结构、驱动原理; 2、 一、什么是数码管? 1.数码管定义 数码管,也称为LED数码管,基本单元是发光二极管(LED)。分为七段数码管和八段数码管(多一个小数点DP)。数码管在我们生活中无处不在,比如…...
Vue3+Django5+REST Framework开发电脑管理系统
前端:Vue3TypeScript 后端:Django5REST Framework 功能介绍 用户管理角色管理菜单管理配件管理仓库管理类型管理电脑管理入库管理出库管理库存管理收发明细管理 界面预览 源码地址:managesystem: 电脑管理系统...
Java8函数式接口全攻略
一、接口大白话 1.四大基础接口 Consumer<T> 核心方法:void accept(T t);消费者。接受一个输入参数,不返回任何结果的操作。望文生义:你给我啥,我就执行啥,没有结果。 Supplier<T> 核心方法: T get();供…...
英文软件汉化中文软件教程asi exe dll 等汉化教程
相信大家在使用国际软件的时候,会经常碰到英文类型的软件 或者玩一些游戏使用一些工具,也基本都是外网的,那么对于用户来讲 就会非常的不方便! 小编为大家整理了一些国内大佬出的的英文软件汉化中文软件的视频教程 教程分为EX…...
HTTP 请求方式`application/x-www-form-urlencoded` 与 `application/json` 怎么用?有什么区别?
HTTP 请求方式总结:application/x-www-form-urlencoded 与 application/json 在前后端交互中,客户端发送数据到服务器的常见方式有两种:application/x-www-form-urlencoded 和 application/json。本文将详细介绍这两种请求方式的特点、使用方…...
prometheus 集成 grafana 保姆级别安装部署
前言 本文 grafana 展示效果只需要 prometheus node_exporter grafana 其他的选择安装 环境和版本号 系统: CentOS 7.9 prometheus: 2.54.1 pushgateway: 1.9.0 node_exporter: 1.8.2 alertmanager: 0.27.0 grafana:11.2.0 官网:https://prometheus.io/ 下载地址:h…...
Apache SeaTunnel Committer 进阶指南
Apache SeaTunnel 作为一个开源的数据集成工具,旨在简化和加速海量数据的采集和传输。 社区的 Committer 是指拥有项目存储库的写权限的社区成员,即 Committer 可以自行修改代码、文档和网站,也可以合并其他成员的贡献。成为 Apache SeaTunn…...
组件上的v-model(数据传递),props验证,自定义事件,计算属性
一.props验证 在封装组件时对外界传递过来的props数据进行合法性校验,从而防止数据不合法问题。 1.基础类型检查 String,Number,Boolean,Array,Object,Date,Function,Symbol 2.多个可能的类型 3.必须项校验 4.属性默认值 5.自定义验证函数 <template>&…...
mfc140u.dll文件错误的相关修复方法,4种方法修复mfc140u.dll
当面对基于Microsoft Visual C开发的应用程序出现启动或运行失败时,mfc140u.dll文件错误往往是罪魁祸首之一。这个动态链接库(DLL)文件对于许多Windows软件来说是必不可少的,因为它包含了重要的编程代码和数据。如果发现此文件损坏…...
Redis中使用布隆过滤器解决缓存穿透问题
一、缓存穿透(失效)问题 缓存穿透是指查询一个一定不存在的数据,由于缓存中没有命中,会去数据库中查询,而数据库中也没有该数据,并且每次查询都不会命中缓存,从而每次请求都直接打到了数据库上,这会给数据…...
css百分比布局中height:100%不起作用
百分比布局时,我们有时候会遇到给高度 height 设置百分比后无效的情况,而宽度设置百分比却是正常的。 当为一个元素的高度设定为百分比高度时,是相对于父元素的高度来计算的。当没有给父元素设置高度(height)时或设置…...
java程序员入行科目一之CRUD轻松入门教程(二)
封装工具类 封装获取连接&释放资源操作 在实际使用JDBC的时候,很多操作都是固定的,没有必要每次都去注册驱动,获取链接对象等等。 同样,释放资源的close操作也可以封装一下 下面是封装好的具体工具类 package com.jimihua.u…...
(不用互三)解密AI创作:提升Prompt提示词的提问技巧
文章目录 🍊AI创作的核心:提示词 Prompt 的重要性1. 什么是提示词工程?1.1 提示词的工作原理1.2 高薪提示词工程师的现实1.3 谁能胜任提示词工程师? 2. 提示词编写技巧3. 常见的提示词框架3.1 CO-STAR 框架3.2 BORKE 框架 4. 提示…...
Python 错误 ValueError 解析,实际错误实例详解 (二)
文章目录 前言Python 中错误 ValueError: Not Enough Values to UnpackPython 中的 ValueError 是什么修复Python字典中 ValueError:ValueError: not enough values to unpack修复Python中 ValueError:not enough values to unpackPython 中错误 ValueError: Setting an Arra…...
2026学数据分析对就业能力提升的价值
一、行业需求与就业前景数据分析行业近年来的增长趋势和未来预测,2026年市场对数据分析师的需求量。不同行业(金融、医疗、电商等)对数据分析技能的具体需求。二、技能要求与学习路径数据分析岗位的核心技能(Python/R、SQL、统计学…...
CL API实时闭环神经控制技术解析与应用
1. CL API实时闭环神经控制技术概述在生物神经网络(BNN)研究领域,实时闭环控制技术正成为连接计算系统与生物神经元的桥梁。CL API作为这一领域的前沿工具,其设计哲学源于对神经电生理实验的深刻理解——当我们需要在毫秒级时间尺…...
转子永磁式无刷混合励磁电机关键技术【附仿真】
✨ 长期致力于次谐波、无刷调磁、有限元建模与分析、多目标鲁棒优化、弱磁运行研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1)基于次谐波调制与变电流…...
程序员的“黄金5年”:如何快速成为技术骨干
一、认知黄金5年:测试工程师的职业分水岭在软件行业,“黄金5年”是从业者职业发展的关键期,对于软件测试工程师而言更是如此。这5年不仅是技术能力从量变到质变的积累期,更是职业方向从模糊到清晰的定型期。据行业数据显示&#x…...
MetaClaw:基于MAML的元学习框架,让AI智能体快速适应新任务
1. 项目概述:当“元学习”遇上“智能体”,一个开源框架的诞生最近在智能体(Agent)和元学习(Meta-Learning)的交叉领域,发现了一个挺有意思的开源项目——MetaClaw。这个项目来自 aiming-lab&…...
终极解决方案:3分钟免费恢复微信网页版完整访问权限
终极解决方案:3分钟免费恢复微信网页版完整访问权限 【免费下载链接】wechat-need-web 让微信网页版可用 / Allow the use of WeChat via webpage access 项目地址: https://gitcode.com/gh_mirrors/we/wechat-need-web 还在为微信网页版无法登录而烦恼吗&am…...
基于httpx的异步HTTP客户端xcapy:提升开发效率与代码健壮性
1. 项目概述:一个为现代网络应用量身定制的HTTP客户端库在开发网络应用时,HTTP客户端是我们与外部世界沟通的桥梁。从调用一个公开的API接口,到抓取网页数据,再到构建微服务间的通信,一个稳定、高效且易于使用的HTTP客…...
前端光标定制:从原生限制到自定义渲染的技术实现
1. 项目概述:从“Cursorify”看现代IDE的插件化革命最近在逛GitHub的时候,又看到了一个挺有意思的项目,叫“cursorify/cursorify”。光看这个名字,你可能会有点懵,因为它和当下另一个非常火的AI编程工具“Cursor”撞名…...
别再手动敲空格了!用LaTeX的\parskip命令一键搞定论文段落间距(附局部调整技巧)
LaTeX段落间距精修指南:从全局配置到章节级微调 在学术写作的世界里,格式规范往往比内容本身更容易引发焦虑。当你在凌晨三点盯着屏幕,发现第17次调整的段落间距仍然不符合期刊要求时,那种绝望感足以让任何研究者崩溃。传统的手动…...
3步解决网盘下载限速难题:一站式直链解析工具实战指南
3步解决网盘下载限速难题:一站式直链解析工具实战指南 【免费下载链接】netdisk-fast-download 聚合多种主流网盘的直链解析下载服务, 一键解析下载,已支持夸克网盘/uc网盘/蓝奏云/蓝奏优享/小飞机盘/123云盘等. 支持文件夹分享解析. 体验地址: https://…...
