# MarkrgbaCss_UniApp **Repository Path**: CLQing/MarkrgbaCss_UniApp ## Basic Information - **Project Name**: MarkrgbaCss_UniApp - **Description**: markrgba通用样式库 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2019-12-16 - **Last Updated**: 2020-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # markrgba-css 一款语义化的CSS基础库 - 声明: > 本库并无多少技术含量,仅由个人使用习惯而设计,请根据自身项目酌情使用。 - 特性: 1. 样式属性语义化为ClassName,实现样式解耦,自由组合。 2. 可根据业务需求自行维护,打造属于自己的css基础库 3. 支持按需引入,减小项目体积 4. 提供[css批量生成工具](https://www.markrgba.cn/#/make-css),快速生成CSS代码 ### 详细文档传送门[markrgba-css](https://docs.markrgba.cn/markrgbaCss/pc/#/introduce) ### 安装 - 在工程中安装: ```bash npm i markrgba-css-rpx ``` - 在main.js中引入: ```js //全部引入 import './node_modules/markrgba-css-rpx/index.css' ``` - 按需引入: ```js //按需引入 import './node_modules/markrgba-css-rpx/css/layout.css' //只引入布局 import './node_modules/markrgba-css-rpx/css/font.css' //只引入文字 import './node_modules/markrgba-css-rpx/css/color.css' //只引入颜色 import './node_modules/markrgba-css-rpx/css/margin.css' //只引入外边距 import './node_modules/markrgba-css-rpx/css/padding.css' //只引入内边距 import './node_modules/markrgba-css-rpx/css/border.css' //只引入边框 import './node_modules/markrgba-css-rpx/css/other.css' //只引入其它 ``` ### 使用 - 在你的vue文件中 ```html 一款语义化的CSS基础库 ``` ### 原理解析 - 我们先来看一个`内联样式`的例子: ```html 一个box ``` - 内联样式的好处是自由修改,无需去翻找className对应的样式。但,过多的内联样式会让Html非常臃肿。我们来看看markrgba-css干了什么: ```html 一个box ``` - 可见,markrgba-css做的工作很简单,`将样式属性抽离为语义化的className`,继承了内联样式的方便,可`自由组合`,同时精简代码。但这么做并不是一劳永逸的,如果遇上元素重复使用的情况,弊端显现,如下: ```html 一个box 一个box 一个box 一个box 一个box ``` - 还是不够简洁,怎么办?解决办法就是将`重复使用`的className组合为字符串变量。如下: ```html 一个box 一个box 一个box 一个box 一个box ``` ```js //======局部抽离======= export default { data() { return { c_box:'w-500 h-250 pt-20 fs-28 br-20' } } } //======全局抽离===== //main.js Vue.prototype.c_box='w-500 h-250 pt-20 fs-28 br-20' ``` - 建议在`样式已定型`,`不需要频繁修改`,且`超过5个className组合`的情况下再行抽离,否则就失去了本css库的设计初衷。为避免与其它变量冲突,变量命名前缀约定为`c_`,详细文档传送门[markrgba-css](https://docs.markrgba.cn/markrgbaCss/pc/#/introduce) >