From 171d00b37f0b2b930aaa5627659b9a9878c15aef Mon Sep 17 00:00:00 2001 From: MichealWayne Date: Thu, 11 Jun 2020 15:02:25 +0800 Subject: [PATCH] v0.9.4 --- README.md | 19 ++- demo/pc/src/index.js | 4 +- docs/404.html | 4 +- docs/M/index.html | 6 +- docs/OO/index.html | 6 +- docs/assets/img/p-4-chrome.7a3409a9.png | Bin 0 -> 160483 bytes docs/assets/img/p-4-vscode.cf022980.png | Bin 0 -> 267759 bytes .../js/{10.eff3fc5d.js => 10.2f1b2ba3.js} | 2 +- .../js/{11.10e56509.js => 11.bbd2b56d.js} | 2 +- .../js/{12.c66d8e70.js => 12.78d27001.js} | 2 +- .../js/{13.43f629d8.js => 13.da9187d4.js} | 2 +- .../js/{14.98bc52ba.js => 14.de9b7436.js} | 2 +- docs/assets/js/15.0035bfab.js | 1 - docs/assets/js/15.c287e26f.js | 1 + .../js/{2.6f952334.js => 2.8a90cf30.js} | 2 +- .../js/{3.ef60c50f.js => 3.a9cfca60.js} | 2 +- docs/assets/js/4.2fbbf434.js | 1 + docs/assets/js/4.6194ac4b.js | 1 - docs/assets/js/5.aef08fa2.js | 1 + .../js/{5.ccbd581a.js => 6.6f2a9a89.js} | 2 +- docs/assets/js/7.491a4276.js | 1 - .../js/{6.ea2f1e6c.js => 7.bbc94108.js} | 2 +- .../js/{8.d35c3762.js => 8.c961094c.js} | 2 +- .../js/{9.1e03a0f1.js => 9.d65ac9cd.js} | 2 +- .../js/{app.4c478446.js => app.48bd9f76.js} | 4 +- docs/baseLayer/index.html | 8 +- docs/guide/index.html | 6 +- docs/index.html | 6 +- docs/moocss/index.html | 6 +- docs/nameDictionary/index.html | 8 +- docs/nameRule/index.html | 6 +- docs/nodeTree/index.html | 6 +- docs/other/index.html | 6 +- docs/saulte/index.html | 6 +- .../less/mobile/Component/function.less | 8 +- moo-css-base/less/mobile/Skin/colors.less | 2 +- moo-css-base/less/mobile/Skin/skins.less | 50 ++++--- moo-css-base/less/pc/Component/function.less | 8 +- moo-css-base/less/pc/Skin/skins.less | 41 ++++-- moo-css-base/mobile.css | 127 +++++++---------- moo-css-base/mobile.less | 2 +- moo-css-base/mobile.scss | 2 +- moo-css-base/mobile.styl | 2 +- moo-css-base/package.json | 2 +- moo-css-base/pc.css | 134 +++++++----------- moo-css-base/pc.less | 2 +- moo-css-base/pc.scss | 2 +- moo-css-base/pc.styl | 2 +- .../sass/mobile/Component/function.scss | 8 +- moo-css-base/sass/mobile/Skin/skins.scss | 48 ++++--- moo-css-base/sass/pc/Component/function.scss | 8 +- .../stylus/mobile/Component/function.styl | 7 +- moo-css-base/stylus/mobile/Skin/skins.styl | 39 +++-- .../stylus/pc/Component/function.styl | 8 +- 54 files changed, 331 insertions(+), 300 deletions(-) create mode 100644 docs/assets/img/p-4-chrome.7a3409a9.png create mode 100644 docs/assets/img/p-4-vscode.cf022980.png rename docs/assets/js/{10.eff3fc5d.js => 10.2f1b2ba3.js} (99%) rename docs/assets/js/{11.10e56509.js => 11.bbd2b56d.js} (99%) rename docs/assets/js/{12.c66d8e70.js => 12.78d27001.js} (84%) rename docs/assets/js/{13.43f629d8.js => 13.da9187d4.js} (99%) rename docs/assets/js/{14.98bc52ba.js => 14.de9b7436.js} (99%) delete mode 100644 docs/assets/js/15.0035bfab.js create mode 100644 docs/assets/js/15.c287e26f.js rename docs/assets/js/{2.6f952334.js => 2.8a90cf30.js} (98%) rename docs/assets/js/{3.ef60c50f.js => 3.a9cfca60.js} (93%) create mode 100644 docs/assets/js/4.2fbbf434.js delete mode 100644 docs/assets/js/4.6194ac4b.js create mode 100644 docs/assets/js/5.aef08fa2.js rename docs/assets/js/{5.ccbd581a.js => 6.6f2a9a89.js} (74%) delete mode 100644 docs/assets/js/7.491a4276.js rename docs/assets/js/{6.ea2f1e6c.js => 7.bbc94108.js} (86%) rename docs/assets/js/{8.d35c3762.js => 8.c961094c.js} (99%) rename docs/assets/js/{9.1e03a0f1.js => 9.d65ac9cd.js} (91%) rename docs/assets/js/{app.4c478446.js => app.48bd9f76.js} (92%) diff --git a/README.md b/README.md index 33d3be0..5b13445 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Moo-CSS -模块化面向对象的css写法规则策略Moo-CSS, 以及通用Base层样式库moo-css-base。[Moo-CSS文档地址>>](http://blog.michealwayne.cn/Moo-CSS/docs/), [English>>](./README_en.md) +以样式自动化为目标,模块化面向对象的css写法规则策略Moo-CSS, 以及通用Base层样式库moo-css-base。[Moo-CSS文档地址>>](http://blog.michealwayne.cn/Moo-CSS/docs/), [English>>](./README_en.md),[Moo-CSS生态(建设中)>>](https://github.com/MichealWayne/moo-css-plugins)

@@ -30,12 +30,27 @@ Moo-CSS ## guide ![Moo-CSS structure](http://blog.michealwayne.cn/images/notes/oocss/p-part.jpg) +### moo-css-base - [npm moo-css-base](https://www.npmjs.com/package/moo-css-base) - [moo-css-base vscode插件](./moo-css-plugin.vsix) - [moo-css-base 检索数据](https://github.com/MichealWayne/fe-tools/blob/master/datas/moo-css.json) - [moo-css fe-tools](https://github.com/MichealWayne/fe-tools) -- demo url: [移动端](http://blog.michealwayne.cn/Moo-CSS/demo/mobile/dist/mobileIndex.html),[PC端](http://blog.michealwayne.cn/Moo-CSS/demo/pc/dist/index.html)。 +- moo-css-base demo url: [移动端](http://blog.michealwayne.cn/Moo-CSS/demo/mobile/dist/mobileIndex.html),[PC端](http://blog.michealwayne.cn/Moo-CSS/demo/pc/dist/index.html)。 移动端demo建议调成手机模式在开发者模式中查看。 + +### moo-css-transformer(test) +css代码/moo-css选择器的相互转换 +- [仓库地址](https://github.com/MichealWayne/moo-css-plugins/tree/master/moo-css-transformer) + +### moo-css-web(test) +虚拟dom -> 符合moo-css规范的web代码 +- [仓库地址](https://github.com/MichealWayne/moo-css-plugins/tree/master/moo-css-web) + +### moo-css-weapp(todo) +虚拟dom -> 符合moo-css规范的小程序代码 + +### moo-css-sketch(todo) +sketch -> web/weapp ---------- diff --git a/demo/pc/src/index.js b/demo/pc/src/index.js index 51d0ee1..c7f65de 100644 --- a/demo/pc/src/index.js +++ b/demo/pc/src/index.js @@ -1,7 +1,7 @@ import React from 'react'; import ReactDOM from 'react-dom'; import App from './App.jsx'; -import * as serviceWorker from './serviceWorker'; +//import * as serviceWorker from './serviceWorker'; import {HashRouter} from 'react-router-dom'; import './index.scss'; @@ -11,4 +11,4 @@ ReactDOM.render( , document.getElementById('app')); -serviceWorker.unregister(); +//serviceWorker.unregister(); diff --git a/docs/404.html b/docs/404.html index 8cd3fd6..f417c16 100644 --- a/docs/404.html +++ b/docs/404.html @@ -8,11 +8,11 @@ - +

- + diff --git a/docs/M/index.html b/docs/M/index.html index 8994a6a..1e0fbb0 100644 --- a/docs/M/index.html +++ b/docs/M/index.html @@ -8,7 +8,7 @@ - + @@ -16,7 +16,7 @@ Github

Module

Moo-CSS中的M,模块化。Moo-CSS的模块化主要体现在全局样式的模块化以及模块私有样式两个方面。

全局样式模块

Moo-CSS将全局样式分解为样式分类的模块化以及样式层级的模块化。全局环境的修改需要变动的代码很少,因此该部分的常用模块将提取于公用样式。

样式分类

很多人都感觉,比起弱类型语言,强类型语言因为其严谨性会更容易维护。同样的,Moo-CSS将css样式进行分类,目的也是为了更好得维护。

根据样式属性的特征,将样式分类为以下模块:

  • reset:重置。重置浏览器默认样式;
  • grid:布局。布局位置相关样式。包含样式属性:margin, position, line-height等;
  • module:模块。业务模块,头、导航、菜单、列表等等;
  • function:功能。溢出隐藏等功能性样式;包含样式属性:clear, text-align, overflow, font-style, font-weight, font-family, vertical-align, white-space, text-decoration, text-indent等;
  • unit:单元。宽高,padding等影响块或元素的常用单元样式;包含样式属性:width, height, padding, display, border, flex等;
  • component:组件。图标,蒙层等常用轻量样式组件;
  • status:状态。透明度、是否隐藏、层级等显示状态样式(是规定唯一可设置!important的部分);包含样式属性:visibility, opacity, z-index, transform等;
  • skin:皮肤。主题颜色背景色等;包含样式属性:color, background-color, box-shadow等;
  • animation:动画。过渡和动画。包含样式属性:animtaion, transition。

另外两种特殊模块:

  • JavaScript DOM:DOM操作。供js操作DOM节点,不作样式使用
  • React/Vue/Angular sepcial:框架独有。供专有框架使用,如过渡动画。

Moo-CSS推荐其中grid, module, unit, component, status, animation通常由类(class)实现;skin通常由属性(attribute)实现。function大部分由类实现,部分由属性实现。

如:

    /* reset */
+  

Module

Moo-CSS中的M,模块化。Moo-CSS的模块化主要体现在全局样式的模块化以及模块私有样式两个方面。

全局样式模块

Moo-CSS将全局样式分解为样式分类的模块化以及样式层级的模块化。全局环境的修改需要变动的代码很少,因此该部分的常用模块将提取于公用样式。

样式分类

很多人都感觉,比起弱类型语言,强类型语言因为其严谨性会更容易维护。同样的,Moo-CSS将css样式进行分类,目的也是为了更好得维护。

根据样式属性的特征,将样式分类为以下模块:

  • reset:重置。重置浏览器默认样式;
  • grid:布局。布局位置相关样式。包含样式属性:margin, position, line-height等;
  • module:模块。业务模块,头、导航、菜单、列表等等;
  • function:功能。溢出隐藏等功能性样式;包含样式属性:clear, text-align, overflow, font-style, font-weight, font-family, vertical-align, white-space, text-decoration, text-indent等;
  • unit:单元。宽高,padding等影响块或元素的常用单元样式;包含样式属性:width, height, padding, display, border, flex等;
  • component:组件。图标,蒙层等常用轻量样式组件;
  • status:状态。透明度、是否隐藏、层级等显示状态样式(是规定唯一可设置!important的部分);包含样式属性:visibility, opacity, z-index, transform等;
  • skin:皮肤。主题颜色背景色等;包含样式属性:color, background-color, box-shadow等;
  • animation:动画。过渡和动画。包含样式属性:animtaion, transition。

另外两种特殊模块:

  • JavaScript DOM:DOM操作。供js操作DOM节点,不作样式使用
  • React/Vue/Angular sepcial:框架独有。供专有框架使用,如过渡动画。

Moo-CSS推荐其中grid, module, unit, component, status, animation通常由类(class)实现;skin通常由属性(attribute)实现。function大部分由类实现,部分由属性实现。

如:

    /* reset */
     * {     
         margin: 0;
         padding: 0;
@@ -128,6 +128,6 @@
         height: 60px;
     }
 

样式分层

根据样式属性的特征,将项目样式分层为以下模块层级:

  • Base:基础层,样式最底层,包含样式重置reset以及极常出现的布局及单样式、展示状态。(通常所有页面共用且不做修改)。
  • Component:组件层,包含样式组件和方法组件,简单组件样式,如按钮、蒙层;方法组件包括动画方法和预处理方法如rem单位设置、背景图片设置。可依赖于Base层和Skin层。
  • Skin:皮肤层,业务中常出现的颜色,背景色,且提供预处理的颜色变量。常供应于Component层和Module层;
  • Module:模块层,根据业务划分的模块,依赖于上面几个模块;
  • Layout: 结构层,提供Module层布局样式,构成最终页面。

私有样式模块

相比于全局样式通用的样式属性来达到复用的效果,私有样式更侧重于样式的独立性。Moo-CSS中,私有样式的模块实现借助于webpack的css-loaderpostcss-loader。重点实现Module模块层的样式私有化。

*基本使用可参照:

由于Base层、Component层、Skin层以及Layout层的样式基本无样式冲突情况,故Moo-CSS有且仅将Module层用于私有化。

- + diff --git a/docs/OO/index.html b/docs/OO/index.html index 33eb606..83197b0 100644 --- a/docs/OO/index.html +++ b/docs/OO/index.html @@ -8,7 +8,7 @@ - + @@ -16,7 +16,7 @@ Github

Object-Oriented

Moo-CSS中的OO,面向对象。Moo-CSS的面向对象主要体现在Module各层级的面向对象。

- +

Object-Oriented

Moo-CSS中的OO,面向对象。Moo-CSS的面向对象主要体现在Module各层级的面向对象。

+ diff --git a/docs/assets/img/p-4-chrome.7a3409a9.png b/docs/assets/img/p-4-chrome.7a3409a9.png new file mode 100644 index 0000000000000000000000000000000000000000..9b9bd63f2768b431128e6243ebc0c7a13dbd8424 GIT binary patch literal 160483 zcmeEuWmH_t67Dbz?(UY5;1b*+5FkMC;2uJ-;O-0_Ttk981P{So0t9ymFu2>`Zg2AL zJvq6T^Zvb`m$hciUekN`?yjn?`s(XyJ}4>Fmyl4Bk&vKPvbT9>{@w%tc=;hA5lL57gQ#_%>@#h#80c+46DWp6ObVIF z&-c~y*W$P@iJv_M5%A`|ZmXBX9}iWR#4mx57Es<{4)q{HVocC3UKU?#Ajzm&xbWII zZ`i+efYxoKIoL0F?E^D3`VxCkmAn9`xspfU3)m+wPS6RraKwBuGk`Aaer!rV_)t*3 z0(uv3_m8efD}(H(<=1x7Z|~L610Dqe0JL!S)k-w<0gYII#@EzwL~vqnC7SjsAAJtx zq#^4u@{KlO9GtNI9Quu0x1?G|VO4w{4)D2aqt5|u*b3~f{*{{OYNQEnT7ohDCEW01 z2~5I}OYt8g(bD*Y3d+wa;T5J0E_!a0hjwYwJ-wmWmiEeM{JL4u1P7)!>1!7YDw-MO zDIIV;Nt%?Y1-&Gbds27t!~|p1=P$plEYpyQdo$q_?$Knw{>mXBX&jY=hOev1*&47* zvl`qj#uH4=z!DNRvHi_~Hb&@&ZD7XO6UoN6dp{8#Nxq1kG%fLzeRD&-@uQA>@26C= zu5elJT>yt@VD_nx1oJY+m5nerAlAD z?zBPr%n~aVXnte-ng8g=i;|{drDvbm)LB0sELZC4(JDkvjw8*oE*7ouf+4iA_9}?C zA^0oCNDerm?T@+YjQ1Xyhw>QgrWMmOD+^X@s7Gg1b@ycX(I?C!R(#IllMy7O(gP9Y zbcs?jG0DE1{Qkjo?Xa8HY`HD$IrE~QZ7WdrXGI%+G!pHe@PP0^Vjdmt0hoLhh+{iu zfhe8x#Utk+2_)M}75zf&85irTIVNDI(!JfwqPlu8xs%OT_ZK3r=yllNeSsG`UnrkY zB(V?(`H}XBz9VYYL^D)9y;bc7Cux>Q@oy&P@|wwnQwQN?e~5Wu3PH!}fH#|?W&~I%PvdbxwR8h&sr}cq5qoTwn8LH z^ILFXFU9tyyEl}`iLl+Hf9m5;;CnV_RKcLsHq18zzJU~N+U3VTX$Y`NGNre5X)ucHKVOsuB z9%D!g{2+-N<4B9vBbgI|`#I3l|MjE3n5rLAIh2}$1W=jTBxYAq}mD8{i2ygxB1#@lI|UwV-O{$|Tt8~_P<6r6 zh$0F$=-OXtx}XE58YRXVq<4$q-;bq!$+@W$k&LymwG;9*f6He*`E_p5kn>jGYBV0yn~}dKByam zii16f#lH`mz1isfyOg(%BsdY|5w22hQVCLm5i=3)5f~9o5vmdSWK+ac9MHFKULie= z(rVRhhjcV{d5ZSGAvXPF_Osn6qJtH~!PPbc^X4s%v3Fw) z?`l7XP4j&-f44KBkaUX9OG?S7%ij3rB5kRrU)h1^_{H((_2mAc`uhw-sCM$ zBo6~mE>FXI=!}ZhbTxl9lhy2dkG>XUDC@YGvND5Bp&YyyIXLh5t>#o>CVFoxpylu~nEZT=wLRN6Q zCc-^Z_!#Zfm%q?TjjrbG$&|%)#3s@%DA>s==T+uz=f2CE%x{)KQ`AYD)SDM_JOk;H4gpOxkbblD5OZ)tm=ZoQJW{-Q^W!(8YoQlzk zYE!Sp?&F;cuj$6!nO%K2jdJaSSHz6E47-E~A3lbqt%BB=huo6L;u{{-=#W1u#XWyn z8(S4iUU#;2a(CL~=PJw!&KcG_UR{!~auN=@s^DrJt-SKg zGkiD8yrXq&I+s51xycTbgU&-?R(H0}#Gzqba$uGxT|m_5t}K@_w@=Q%EAC9*^0VZ0 zV@2?Sl-I0MsSYb!%bnh$3mM@e8ZFukkvog-w*%F{^5yrr(k5za!IFNGrY%&bUZ>~q zVGe{fY=?Rk-VAnM9Ji`WX!@#Ics2DaZk9s7G9{^3sH+!yR#_Ysa;nX%k*TX{Flo4` zcdOSFf7SWsI1pU5T%}>zZs9zUG{su%^-ZA`I(jvH8bQX)^V-_=-hVZij4YdnXM%rR z&FYagt-(*_?e9NoAWVsE6ali zsVouJ5o9jUT-2b54G9fC_Y6DvmL6};D)&tGtstf?WzM3;K9YE&T-jf0v>=e_*!fXA z!+vn}Wb5RuXv2NuX~t<=l0;YVNAf&MRzV@#oYj{L%F`oh#&zA4)$-O2UY<9HOmtnT zW}+kxM<;ACE##t|{7$Qm!(0BQz(I1pK9O0^!E@a)xAfy{pVLbxp9UL`F@zR07NT3W zYUgk$pC`lW=-0lbM4!6$279OlWFpd%Vai%}sBzv+!gXb9z%QB2nqXnOMR*@`Nug8k zwn6Q@e}Ce3{bsgQVPR0>ykkGzC;DXZOrovBGzvdT#4$lQPqfti&1ufvmyI$1xtKX3 zpY#KdDbDF{cWFnW=ywHP&=b#v^h}?$eTs$IQ}Meui)E5*@&?vkYqy0ZY?=G>JMB}q zHjML0&2wjwx6twH%5%l5d@pLRg1gO|ucxa0`GW9)@bDbXDP?!~t%ec~_J9jZCcud! zfcSvSPvE)3pekAxe{vzp4c%l4!o)I~*yF}8B2#tJa6d7Uv)5k&U#D;PWCBi)NG-IL zS6$sKJVzEk1RppXF6JTta?}ALy-0{xQyA!;5On`0l-7|iNyoXeAqVdd{L@2OZS;Au zJfGYHKbQM(8Dnwp!t#svCYmzuK(IK#eBY+q_Q004wf zetqC%RA>(X05O2fi|4Oh;dWDzQl6-Nu2FPZz{LAZLL5Yc&X4jE@d=%z7@-pO<1Bin zVl78yJ4t0bQ37Rk7XtN8NnQ5R0@@gA}4eCh1m z#BIu*n#KgmKL2S-Vf}`eVnJR)Y7r6zCJ@^f0HOxKA&UY2b;+&(N=iZQU{FUK2kYBy6 zao*FedD9vCEL}W<0qC&aZ#R~&XhWZ-Oaekg((=y8tn#=0J@dXnb7pk-`56o5VaDpg7mlW{w>Go(V5AaZEbi7 zUn!*35e#(n+QC7Ens)<9{nF@WFIvM%I3dMa-z@ay+IW#Ky3L96d5}LH*?8bl3iJA$ z{r7a(t5D2j#WIIEmhutDwdImzGfIkz`X-9-XvlKgW0I+Fm=|FE5ZO+TB? zu(xGzFD{~51JgVlNRa4w5&`!PFnss5o0939>vt0P6iayc(8|Gu>kWft~IQ@ zXZo>N=Sa+>t&Yf(xFBZEzr(mC;}~Kf+YS+Z@&cB<=<*>e>D}` z%xdiGc+MpSUat&H5VPW;dt@cB{QTc0{%S0(6!Dk5{{-jn`f%%-L$W&RY2hwos=1m$GQ8BDpu zRevGoKpd|M@_q7=rj-}*$94wBL*wyny})A^o(qSoo)Q2ipaUQ0p?}AqV;3c(F_ggS zy02h>dmwW|3%motLwTR`58p2t8V_pd(#}>A)`{q!v$s+cJ1eCyX3!wdTwS@(aSk;r zeGJ0;C&2~#I-ZEna%s?4)=y3@PmYc*Yin~M8oH7`cdTp;!2#NJQjwGEhl?QsrI5cX zw`2YHf~RIb1BE^Yg;K#QLGwB^m}HEW{7(Cpe<}g@ZjF$Hg@qM#TwH2&njPP1kt+P@ zaQ>|gVk)4+Wb)Q}SxcIwjg5DIbgu0Dg}$UX*Q&{iB*P8u7u3B~}Gua3f!|->y7s66f&$FFypk zo%*A1Sb+cS_lz+O-16Z}a%S{5RU}MFl`NPounk5#H7-pmbZsHH@ zr0X*P5o}iqs0e=W_HZOPbl}SKRH27GuDk;HxAJKKrXNbB%OBR^VTMB5e|r=F*zT$C zbHfxS-`#)c@HwnQS0y^d2S(D$het1TwV7=qNlZ@eIJ1g~h}d3IRyJh51BE)ntRH&0 zk>gt;k@{38LKp_V94XZ^bjpH_|*lqEz4jXDkE6e0+TP7{wmL*Vos# zD+2??Gnp~y9!vlZc{L317<8m&5Ks6()zK(0X?-?)f&5?~)CM4S{tDB7o7Ryez+bF+J8bl!NpaA?`ojxH20ySUnD`L?p9+EX z_mmh1_+XLzAc6_@vXD&{?O{^@tiM<6k3bK#!3GoT{}craHvd!9zs=@-)El{$GsxD`Nitk5OVvr43Lz50>GZQh5=$CI}s`mL6($cM)~d8Y$8he-|$7?U+_g&QBjdkHiH@GAMr~l48Pc` z>EZtae!+l+*=gGssDG`EzXT#it?>)L6xP!-KWrj{h1rUw5d4QArSuoxP;*k&eAvYE z3%_*WF#LYQU#JwU`wPDmZD*A~Yt(g^SHWS_(fwv(&!<6nf`@eFr;%H z;urg0_@%Tktox``K(RIgv022-}gcbSaPXEMM^?#+?v-mTz0&`-LY4T%+$*F8eZ$S zLcqG%O2IKRVS=nlgwBt=j;<}+t8-@JBPbbKLnd`0kLnm{AL~C=cluheNIVtHT+Aa6 zFm5I8pcDM9ooELj2YLYpLq1RL%*P0O(h-ZjNvSokF7hVjSW^%g6-?1xpBf0U?DSROlxX!yQi7I|%}y$z{E(k8yJGL^KjntwFCp>$ z`yp&!F=0?Ki@8;w`&-)FL+Q$=oo!S=Ej+W6ki_CXL9JCIY~q!q@qC1}N?+>#U_wu^ z%d2y$SaxD!;`5ZVF=LN9sDM(w9z!p~=bGR7w=OPbz;a&723&=Tl**7Gasxbi`^7(~ zFtNRVy>{jaZNAy}0{>MAGPso;4%%cyXzUb!#RLzdLw=E&))R$l)_dCPF5zkjF<5^t z+OAl!$5IsGCYL=-Euh--u4ZUb?y8182Z&jxy1zuXZq&)iNi9^C_|IpkVFHdIc8YeO z#rFwEw%w1wF=I<^PvW+0AA?b*?(>7@7GkERrhJSUWo35hoD6;O|40M{i1C?FTi_ED z6WjJBvbm5_U~gz^YhtrSqIv&etN*$LH)7M5&=^XANjTpHjKMEUAyn4XG(<*X@_L-@ zHtJHXJ@htW)InlB)EVp~2$c$AHa7bq1>fEc*vreyf5=9ZqHTr$doBHrMJRF^{nQyM zQqqX{s0h3+P{?rl5Qf4}_Z-8A14=>;hk3Ivvoka8TX4#c!BoKyT{SEflg_A9iP6!~ zVM4%rNCx?eDWJS2r^(<(fJKjvK#+sG7e3iPjEfjZfB_6`ao(G;y#;s~0se{0TcuW- zpw8&y%JwBB{{9aHWV8?P3%4f;g0{9c`3~x8%V-_&_k#H=#}_kd^FuJfM?^wOZ867y z^D@b(shQgP<`1(XlSBT8!BLFb2gK-YLhX|%@!?_kzB2KC}Xwl4?49qp88v6peZklZlm;xn6ok8n=| zJbuSrN7xnUAWHiS&j1kjyYMvY>~m+0f+--ePvoTD^3WeY`NNeM_G14ubpCdI*Zr{~u>-B{GNZP`rb;{5r*L}|WFui>&dO*8{o)4vtASRp4{W1IuXM%W>^eD^oU zec^B(yI+H6T^79bGL>v$wCKp@pCt1u6`;yN+06-az84ELL5C1BVW2sbdNiSshcgb0 zti>jN#NJL_?tW^KUy_@PkQ+XmlL;zqzS@qxacQ}pgT~6S8twVw;$Z#;bFJev2MOo> z#75|v^%kvqZgNrAeG6BRTgB5l$zvUe$Se_r49mo0g4K-1VKbY2B2!g-K5o zJd7r#0CV{JqQj9=Q0Ff}jyHxB=>j#e3u0PZTYVeu@2=$#eQO%mSaMfLB@-lVED8q- zbw7Uk+YLoO21Zz%amiZa&R}eCH3(NTsLDYG&QI$VZ_bk{I``A`NB1jlSFz@xO=UZ_ z`xtrXnp)h7cLBFE5H_2AnO;Pgir##b4Es#d9Jlh3QGR#}hWmCVOPCr8bLA30raAz@ z#mJjsz~)(-mfIWEKfzTVG8o>)nuX!4ewCmIX-+FKo(w*Vp0zozZ|+jl&Ex1t(!$L7u;@4b zWYMntVbyYbW<90n;xsTInLOfkKDU9dm<}2j_dOL@8=0Qof^CcSy?E*E;c@6duiYYk zd983r<-SSdvfp$bbe_{&+exTXD|`<5_F76*u*ZCO+Vl3ciGaJ?nq zB3Tagt&``aKXppdn7+ffu4%Y+K@~A3X4d9oy2x4T<@Semn!rQr8{8pI=Q(|9 zr?IhG@!23sZ)qTj3#52)eZbmYxXB;7&xTp+aX-INTAMqI0Pk+6>ia89SSCEmiveD( zCi8QmmjB4W`K)_waCejl-TgMidcB&iw>0muzt?;be6CAZ$M?5; z0^i_iHnHkwM(R&5+>h)>UaaN}h&6R_e9*m=$5tY?-ny-kX) zPjryxHdu9byzi$#G|$&f$;X!F-Oa9%`NOHT=qNOIA+cHash@^uD63qORkc>R zAa~uoP7PEb1GS%Tp4UC64PU(VSR+JmxogN5lrIUXA6VxVWGTML^Pibx!8)mr@~Yvx z6(nVIFWn+Y7jkp|kQ!LT9K1J4dL+OUeVW+aCvBuDbQTxf8q#0^+pBy`h&S%JPr#%e z5Qfof=$lLqYCepxspV~4!uZ++&|6A%ncu<`xiECutD1`JLlC`OjZ+Bnqc!$LJ^g7M zRaet|TB0!J_XnQ(K?M%>pLbel@?PM{PdnmLXu3&ylVN3b{!*gdE&r7Zm4NpQ@)Hq8 z4|k8a>+`X9wJuG0k4f>!(Z$@ z#!#vtudeQJx=2Rf*7mkNEFNYWQBx&KGsGd^97g$|d(7V++@3EiP&o8Ivz{#0g4XYp zI%w!QsS$fZ?7A;Uq?|nG-8SkH_1zg7qZCAMPhyMrz0Vt-NW_P$*ypF%hmO4lI*_8+ zw!$F=sDi8;_IS?Y(r6-&oME3dMa6UJ+^KFgV5i)SyASC^hIB zEH)?#cx-gbWk(${+Hx0Rb^B&(!*@TV(`xnks^0=MaTsX|k7@zB8(wlaRt@GQE zOox>niC&NTT4IG(UIwu!7-+HQR_@hd5-O4|$()qP_c1IS#c5EkZpi*vPM}CDVkP zdc1DE+OFPNBEjT&R?lPu#a!RQV%j2PGcQ{@-A7sPzJ`{z9@wtes3#6YXo$32)J&VC z3*BscnAT3Y$(9GLTq{W2vR$}czS%{+pNh+?!wb&C*u41;KZAz>L`{r)RDyu}gi}Cm zxt;UfM|_vggrmDOG=VvZwj{V_!Ka#uiwpCFo7NJ}a3uVg^SKjqo<5DwBoD9rPvHhH z)-7BV%k_Qt=j~rMT>n5BlfASk@tcCqYdb|CaH4-=Mh8i~S>Ep(P>DIRh^gUsSdVA0 zh@nqek8btH64Bh&(l}(RUG(EH_SGBhBD2}`J}oks-ueXP4sCV0hBlP>kWvmM^A73x z+@3;@`q;2)vZF-YUyuv^j@AIsQxWhtR(-q%;&goH)9U+0n3bQE4cUoaeP^c2tzv-{ zO1YL$UF1i``Z1>?rERG>n2T&6SwcEBTq4*J$q9=su_>Ak4t(8|OR|J2d%J`>Z0e9om)^TqQt)d{Z)c@|{ZX7hYxzY8Ii+_RYgF3%vaJ z@hI4MH&lS%z5>Zus7%Td$c2C~Qf=4x zcWoX%derT zmmmriOq!K>N#)hS<+3vs+6C6wQ$i+r(N}-3&>?X%5#Tu#nELfF-g>JLj1va1I24O> zgVYs4a7@e4YdGPv{Vu!r_I>PY&-Dl1ot7sqZ?!s{i%x8mVl`VUp<=b~UgRuV0-LWF z#FX!i*}dA^v#)3U%7cN>p{*>(EO%^8aqk&8^2E(l==QYJqyFEudP*voQsSl%;q zMuf;fUu+{VI+_Im|Y?FDydF z3=2XmFMPQ3osboTPsc4rWS4YonySX85Z?>5B8eQpxr|5>1$Lp85M&(iNr=k;kp4)R z>K=b%)!{K2x0cVPe?b-QcQ2Kx>q^>R6%}ae4 zf+mO5n}_nLrKJT5owq%FemtAo{>Gh<&bq}_^0MY?CTI`$an^#Z%}unoB!uC@0=(ah z7yhVVT>;}~uAL96NQ7oj33@musidJQ_IepFBv|NG6+KNzP#-^d91*TTfx(EB+qaJm zOl08s_4NgPougxNdW9fI5j`~}MBUzHLJ@&V*^(Uipb4$Tg`nW}G zsAg91{9boTJ2)w>%O8x$4q+zZ`up5PCb+6vS*FvW&(o{F=$z_>%EfiW?pQYXfa<_D z@j&xAD!(Dn)4H=sqlpH(;f1N38+_wfp@sW%0(2b0vLe&+%9mLrh|K*9Scw&zVc^#M zxTuvR4B%xgv#iz!--Yb5&c{V{Ty}*$1$4S-NFpc063~Uay#*;^%F5wPbi^61STT>z z?mwpS3KO`U+kDwPZ#zb?rRqwDB(ZhMAmT;S>LTE?upzJ`treCY-HrE*L1-GP>L%?yBy^8ndu#t>8#MO<8KC$uaBNev%CmTzuXgs2%O?aX zcd$pJP6dPnJU0}7-SLx9ylH2h(sdC|@D)UkA<98pQ9K=Ccb_VaiGWDa+dEChZuzE4 zs+B-P7sq=`%s_m23emcD2{C^JxXx7~_87&w<<|N5%^x0~y$9J$w(Y!h549%SFA#Ca zZRdnz?Iy=C(1!$cvjseTbUYH{ z2l6U$NE$Z_f^zKXA8EkD&P{6>*SIOax`xC8}59`i9 zjgZbuY`prc%G(g3VFovEG=-#)UsY;n3H@H_83N$bcjz_IQwWx7=O=lpMEAtSAIsQ4 zKWBj2X0}BLEYP~dKIyV;G{g-9DQxyW^#tkQm(t+e5w#VO*TAF5rZ*<)#pW2LJ zB=w;K*9~^`4N%L!piGDuXcp}TbyAgf8J-^Y)?Fwwb<TWs@{o(?2qY$c@%jwiR`=FH@&xY6p zt>!cA`PL2&I=r50c_ZKAVWd^J@R1B*+cb5m(xH5&h3$U4ti*n(C58P`lztU|@S@m_IH3d5Z~$NZ0mxj}F?2%+_76 zM)NYX>3rVS`|elnZA);UY|~taZ^MiwARqvNIXOb>E8R?VLgoAsw1tZJy2?4+$!dep)$S{oT-sF!S@AOr_(>Vpgo^*h<5Np!xo z5a)axxS2E5=10_YPi9jH`HSD857XghqmgRQXrJ@mRo$S0?!9NiD*_Q$R`tBkn9rM{ z2y5g-Mc%*t5SBbSC=Z7pVPU28UJ*CEz@$pt?crj9^B}GoYEQNA zWq@9+L}8V9SKJ8SU93QVx#?NcbT7!D;QsFX{oQ$kj&1d z4biDZ*Mi9Q+L(+Ac2Rv>&&!B8ldn!q2AJVM@3gza;K+3K>QBoQQ70dlKcc9_JaX$y zl^)9xIgda{z(p{j=fr&-DyJy{qR8dO^+x( zb*vln{8XOymJv$Mcm2qs+?zhBi_)T3G1ou4Mb>{IZ`-%N@@~T?!3#I*ywLIvOiRbF z(SP{V=x5;j^Ef9HTyE35YpUcm5j;;xF;!I0e9CJVknklequQ;Q_vpM_zsKmSyGSan zn7GXC_t}v61|jKo788ZT zW|<=xI#yL`e7V#~i2h>n$Qyr!5LjfC5tuM5t5LRRO4x~8&{=7A-9~pYJD6@RP<6|z zp|cEi5t-Z&IWj1c3vJ15*|G707RycY$rFVzLPs2OV`6Wqz;KJ9$qjN9>Ien|e0zQh z=c!nO%-1u%gq-05Uf@L?jS`1+_u~_l=w54~Y>ma>1YB1n#v!tn@?JgC@Q*+FIIgH! zeV*JZvrjCFHpbwl)s6>`*fVC{ETbdXiSN1JmKO+Tyk82b1$n=TB$I_v(GrJU$W-p6 zU9;G>OMyfm@$Dl(Kizjqj8Sz?>X(AZ{D`y;C(2=z(bFzVN8d?&7~vtz_|AB(nD~R( zZyt!91er@V#v&fV*e~j}rCoEa&H_!Tk#|A!=Rcl+$T1;763a9EeEC7zOB-!7Wl#aXlG;t3G%^U({TZPlKH2j|3{oI z1Qs6G2?}B8j;O(gewA^Z`$QQDlEjhwRj-hk5IXi zi}7C6j{%WG3W6J68G^rHKJK@VPpN3h_c0u2{q?TWJGVm?KD&MCsE=Rz#gv?5=_7p+ zap+r&$>Mun6A8}u`jFozTi5sKdF)jg4e!+~Kv`RE?0LPe%DKlzZ?2|VoDHsLru-7c z4y)`|W2Ci*10Xv5bZ?jF@qe@OKcdCBb4%xoNuTh_yFqU~S_BUp2bB(m&(un+lLJ|- zZ>I;AJntuV5a&h*;m*&AkRWA11YO}H`-$G`<)i24W%o@yuUBide(qM!*FL$)Ne>5{ z3ythgI${)+%2a$rG+=X`ZRyj_U_;@m)2m^uJ)3;$av$dferD9#Lr;AkjC2LLqteq7 zBDu2RU~8_QH9t-by!0M1-s(%dE1kWi{>g(b!c^;3zPPO3HUsy@Zq~oa`jV7Q^7S#M z-yl}_)0rT>Xv>6f1DCz}Xdl9lLXRu=i z-8{r7D+^~GB%MO}9bjX}lO-&lpL#BHPDa)<`!H5%DIe){t683Bnl`1(XF^RQ&~EoR z#J-OuwON5ZCN;t7QDRKRZx|0|M&>G%pQf*?(mgJ$@`p;pFo}v7msiQ!>#`d6>#ECA zb$;0P#%7vFoo8E%w#mh1z6j>)utarCM4j{oZg!zhVT|+Z>8IZ81CoeWid;!wUX0i$ z<*jzt)T%p=<(sXL#q6FxMh99>7Tdw(q z7r4MLLCqTmm(?!wic=0tiN_X=88h%#nFJ+fn)Y*Z@=mT3jkmJxSeVAj%ywX7I)jZ# z<*Wf#*t@jC!m`%qdUkRWa6DL5KxRz~*PtvN6n}le>*Mz0XX=)bz<%Q~1h!E_=H2xR zxPKVX%?2v)ErHHI4|#T()3jEyvV>J0Sw!&8UruT3FaItN0MDS{PZaFV3g@Lw=s!~7 zf*Jl^RFT{deN=BQ`bPh(8L#hRhCy(8ak*vA8`DjZM$`?0G+f9pNA|Has*o9t3zjEK zG1jL+>A7(}1_lPM#a`ntqxF=JSbD4nEi{aHJ*r%@F<__uU^s4e4hGD>RLC)LCX^#e zZtw2CkAD08&+RWmA(YpuiDWv}eEtEl`1$A80*YV837@?oR{Ao)x0qk#$UQ3e%BBQA zs(c$H?(dt2@`Ik*R5o1-#jMhohXlCZ{~3=I=`C$*0v`LjwdNkvGiKWE0^yuVj`1{j zhCeAFT(DFngA*)s5sdk{_LVu0E6QM6uJBd~M=A+93lW$wt#KrQa)-g=sJyP$$NdKX z$GQUj%ju~NNX~`j9>8nIt1FzOw4{WE3-c#3TxVR|lHpqKQ3B^T2HCru@$7)v0ga0hW z>1f=%4wOP>w=#64m2@AMcxKtyxA(M+p9=Sn5~5cYKyDr;)o*6;kZ}a+H!oW?(z;PU zFx=Rk`;Pk@*SM;eE*;xHett+AbcfVXp|npc#I^LaGN{S%X*iG@aGXV$bJMql2Hd`# zGJ|W2A7zv9ox~kJ-{KAw>+*x`nFl4)8Ou^csy{C~GmKLA7EX9Z={BjVF#5*`(DBSH z7%g6F)vUdO+A5GoJOLZ6xij0dOervKtrDuPeRItlOB@_{On-IYgziCTf-b`WuJ2!> zcQU9HMj}SEkkE{-U^8wFC14Vl@C^rY0L?;udE}oA7XT=xDtbMwI)6yNZ|IRy)%MWz zB+>d|l_O-p^XL8#p1)Xj&>62R^m_)+SGgso*$DcrmrWiyQAZT&>)E-;PZ3;08!5Cs z13!O1_^HtQmQXm%Jec-VhMBWdid;=QeKe(Rt$2o)kytjcA22*WPZ^0j><*VCOHG&U zdy}8lr(#}nEsXYA>&K_i(;n{M%M8YQ8)o4gBT{y+yv@;{CM z5kkq3nHABP(vs~mG%J=onVr2n!hu_LfrxMsxWiBBT<`MA(3tfb`6?@Z*s>E43^SKa zTc5g{OeVA5vONEzpa(33ZDt*P_LIKO%}{`(Pctl*Mei}RnnS{m;dm{y`9wNhw-MYr z8gQL?(Xkau`Izv@N#~@iZX+R+Tf~Qar4zsA*-|GsE?lu}c+g^ zve=z!CrKD{X$^hRuDQ$;o<5G8UUppb#^WgbVAbCc008#&9XK7TFL`GV79v5;QT;0a z>^yizx{7elwE1i6YpY!D`!}QuVoKpAOC853z0=xvNw!M;-8qTfMW@ViT2cn7`w! zuh*K$dC8tjO9tsUC_L9LmqQ2Pa!ukRP`+oei-} zSZ4&6OE>`8{bW>Nl`y`!d2ZOJ=4|Y>FUN0cd(de$r+eEalyiOZrY^DxWx?F!_m2-L(=y!ToZUxJ6)J68fV&_G+Dq>}qZ{7OhUIsVf)1q(5 zIrBSm>H56hH}G20N9gNF2yv93feOD6$y~J?zD7GA zk6&II_St(2qKCHMXJ%#)lV4#`5Jvd}Khr!PLw`$NZYzU=0sq9PBMAISj_G*RY1|S& zI%6b{jj5lOk6{dYdJ14+rGGiIOo&B}ar2>HZc30e@oCd?4vAla`lMO!PQH9xI#v1~ z^*7){I>T+XNvk?>hYX}wsZpU3K9cX${0iPs#gLJ`C%smJC_Nz!CEjLD3m>*+&*30& zk&yMoZYh|;D#5@`*@WqjrcPB^3eDYRUig@oMX4>n!Q4y6Xhxr3?UOBU zpks|E==}M)m;v^178poNblaE_jxh5y`P)v(dHrZk4PU+0;~_l;oiNp-5c1b(Q7_mg zjK|X*{#f!icxL9q@!*Jc?uO33a^%%LOa=?vo?J?m!`?^X!)!tnvx3YF>`x`O;tdL> zKuDd9VTeEy%$y6RrUaR5TeMLEr%dYClutSf%!oB>y$|y~dWHkx(x2IyAcAWd;I&m- zQwYi5o15EFP*AKVT;GNSXLK89Y5hGH^nUT+6ZxZSJ@)3e@SZJY@FH z_4-)BxF+#O#TTr~?8@&fM=H%?QfzXsI+fSP`CgNfOWp4Bk>QMs_?P4?)mP$yjY1V4 zkO_RuPrztV@>Nu$NAe%r-;xp^vFCd4G=-F>m`=&c zsQE?wl@#Tfv;U;(q=k80yURlTqQ36Tj&)rN9XoP3xp_?dU@zZ{ZCu=1v-anTel)GW z(qNcB9K5|8$w;L%(-35_U}ezLvYU1{`X=Z(<=3#)++6(PQN9r<=M5JB{%~WcMMEmV zxeCNf!&zGZMFo>05gkclBl9aYUv)tyjo7{4O~<2vrdtUqcsKOUgh8bqcH91DD=0zO zn~AYP*_O9cMcI*0ONO46b$|VC0vLYE#{v9NRb5?gK9(0K<=3cRY+$XY(^RT5BWu*F z$TqcbSJ!=eQ%&hI%vu6g&fv4jP^owCh%GIPZOq}i_#lC!)r7D|EgBTa zy$o7Lxc7ty53&fw<3GdHbRB0ezvf|q-gY|&n8)FJj2STo(gg+*sV$|yol36u`>6|p z9b|Rb7-V@qoR4HWm_m}aBM0y08{=SI?v=Xvn^+J7bZ( zD~+rvBjV^8+;GzcHGIo7h7{iOVnI%ZYAH1764~ZBI@Wp+9d14UHaa4MSQ54QF6W|8 z`kGzk&{HWUxV@cE!bqh$%-pY%Q4!me`e68Q#G|T?Q(v@%-r#vCaV;%^-qLA6p!g-P zAFN76i5?#d!`6YFp@&i8OKe6|^e1?%`+5sl+;Xf6xb6Eo2BQiPA;O9$bx{TtU8&^; zI%acoo*f@sM|C^_S!;!o-drWA8nH%pKVkpk45$3B{{`^J)&w(9TkIe(5eYIEbzZ-- z&%n6R@P2w3R$k)KfmSF4V-09NWesmodX+9THQG}vt&*m(kc9iSMvG9yDCwJflZ)m! z?rOm?m$r+0J>sKBkQ4-Tjwk)MQtvM!Sfktao z*X{9Ip{z-r%C8ZeehVw)?H}#lW9kVH6V=s()T2=su_BGukIyyXAkcO)cedJN7tlM+`;R*O8BOg1~4 zJ+%}%?KJUn<>v1IlZiVLNgp0-xQo+kpaa6MNgPM>ZgA~xy9!`V5>j6IQquttQ*dI z;42U?nLf8#4cm&?tFmgd`f9j2J5h!D=q~>0 z;toxM*oy>v(Nea@q-+fRH@6pd-o4Uy-i@@POscv!Tt=|{Qv;cIx;Ks2u#t)hCz$YB z>dt7l$1Ypf$b6f%j$10jFe?m7Iddn@!g`_0fAB|1&acB4>@mm?haq7jJ3?m7MFBy< z4#^!4508$rY4dt_Y3bnPXU0-83tGPj(1nwy23WD_K2QVGCZp!?FP=gs=s;)V2uTy^ zyxkayl#Kszh9R>LVXDf4C)=tYhO0K-HtokzKFlyo+y%d+?K-c zAbxL_Hk#-;NAFGzZRS=^0X6JOdg#gH?fhWzbf*&= zS5dY<>+gQ$v#SxUzY6NQ089-|0kTM=Q@iTL!;M=p0xBs6ucJ`$p61Boy|c?Z@`e>Y z$6BYjGl|IPkBhpO-gt^q>^v`L6B^f{9Q{qR{0k<2dI_2=)e~$dUQ8U4LNg<6`&AH4 zZJ<$6tK72brXqA)=8_(-*mU&NqMpGBy8y|16eD_4lvHt}IX!YfKwa_jCH&ub^H)W# zVHWNt6k4jyMS_rnSE5r>iqBif%g{QNy*$Wb$EDBhgO=WVEn|cIvYw%$_{5CTe282A zze|G+D{zJ#eYq5}a|w7$FikkJ4+lj1ZZ%h9Ox$*2xVJEXr(!aN7ku{x1~U%w1cn2? z?iRsZf5ahd-`2M@)TuA)V|2CkdP{{#MHQrSYYBN0&WS;fs;FF48DwL9Xx%zh4G_D0 zLkp1qvkV({a>9W3$SKdAO;koI)~D(6Rgh!g0PjNMt^lZ~8Vm*>#9?c1KG)IENF39} z_LAnnDjgx9OfcAjV2yqC8QTCqG5OC9sfUq)qY<7I3|pFR*G6_5T8V5)29rnMVr$y2 z9Ok6Z)*H^Md8Xz^D7`yNtA8(-`P^|z{CHFsQ=FbpGQzPHO~Z-f9>*FbH}eS14Jb3*lsFW#|Y<60Pbzc z-_^HXt_uy@50A&PjsDkpf&embkl9Mja<~SpXHD0F^f>2dXOJ+!-;6zIa-0$USOu=h47^s4M4x zMe6?-_7;OKW?R-=@&B1x9WgVyb4i$bG5t|~Y)~xU=#TQH zQlBD6LHaZ9i5m1Vc%X;Qd%Eo6;_R2unD@Y6WLE@4X)@Jlo`%1T2k95rR(J%&h}Hfl zVuoB6#B9(r87C1iE><4K@q63=rZa7ChpvwN$+>4egw&5y5!i1ppDow6fg=og$A7{nqVsg-pI@vYXf zvHsHGag-*@#XNPs0%0{Xmp}hwt&c}ZLdu*HR2;lpeDG5Sd##DEsXhxrEN6HIKjbXw zbJOO#Pw;Id{Kr$wzsZ)s7V?@G`kp2*_MzU#Y;UQ3j*(`=dKoE3vg$HR&gj(5ST($V zJgd3y+&SxV4bx%U7v^_vz~sbie_f0DeN=23=ehU*9UH<}=JJur79K*2W6ZbWxwhQH*MwxQ?LdhE;+Vjw~b%?F*hYuYY2L?kpv#xKQhguNwFBys63l zb6w1!$DZxPpwwQomsy5cUL8pqnp5?4Ro5Wh+{*<^$AIA1(ad$U*SJBY9qjh`=KoQU z{lDv8<5S^u+}2kABLz!2g-v|q@SYy{HRtL`lk(unKdSUEJL~pVs-9C02Fo<$>cWBM z@41PEpqIn{;K5T!Nz-Pf!JMV;==uniKI{EqNN^2;31m{|R#ec9X`yqjJ1H%$X{X3= zD0D#s1K>m;Y$D;{vRxlC-Qc*^-%%#eiE_wsRkJQLz*-y}E=V)d{%Zgc0)^ZM@iWx` z=PR`7^vu&RZ`1ckA=|<64O008HlubbrQ`rN(6ou19r6UE^|gzx@og?&EP{4~1P$7q z^r9K`I_~V`)be<}AM#8;3SL~qZnD40v}xTGe5J6f<}lxz#0mM7I~u%S+0VZablG`jr;z*n z_oP7DrrX12$T|^Z-tr3k5NJ}z!{ZrYnW^g`zy0m$SoGbs>pH8>UYxvqdi$S-mB#Aa z>)gZgr;gsuzwgK*$3cn_^PN{oHI;IIGK zWKi@?H}-7bGd!oj`&AWaCZb5~(@p!wS*Dgi@hSW=_LCBF4*f3W&|F+Ef8f9k#Yy)=`6QBJ}pPv{{*I6y9)Y(p7Sy|Vg`jJ&G%TN2nGNrq) z55WsKRm;-LJ)PDeGs<{A)_Vs476{#U;(j7Sqw-w{g*LUfx08f>uK*Kz`4;{Own&st zCAQ~c70ARpgKdGc8UJjY#L1!?aKA89$o_I&Hcsgm%V3>wQH+?q1`c4Uad&cMyYHpd zLgld6@0$ufrzKqG#?O`(+;{BrhbhcuKg`#7V*$Q;zdvt;bY8H2FSMU-`q9V^B>ICu z3t`NX=+vUAA#lV7ktJGe-63Q-TAO{CYk$J3aT9AiK?vy%q`G*yo=h3RF-4$*TW}{P z3qU%u_;|EDtGll>e8|7cM6G_RZABk_I(q@RBmwU3F>K}yOe$6k)e8@ef0|mR`SSO_ z+E(5LO!A+$b-fc!G&Z%G6FpZRKMus`yl)V?RG0A5i(I?Z*qsi62HtL)qUV7@GIUHK&K4h*IInS*x|G0fd!{_Bm z?}aRnvsPp80{%E>E&gMNqo8um9Uak#f8vPyn_0OK(Vxw$Htq7CYLcrL9LhHzA#^71+Kmu%e79B8*E#$fN0^{ao zq-BqHUZW9gDcBY59P^}v;&fijVOE9&D2m-#sM5mja-AbqZJnc5h4H*Q0Yr^U;u`JL z98Y;Dgx8Hc`n=!!7}RX;W!MUkery+%fOR9B-wJ)S)V)rx#a5^^{xkP{d{7W`S7_u| zI!(?B+y8C8{YW&tOB_d~&6WL%_UYM#)pfy3UQ8d_e3o*H~=xt_N(FZ z*GPh1Ewl=qlXeP|SXSH?bv>-P#h7KIc?@+Sh{X`xw+&*n`^X_mz|~y)m^im;_&!L9 z1A}_}hR~U`hyzJ=#Dg^GQ0G9<2NKC7HZJg4L~Vq!no_VmE^=4kJJ3sDSx*RZ3i{Y? zHr@BVY+G!4uT{o;e1aB}9}%y0)^jhzb34har*{Is2H3VH6X+cRZ5dHCXvNf<7jEA+ z;kj_w-85tPs&@#?-m8y?-U)DEp!@vyjeZ>X9CX=P@@_Iz8#iC&tp`jBZnrT$2B+k^ zaX-XhYunb|!a-P>OM5PyNI>e?*`&|gZ{Dp?vcVmU+dhY@VXF3ti3w&wTv8NXdghLP z?%M-TNIlc#X*#m)AE~b6G%c3)_V5Rznxwh04fL|hR2Kio>>}E=gN&v6ovdo}Wc#r4 zBa6AsnOky|CRj1DQ2)3~6-Hqs?(Cc6-P^U#4nrllGco@k(1br|#mbJqVym16x=RN* zJfAj)D3N>m5R5Vt8(U6few)r+%dsqN;aK4q;~SAE;GF^NB0(&M{|O7S+Wvt&VNoZF zg?TV_0*8eO`QSWA1@v=gz=`)ISs8luy=udYcV?YH@>TBfv{xx>#O|@~ecMvDW0H*H zQ2}BI=JQ7)PiB?rB;Au6&qJ@gIOAVFV=P03QaPOQNJgv(2k!H{%9Bl*k;NYgoa7}V zUyBp@NIwF_8LY{vZ(lKF7DF97@tn?=y<89SLW0R|0db3Nqa7#pqf%Kg=A-%FPJx1h ztwe7ZA!Sj1fGo_;_iZE2877;Ch+R{0=0-{Ot07n5!r1Us($3wAWeqxrEWNx)L9>xt zW?C{q{4{9T2yKc@y(~+Avq|pPQONU<ct@en|v0q4g zFZg52+b&c4TSm3(tDL|dd@?;sbMdmH&T5#g<2W9@-7D&b8h~NS^?4kULIqcNYqG*O zoOEQ+ojB%NW`nwsUtVpi_k;D?dyJ*~;t)=M?+22>_a19K#UDR`#RjC2G2faN3HCMp zr$511@~n5m+h7R2A%TAKFhx-2iHN*|Ml#;DPkJf%Y{3htH=scl3OhixTSIZ z2akmP_V_)<#yyR1H$Ej5q{vino zT-Nd;x36f79NAw4y*cOCqbHT*RHk+c||d14S|; zkkAY?O(0V-EhYH=I4K&$UDnK+ZbCm%L~eOA!?CFSg*I_zRDG*P>{o#gdlKc7w;bEd zFbJh+5h0VVrh~QPecq9#&%|jbB&T>`8=_0&N-PP2+GXs#nUNO`7XUpG{NQCJ*9=DH zTp~W=*xNs1NV$9t!q%l81i0GI6k(>OK^F!O&c9jP|M&QXT4N3@PkR;yq@_Ozg zSLqeSU16l2%)&8xpRyw(Ug9BU-FwhA)2O*7WsiU-nR}7ao&pJAClG>XClL1Xs~jgm zEh`MV^$YwD7p(UOU+5qf#=7@wTe8h|!tJYW1)R-q9U@bs%y*935?}eXa)7$>w}rz^ zbGOoTZhh}s3mMy*vf!nv=c^KFXkPIB^i1q)a;HDhbFOLbdGJQyER=TcRQv6Id$E4G z@P^(SPOS4LvS7DZ@&S~Khui+|MHp1ofEj4bucElizQ7 zAN~gPWeeiMR!(no;Zz_W$~o$^HLIwZZ}g=T{>6hadYOK$A~{eLns2WlbXxzMUhvw~ z+{qxr;(#t8PRV9sT|Z1YfyoEDP&AvZe9YzH7@)CeU^Prm{9DzuGJ-9*#Vw280WoVE ziG<=kYcVX1r6r2OnF=MIZyvF`9_Qk{{VPjeLUI#A>h)TW|K)U2Vi4w&0o?ppAykJJlA z+H~y!K#gbEp2BB)_j1_cSK{EOfi~J^tHlC@CLCMy~2IfsFi~l`G)(NuSg5Tmq}ro zGeZOOPY4!c^DCceG&Chd!dJ95o)-Gi(ZfsPD7q3@O9tc4OoJYgZEj7(lOzSJeCU&> z#a0SyEy+W^aR?QWr;Av;z3Gx^j+yg+!tEN9bXWPt1bVrWH&=pD>lB<%)RY#SzSm^x z$=n+n{H9}>emu|Y>^ObMu>e#3#C_2X!=PE-na$#Z82~u!@~`N)Nn>JArYbRL2v?fq z&ng#k7RTuOCmkk>q+``h8&xEUuO}_20gG-|>07RdXhQIrk)qa(NDZ<(R_4e1OmCQ* zuIYVKs`dzhcKgMOwwE4MZ+XP{9=?g?Ctk$abc_URC`sH7b~xgwin%VS1n^dAC%Uzo z`jXMcYU66x%58C!n#_bUDpRIY?}E*=37bw{(Xe&%X=eAx8b19+y+Q5`Hntf6=fG8l z@nOO0I#;W~ygh@rWSl{7A>Pua&E3M@d|P6Bx%Jd?`1iDZ2IrcY(O2Oje~mu?fQ>0Z27P0F+v=FP@F|uqD9H2;RJ_#?p#LQD{@cfu;Y?q! zHg70hw6yg$-L_&g=gB}xt_A2hpWwNl<(hn@CZ|;urAwhIS7bD>j%^Y8awzA6cs<3; z`95o%zF3TPH_t{(Ap==9H)T|sjuP|gcUh`koF#CGli&6;YnwM-w(bDP`e%?|Ty+>n z-+RU9I%5L~8JY*8wFR9_2t1zzvwwHaGRI4yjX3XT9CtnAIN1OSS}p0X@o6I)s>+2K zY1)PYV#;AS;>$Uz**(=eA^AF*iSqMvpZ90;_&|FIyA{|^`0>`)oV(*}x#d`TAr z4Qn|nZdiP#S2zuzI(xk|pybqtuuC zGHROSc;jmkXWIwFh$Aun4#l>@z~RHUIT3|lbTHAt&H{c(;KZqh8dx%l?_GCNv+f!h zxUO&8Z|EG$OHG|_LMtl>Un|7dl!i=}&JSieMuj3+TA_|LOr+&FRJ6H9RU zGlg_=AUq9?2e3plby#Lpz`En$$7h`k+_8oQA$INETGqq1o9Z%Sxa)>Nj&^W^N0s?s zQ1i)p;qx#!07&)ZOuSqUD!i{*7j&s9WRND?(#ZPJjo z&HV1;y5@0Xaahgd_0hfFeZf24PRabi&-E{wN)+Zh!9;?SLqN5IwAxM`>6^8ef@eqx zS*PlfK?i&vB#H_ybV82c%-H2zbuvNF5xNmkg86}3!TGvWeqUb2umSHk1Gi{T%s8)I z#GTYzK0MCJC%+|e2>-62Y?p3A!PGr}f{O^Rt9z3Exu=t@zt&y175W&vga*g&FEqp) zCEiIYF{dfpaQ*lkqTO2?z}Dj-aoTlr5(FQX!RTbte^8jOY~jy+6?k7CxR%poNt zjv2+rTml~$Y%*G2J!o4s0T6w=IMXyf=v0w(PvX0^c<2S2DEJ9 zKNJ>}VH3;`=W-XMPVb&`_vxw`8N91J@MK7K$q!d%|1{KKQddV(bzMvFQqZ7yzZ}%* zNoYFJ4fG-w{@tN{U$C92*W-P>P*^P#XA zTScxx;Gr#p!xz4}jM8VJbCRf^bx$d*B^y!PC8p!zbi*IaC%Cp~-dkSS*G11MgAN56 zpZ^#wfsrVIRA%Tcv0DjY-7a;Uh$m zsMOaI^-^-5E*_jVi_k}Idhg$R?0$EBWuqby$-sT^dx|Z0(kfkH5>?ufe!*Mw`E>d^ z1@hoV070%Oi<9*e`HX=%pl0l6{WHw7vlcNAwG*At(yka6L53f)T4a9OpxSP zTEvESY-Jt$Ijn_b`O6_IiR=ge-qU8{Y?tD;KqTgiQcVs({mFnMNNhw&GYFEk_12!h zP}`=pdFW(#GdBLQQo&NQuZCDE_)F9QtC;Wy4Ovn#Fw~D`SMu?X9>0=zfT&avW(GT> zxo$lGYj18;DI!5J_hmkV$TzMS6N_LX$ASG^P zWp>4|qHTDq)U_6c9DbE>@zd0nyu%&J;#+Zs4XsQSOKX$bYnfk#!M36R#M}I#j7vfs zkKc59U%Fx@!}GSy)Er5^HL+RS=}7D#?J5Vj+&El@4p4dUEb5LV39r}}z3+M{r0<_E z*?R1(Ps*kUk_>h$%O1lO%o_braww-@7}a|dt!Suuj@uqg7Q@HNo=L0ijOCSm>m6q> zmI*xDxp^7d%`?YkMWEKs$UI|+`gyq=2qpT?4ixV6YEyf)yxcCevVS}zU<&XZp#hs` z;(pxP(tHD4{`xFN+qEvy_O(5_WdmF1_d1>Z6;*gns<|{^{BMfV~T`-a9epYd*UKl^y!1zuDL@SV}6YinO82rG#T@Hcy##)4-N*~sDsnmfXPurdDnMj zb~?|(3O6EK9MmH882DuOlrQ^;(dHU#Vu4vjjh(}Fj;k4J*|)?IcADVfPVvDXe>4LZ1kb8DHl^w| zy3O}my0@0?PZ13=EnCo+epHAEERz^Jr+9wZ7d#iZtBVPeio%T7%-j&AqNt5ubzanw z?s>B_y3NjD5khC@A&C+e8fgORcw!S!o`o#e0m>|d)L~?-jALt)n&#D`ENjanyI2jb zw(gqTash!|N|OzM4~mJ->q)^|&!QDxxYLFiMAmO@+0)*`Jw#tEXGwp0r*{H*i$edD z#i@_Vo9K1XAS3~Ty*({I4DmBHvR>}Dl-p|#OUC{75Pdd-(T+0WK-x9ZmY>W|lxCUv zUFuMQUa6}ar5~#xHXB`;B0uY07@7_xQD2FzWi>aOSoE8NhMbMzx#i_`(q9}I5PlAE zf6q4FnQ}D0E#+2>WJe^cetU6Htsv705pO?eRzA!}wvW<`SL!Sck-4u-q@~ePmDPzs z@+`OQBxAqo27a#ry*=5bhmX)v8T!&l#G3|l%!BmKO6!S5%g#P^R?M?$OO`1Lu>Lgr z9>1f`+f&1aD=R~z=E<)lpoeRbf37gVMkN}83r#!ld-I~4s)DZ5^t4N^Ty#`ow|;;9 zg>tKFg_;#K1_?dFvQ^eUYkm|f;L4xS>t00K1%~`+Ra!rKyFQ0mPjRu8Og^GMdf70+ z8z%0H@i`Zp?avwwEx1?UC~-LAH?E#J_%KjM0|Qh$ev21YK9_9|!IF3>WS8)fz%pTE zI#=yv`iagJkfS47)Hx}7sf>Ncccf!}j+ODX=m|@Utt-uH-GfqkFnxH>$$EOj>-u-6 z&hM;M@QdYg45c;0ppk?_(e0u@-1`*n_;ft3(3-_gXmAFqeIW%F)`W%#Qm9fwo zF95pr9(u8R-8;Our91WP9SdJQx1wJOt)30SBd7#@g6u%(mGH3u-of&08Z1for#FjQ zGqC<5uY+HArBmA(-pb^O&)MB9-fQ%;y(I$>j}r&9f_ZUha_ zbg;0pO}e9ASb4G4)1qowvq~_P^`22_!j-8w!FhB`U(ITPc9=Tj53 z1bPoax+uXHt=*Um2TBS(#4NyNBX_4n0itPQnz(P82+4B!hLq^CabX;knicIp1YHS> zd@2$nE8_EH_{+fHk=TBcc2OKp(oB?TYUFB@YIydp*=wm)m;Fkj-mA@OyUvRjnfndi z^^^6iZJi*N6xr`FYZjwQwbgE-!r|LiL-stLO zeq8D3@m#Dw{8}A1XB>B@Mx;hEKkETW?gcYhWaT)`NE(Qa>LqEvb|Qw_MLWj7f*IT+!`NO)W~!GysCP6>!7p7GE_E#`OzKNteG}@cFHAx zX*`#x)LD^Lvf<+h%t^}=0&PMfgn=Za1Vi&>)Gt%7Hs^N+deQL+nDNjTOc+0|p{oXI zKjY3{;nZB*eUY=*spvX{_h&-6*|3k$!nRUablJJA{`SzH+gcpOX@7eDV7mC)_l~Ig zP3siM2wL(FzGpLOyPFl*frp`Ji<@X}&=deT5UGe5k=GImMC_k)e6QBrmXT_><$N}$ zBgojYwV$h1E%^Rfsf?vcJRp%)Pq?|I@$A*ITFqWQ`$%D`?PHXKMQv(*X-C6{RJ}Wk zM=6$tn81hS+S3+Dj&a$}W8N!MsZZRQoURLr#NuH78OE9)nKlEU)FwO5r52!o9LBv% zS^cvsN6>TLHt@-Q2H#S)AyLFou|l|;o0bWZ62TC6E**>(Nc-vvTK1R)%$tv-VGh}1 zst54U*Z_PoJP5JX3{222B+g2afH9>Znv2C^Y^MNcqT<&|747V#7f_R>RSS1+cw%Bf4~TLO}dqAI2d znQ5VwhIXffapWuz+kw?;rCt2|!-o3tzS^m}v#qlZ!`XMF#de0H!ZFLXtjKZz);3;n zfqlZn0L3_vRPu0WMGwTr%2%;YTo9U#?31WB^Q?Mb0Ji_N2l{furC499Pm!#$6cNPfv@p-r{n3EeAuLG(6P% z)>ATW0x%cJ%nku6H6a8p>L(VD07kb34b#>D6dr1J_|lIW5oS@v_})wz9EvAT`5r!Q zc4R<~f=7z1ic5tE79od1JA9v)%cAU6^5t~eeDR#K`$7*9^P&Ul=&cpIOY$_ywG<ck_I>IcxG@ z0t{^(^OplljjuQ0D2FzVTd!(pPWfxF!WeC7e9A;86wQ#s*HbZzJ5PHRb#9f?-@-89kQ%PFNf z*wd2h)KL$$hSsK5<9Rh+?TygNlBp=_mxB5+i>+PN8S;d)YikeIsLu5Zoa~^#RJHpm zfsRKloa4t#k8e1%i!4KxVsyRgFy~75}|;MntWv_m}Y61E%kqk+1;}9XZ;BUIe=0ci3!Nm>raFvn(+?w{EtsEVkxjqprQP>g ze&ZAqH=k>dFFep{8ID%s#8R~;fS%79v0c=^YFK;%Ri(n%#<#cm2YGnpPs9jKqv(+Jy-VV?2&&`N0Qr~)3zzInIk!HR=)<~eIy zMYmSdjIY45qJbSo|4avJB)2Qn8`013mv~HhlO?7gNt=vaCGpXPJfs;Y<8#F578vc^ zL`oHd@6$mw8_=ESx0R`vD))i7I*%fga@c2H0Q3#eIspO!*Vb4K2ztto!|Pr@2N(Bq7Uja;{s;HHnk=)LUw=C zpxUQqRF|>tmggQyMlaG`;gZKoFYzqXEjx>@o5W9L#P`sdU|6U8+8zXY z$ky$U@G*Cg?d+GD@V=@S)PPsI9L>(786^9l)&+Vy2FU`Es0D1?PhzY?PPRy!!TC;= zpUuPT7{b+V@P*+_$|rJQX=Z-WFNBGvCSFmg5W-x{MrUY&Z5~W zx>F`fsa~)3hQ{->i_7M{<6`uX-y%_so|5LGpm=F3d^J!bQ5vua6WaJx6maJyl{YM4 zFO6Vsq4eBw*vV|vmEamUqrX1g;dd3~l3|@6iSg?f9GsN+9tP)dM|J4x#>$dJL-m{aVnuT5YFNWPb@$O98o7_uO_{SHVH-PgUyqdWn7jMW!rEKBhD3;= zGn}I$9YtGclyLetGu})L^kZ0j-mjS6DlvqLtr2 zmRN0J!CJu@KN%-iDJqK{3M!=n;FNN(L^bkXK`NKOg3GD-7AyiWQn^w|KOG0|Pf?-& z%)$~sfXSrjQKyPZkmV^G_&_UrL|Z|8{-X~g*(BTEf*1Oe!MDbaaQf}>>~k9yl$O9F zSc^5h0UYe45Y7RA1ivI>gu_|HdmTToiwPi;fMh#UnE_Z`| zd$c(Ub|rzzHk#gEokIFpd5I47C30&_akN)yDXf*0Nh>M+KQK<0MB&&t)|C#zL%)puN9^=Gv@0gYm1KR}`E9 zXAp;$j+v;JqLO*Rk68Tz)3)kL0~ysN;m#SZB1{Q%A)@$P@pm}`F(Umck;kD&tT8x6 z*5x`eB4J!#v>$@WS7;HP6bsPqy36~<_tdEo9Rnw6lvX;W#{~NO?0e_=Y~s`@Sw7)2 zM8T~|KxPvT)FcC&jj*9QL<_LiIrw20;O%P2Q%z_tPf2$zuSnuZDia_vJkAM2+fAW-PIi-XY_%>x?FGk`L1o zBbd-*Uet^1AB$1O3yAs(N5}%Y7=wHRji1y@j5_tusL@q_RZzP7W{rGSViIPY(4(3f zntZIX##*ajToe6@+Eh!--Sa@^>DMzt_(_`i2mxDv#M1za4Nr>m8l>V|yywRauS?^w zySOj0&HU1Y$XUUh7gdP%A%!&P!z#n~73ji^wqK|HUtonfDF=fwp&M%WVS-$*!u3xw z?Rq~wYD@SSys%*R`)g!&y+&Pq)Lt5)*g_LX)K5fr^~9{Bb|o3F$5KNE~Q=&{FeG@vOBs$GQ}SrC0fam0U>M1*@v zQ&Ih$Jso|6%A4}XxC7g5dV%L5Nnoj;*VkP+r_jhMg$9UC zk(l>94*po+)%S7`pDY{x4GJ!A&+-;`1!4C^n_@x#$gFJQw=zyf@J0$5^Rs~Y?(XrC z77I{E#z_bRPYZFD&+7y7k7=NGPX(~*feZC-2#zFv&;x#3%Qq{XLnBP$vdQ834cxOLBQ&tvq0CJt~{&x(#~27=oATV?cZeX9#*AHyyOG z7}FobIx$4X45qQ_N)6`@n9vHC>6RfNjY0edsR!rB$&+M;RDF#mh2G*O1`@kJUSEUj ztmu$Nuvg|VtYbK|j3b`EYW==J5d-)W8OjAh*ZjGvVs7(?a%`;h08Y3W5tgjepnA!A zz52qSq~?8B>?o&mi=*0}0kWzL&;etnL|zr12Dq^X!g2~~g<~7N$WRiVWZLs$^O23+ z<$^NCO^@3DGMuA~D6vmoP9WZcAP*hp316Uw5$wdbQ}5VGkYGcONp zR$w6i{<`tb|2JD4Z0mKbbv^kp4&K=9^;l1k;Tydzk8=3A`!?yY>27dPZKS?mik1L$ z1}yB6FEhpDhbCAv5Y;*PQcrGA>h)m}sXx>g(I0#$a}l@#c-SQVU;Y>j>bIHUrIsho z6I2kS{thY{(=?p5b%;R=E-JCAK=4nf>|{={LZ&WwU_a(bF08*%JpU8WM@Q13{m=&G zoJ&L&+P5>ppTerO$Dc%~Y6Yu|W3~bpTptjbuXUQPr^4()JM=#BlV{@@=~Z zdqc>4tvy}(EnJS6rC$Z9Ne&AFw!j#*$jWtuMlmoH^#f9ZIdD?p%RLn9WoEr9cQpF z(OMB$7WSg_Vp-z!!u+I%bsWt3gJ`j~x`7Bod3S99oKRUHXVK>q^~2cybDgSBsjx&m zN19s8;m1kZg~bUGmMag9Yq^I`Po3A(Az6*})AB9MLWtRGhRF|4Ulyh?Wy2HNMp)tR z6upajIo#o|$L?TT0}DFZE_y$kk_)F*q_QP`xUq&+J+3S0N28{=Awx1a#GGb4(&H1o z*vW(oM7$79Jqf&27P!QM&+T`BJCgw==TZHN1yEpK6`8{CUVn6JbAC73C>5T$4p&Em=D6RT8&x5Ng6 zQsPg!ycaboG=>Uwc#nz)gxo?89=_c`qm zHfu|gsy4$~`i*>7MT?81|T8fkz z_bS&)uw3Rroc!cxn>JHQEtoaXm#)t4ial_1F(YwS&9PCf_Q620u*JulJ91l5Q6r@CBi3mbNOp)oqwe@njaHd zW~WM3o{Rk~ng}J<)j9vL>z6C{ZX_Ly6?;qg6RmJG(7m?X(7%3gDIR5)(%Yh1S%CSG zT35bWosRFkZc349gjS@rj3c{MHypZC!cP=-YgP#ASg;^!Yaz02Q%S z=1a7LB6jv~uh6Ib)Lgwy9bt{|J@Z5pMTFR|EmN-Z=Wd)@fho!so@G{Lu1%HHy_c+t z8D__E$g>q5tHpN$NkoYBG_YnR`7FlUGq#0j`c;yjLa09!=H??&w*ZA30ut{UqMj^i znMS%_Li7E-L{OF2iMp`ZLX*uq}u{S>&gp^K;l*c%7R8e*wK&x`y_#dWwqd1VZgT?18&y zka-UVazc1+NYO`1Toc_0Q+x@KV7k}sUkIV=(}i7)_l0GQc#J&~{cu^VK`WU#sS{fb z_CsZHvW9P-h+Q~b4A0|i$})y8)kjslRHn+S7A>_b*=RK=AAK5=#j~*Js%+;GQJkjL zP=igbTM=q%fMuYcnOY@lB>x*)s1=V4%J-eMaGvi31}zFto1_rlT6XQ|IGW;#Bw72- z4Caa2E3PRli8fH79rKgx&gdQS_(ywy^N|Wx@FR2$wRRniW8BPU{};JRsq!2CYtmIh zG}XiFdW=~rZf@o~6G@6-J3skSPEw>xgW?GKRC}JpfY!`QVcyxvo^SJ1%k^X@5hEeK zww*QX-ibAsdVCVh5_RFe2F;|@^zOOpSTJ%Mq7VDWjBbb*A?^H9@J|*eDk400LV~bW ziTRR`x6kQ{CeuXf&4Hhcr9SoXnZD-L)b7I2JWs2j*q-r7xDeInen5b^WnOB^3!`+s=>T-PEKmFV1LxYJ@yR%eLW@Ao<$ z>6H+T2esX`qg10Eux|aLwW=>Oz3be#NA<&G3;m3jEQ1~a{Z)N5u`hGjzr>E&?v+x5 zcWTWQs)S zOjly7qcJuF6=uGdfxx1|Y9aigAip3IgFF)-piYV@&S)Y<+D%<-F>D0)xr?`w?2|0l z6Kcz)+IQxNUpNuH7i$w-#+y9u5}@ZDD#5g7K}XH`g;3e6d;x0W2964IO#}>t`4?xA zNH*9r*769i<mw#8Z1lBe#6EZB*APuzBQ6*X;*-M_? z(L6UzU*#b$eW9C`dc8=3*95-^Dh{*i>Zz!G`dhmrY;+;@|nlC=B)uN zrR9g{zN-v(GKx?on~D<*lgb1haaXazYR)9iBqPrpuKFe zcz$~1M6jR#-bNFsK-1S_S)fTZ#o_iouBHF{wfa)FQ{qD&^5*~oUgqv~#XnPn2&c{+ z$aXMuq$mZNA@b4s_PwHTu74sR3yI>;W7)x)KX`!VpcggvFBCB4@js%G%o}wj| z3@3kvg~pMn3~>Vyf9PR1FfPZ~DnB|pHzgG!lCT?)hDC)6WWR7Z!iR$Oh4@vvXo^sO zv^zIm^W!x|Ohk7?T-AK&OTufmAC#C*E$3Ndo`|?J?T|J=2h}{u@L@L8ZN)yOJ}zr& zZ8uz)<-WP?$ipA0?96v-4-@tC>6zL@Ute!T3zZ;D)m*v=#buLD#0qIpfCDc_mqMGB zY8iWZm+ZAoJ7ssj>1F$w>kwLY>CYSkqm6Rqc%!p(o&vrFNcQbU3pOXkW6w2;9*B_0oMpGR1%jWkG!0bmpAY zsHMi=yjcJIKma1i00&bYzB~678M@w^w-Z8p2MdLq66b;XjQE~>iE~A3)6d57W4An5 z@S!BS(d}UW>&4GK;6wcq@u%HBgbrKW1Eq@Atz0=F56=G@@xRAsoa?u%XltZm?}9$Nyuf{}>nt0TL@QqmBO!`ky2DkGJh$ zpCWweAb*y0rW7y z^sm$3i2siIvs=!m>Dxs;qUyGzayy7#WX$tW?tkW_uaBN8U9SNWCOmfy&ffS-V%GzQ zy))tqAv}5To#zw`UY~9^|H*xu!9Yv5x9c1t2%}rlL+6A?A!7ClQFWxy38H2HlNRjt zo}vV_g8frvgxVmMx^x?&P7{ht7dZ~TiaH;Glp<)C%Z zJH+>sata>897uET#EM#!TtaN`>1_LWtQDxHBN*GLeaW04;=d3Gv^^K5iVIJ2-M;Z^ zgM)|nxyEgP?&>Wz{JT~F)vHrQRTH8Fk(U##`XL)8REoBPB;g+Jq?@?gOhPt0*~`CY zd$>gSf`Wq0hFRH+%dQhBio|u)e*(-P;nr$B3rE#1^O4TDhYd(6ZB6XVK*a5 zwJTzh)$oJ`--8{&2rd7DEhzEHmjlzFI20m`u1TVW{r}iI>$j-7xZMK|GW5_xm%z{i zDAFBDg93vfJs?uj-5r8R4T5y24BgU0hk}%Zk^&M+cb(01>V407-hbd+=SPOQX4dSr z_S$QG*ZsL~oww%FoC^pRoRV9qbQ4<-;K9c3LPlVvfaQy!$R72LhlhH++qd*l{mts6 zA$vBUjWPB6GwG}GQwCtd){!eq02Y#dXe}p1HhxPJGXa*br+e`W;Fq^KXtnDC4?HS%;JdOIzKY1=u5z!kB_zfDyhw0G~)=Dfsc7vUSY6k8An}9}aj@ z;v8xpG0)lqfpVJEakY~`Qky0v&H!kAR59ft&>u$SDHq2L?Tp!{-CTFMHEf&T9VTf9 zY(6fX#r>WVQb$m)M86*^bUqox3bdP39`zU@E)&30 zx+#=G25@6;`01Ic%Rod14Pr^TTN{-O+z-QoxAT1atfY}KHwgWJ*d88w2j{K=5hk`y zjf;XVI0{}1=K#-vl@Xq&il=>+vAc;8wf(-&p5mI^u#SbERVf8>d-+J=SL*2%BZtyv zU}piB4!|5o1Y@G+f0hyz1i-AW&Y)R53mIyS%D4GwvapBjVdBRu<$|Z301ezb`Ike+ zC9~US>mju<%50WWSrHA9vtx~*m@}NsyUk-*)zvG$hb?%$%a=r>E_v1pFrkiIv+-iy z4MgOuFM>AI&FI7gu~WQY-6+!R%U@h0!SOPOlKE`A#<=Ky8(}2XGJapOst<(Ruh=0qg2KmbVEW-mfOM2x`2@?UpGm$@b>bJNZu^zL@HOx(; zot_ftoa!ug9O+eV?Sa%t?l&6?x0AA)R25MgH%QD%zPlv>((3_<-V3p%I-tW@bAV(c z5L&G0?_C-W*p~qB^keqzgx2%lL9oHWULK5u{a2wrhU5bxQRcN)z#hADg8emo_$Xew z#m$l~T(}!acerr)yk$D@xF%<{(el@0pWM9Y;s6B2E`!>V>~D{wePF#HcLA;~f~swe#e~-WreQ$Oc*~B6d9ONGCbUXc8nE7H7b_d4ROeQJ{fY5Y7UYZ~D&%8(%uj&E@Cl^b5OGd0shtwC+c-&jUtokIy_ zZm>tkz%d%0+Eait=Hqlo3m&fLeJiJ~8ln6WgWLpAg+1w*Hvk>sfAEfr9GP z7!m{4XxAFS&rk9bre04KM+x&N`#0q=Mqt^p1ef(tkrJ5f_$}pG9z32b_-Wf{Tij+E z5?p#UkMMV?dmVHB-DRVM8510L{L^dUlDa4OICAUxxP2-O)}I9B3dYdKnoSkGc2)Y} zF8yh7T2wf&en|O);wtZAlG%I{y+8|&Y|RL)0Odg@P~|6a)LBTG?qOWMi(n@q`hjhC zdUi8f|i6Szk40ydGWfHf+B{8`5HKV1&{zzp;X;U+7m0KR-$>j-l3 z=d1kfKAExQ85b@wgm%Kwk(z5e9I{emS6n)An%oqGO}iA>qj!FKM95m&zlV;T+w4a#6BMdA7+1dXGLsp zr&>6S3z;ju*a`X6JYZZE2$o#K4fj4*mL$ObvsV(RyoG-N6%*nL{#g-p1$8lvS}v5ycOlC$+C~v#XFa6|LCV{R(Tcg{v@EIc%Ws1 zM96fgm(MOAKGwum4tarxOk4pI3F541Ou$PtOyEmk$y<*IHJMS|Cc~|Ed&C>QG5+!fq%s-PM zER;UW7h0WEcjZ3MX!@Zj7<4vde05hoZQorXgM&lkrd*tj4+4G?SC?C4|cMkISLKFe0l?xPzoC36psS&c<@sF<^|DJ?;l$$nL0 zfQD?>MoG^6XJ_BAy)Z?@i~t$MRmkU8R7*I5MT`UppPEY5wsK+K-sD=c{-qjdW*W+D zPbrUqJO46;kuZS5^0hpzdEcYt({N=SRTj?I-u^SSh?QTd))6-6vGsImM;4Ol-JyF9 zY1mzN{*dVQR(C~ zxE!vJv&9q6zfHluz`Pnx@iG$^B!QaEA}gHaN#ZERIxdsdk84D1CEkC@LfG8Wd`~gh zBGk4T<;dy1YtHbO+^9^5I&Q|&ACFj>k4i7r;^XVGI(Q634HWJkaGh8MVvp|_5do2f zGru1cu)$WD7O008SQbC}F1%zQW|j2}^D;_rq*pn{(0V}E1m&E<jcT3n%XZ;Z zk_-=y7%Pm2e6@Dzx+v5Dmjqdz-81>=Y4x}AK-I{|_lSgbgxpG7$?P)c=8XAjxR2g% z`$<$-J&v?5djyuOE~q!unW2rQ-N=u20dnBVckhTzyJ(=Lr!z%)OBy3ll3uflIp&qT zejL`ibeu6(;&dCa@ptkmr!|j1mthJ|eCkv2N9nG@B#Bb{{b_m~k##5UQ`n0Rb$l1& zAA+sm$A9H%`JErE1$}M%z&1tn)%fH1_tLRXD-vIQbK3?#+q_nV4V2}#z+|}>eGIZsK&pgkPRiSyV ztj9%+HPf%Co{*9tgoo7@0?}bM$#zVtRCrc`tOd2QcZQ3Sz*#TKPPl~KkNJwxnepD`;&DZZ^JNuUHm0(_Gjb@6T{gSmo68{ zisA;v$x6N}g6O_Y9Oihl=?MCkqcyq3z=m2KbZGFc2`*tiH+ z&U=9%bZdoyY6{ zU7n0sCnKOV)A_D7gO*|=%Y^-9Et8omOW>8 z6FLz0c16m}0&!}T?z1!euoBeGq(Pb7H)6!x10LU>lR5FEUwI)^jy>NlCQ^^oFhZya zU94$$-{*JhtvA&LV4kNq>Kcb$U%GZlC&EP2-UfRpS!ufbftEbCD#G5%?~T=0n?3N~ zJjP!&@%VdEGFwOxbed(wql*~M_^4O$Q8RqN@2k<)kh63jZrZP&m&jh`t25`mV#J9 zPmnHTkuEEmNubq<=1;cpBX9d|5Ctp`51XCiLl}*QYpgk45tvN?C;X>R$lUr&R=$XEJ{NhnRnVDjg@N$ z{5~e>J?^Cph>~uluIZxa&jZ!PCy3YPS*8Fbgr|iA$nRFddxEPz1!Sb)t(gSmzL4eF zc((M$TMx{lV_YnUjINj!4i?6|-CxVl2kV$#7`wz`z6VsiGO=0(jdZ{G^u?Q+Lc{-u zfeXqra8Aa0Wv;%2v@~Z1j?|DPpx+GZ=oTfBVvLQJ?uLDW&K;Ifs=%fT7el@|sL>^A zuFULyY_nLP`5C56W>EOCbx3(HE_<#?d73if&!pSXo4Nf%9@()}_4_CBM)eXduVY3A z1C}Xr`f=&P6$f9Y!oo`u)nN5|WW%~?V_dX1@$IIQBRu+xwwC!jS-zVe_f~q_$^Jt0 zSl5&;jtIPY@dIJIdc9PXI564T2gKRxu?m!TkLuB&RXyf|KQHw74$Xx)Z-mtr$T7HwSTMf$ zUT^B>KBa7r3;#iTHZ8$x%~m}%(Tn)cJ{ay{G9pOBm%^>d+N8+1K1f~n*j1MQ1+0V6TZSX$) zq#a$7pHNc-=5Xc$PH}z<;)rNmYY6jAXb@ewyepvqbT5~3D6z_mS1-% zLN0aWsXeG|QGsZ4FdjHk!`x(bS%V6N=1&$zP44SGP{xwi5m*7^O+6^Hd)7)KcsIpg z&%ii*^fOK)n&G4H_{fYpuT4S(xqTh=V~_?V4tTqyQpHF;@I+iI$z2f`!sQ`691#2R%I(Ivo zN)rY~5?A4HAuCr|Uu)spJjcOeqT#0bRV`IWsrz%LnNJ1HXZlTYwt90>=sahaTdl-w zgzVl1>ERtoPlxMG+rwt3+6+xU#Ev6#27g4b{)Z#`pOab2%|&a5bJ+%q<6<>Cc&pco zVWeNBKk0n6`)cctncIz`xp%-%VD^Q=V<@2qF{m3}Kj9e+rC*!mslKY<*>-5NH3t9P z^DfJi`i|}EUq0rP3FBoyATi$FogFna)FBuZ@>@5VIw(XEC{xN=J(#|#8t4g?~yrM-%As+j1_d`Cy$;D3TMh;8)bU#TZ)-W^#(uMtwn~+-I z2${w`M*ythJk>iIMw!qxqHZ zO%8MjI4G;|sMz)Psth7ievc;hRh59#dWYzUs=FdrX*YVU`RQG4m4kn!*tU>DsC9{+ zapD!LQ1XKKYUYR|L#xeQtelodIVnLNbLqlrGo1`~JG+gFxq_w_b0`&%x>}NdYOBBd zJnuf;|5!7fkDzOMonDxjpXeDMbBrO!Eo!k|-gN_1JrQ|=rGl8~56`!%mK*%)V!=l% zp5veBM*v=w7iqn4G8Bd_)5F82x2nz^o%Y)4MLRy5b7i5{} z#e2tt?x9R9k-$?jnAEi+9ZL;!7Wb#A#+#brXFo`hT8UPqpVS3UANm2S*YU9+7DswO zjIL*_`L`NOD(u2Srevle6!?=z zlIwhP!kpR~dcXIMEjapdXIL(U0yMcuO$|gHh{pcN58)L_1oh^l2v9mujlqbwa`6#^ zpe`P-SG_JRed({xEwMeSvvFah=H4*&zqy`4?e)+%X2bUp7Lo#qgOi5@$+zK!oP7j> z1od_kx}q#C>hdA#oZ$_3OvxGp)f(3w?o?`!DTI*_t^{n8yo(iiF*4nyCW}RARQFVc zGI-ynV+bh&p%$aeZA>0d*SlwvC9V>{MO6-fC^@z9zJdp}gQVQCvHRoKHuH1U)Db(q zZflf|jxV{S*VL|AQWX5ZMfi|dI^=qz3v%z!uR)@lKK$NQo;S{p@j-Q+L`LW+ZBTf5 zm*6))J#%EP+`_U?rgYdvA>A4@6$vusVPQZ*ICN;Y(1OWgF8CC*7MowMoTQx7IUaT1 zUw~zm745+cJUiaYz7}jTJXbc@L!6i-2Bv;FZ~-xd%(KFsPEra!hSSO|hRBEeD9MG} zttIv(KOW_ZnSaplP#n+8fWh{&wX?UM?1V|y%rCk6zC5TZNg zxJY{Dhk=rj+mdZExnWCU)&rk!W?#WoU7z3@^Lo#{`pm@-y&vue)kG1=Pz|DR>9uY+ z8GmfA9N}z22{ZeQd9r-zy z0(6|B?y4)}o6whd%wGU~(*W8jg5(Ez4tir))Uk_NJpQB)HShB_t2L%o!>9~!h!9_< zvTSh&c$TE}qdc=W+})Rjj~|eB+X*pG3s(iYXKo)yc#an@*tHl*Jx+X(Fg{DxQu{tq zyg-dr&NqvmMVZdcHLIRqa78;CG)%^=&5ubgpCSUSPgm|92O@uB%vp>hla+1 zn#1I$4p@#4aeN>TR)K4_^pRV}C@1w0t|irO=i797tYo{|v+_&!G}8MdsgNZTMuKHq z8ZfE*RP0}z!|_4;)%(@EY`K{G2*Q}L8bcHU&BrE1P${z*8a){zy$^Rvs|vNyY|2%e zE{gx9`Mz=uVyIEOzjTRXVo8>*e0=c8*Jj12SZ8Oh6*!1%6Myn0jRUnAC)g$?>;7qY zR!K~E+x2nt68|f}_F*l6U=`~K+jz4h&tS^$x@d_CC;?^Cn` zsN~-q6(!fstW@}5MVP)MN>1$OQ99&n6Fzy=d6ZHjRW$KZ>&I#a6~Y5Ucq`8MN<}96 ze2t+c*B!NrjmPjNM_mz`Ep#J%B1AgHU7*?gSDFdw{Yi+XvLxp$)8`4&*1?TDa8vFH zywVeX@BNT7xhDC6%@4ak1&}-<1gHbT z`(QYm1Ii9nAzPY$7JPJ+8%ClgtPn1}UD-8j<4-o>ksU&%R(0;G=cYET*qHJlT{!S^ zh1oF4*bqv54jLBpDB0=H*D&kwW8)P1-u>q;E4*|eFMgSqFa=NEAjg8Qda&P8+5ZS> z%sDucZIOZlH$V5(yj31#EsA18_Y*2vxZ|=5^~0O>)mVCXpYU*Ne4}Db zlv<5c6Pq;)6*Q>ujB$Hm?NOmt@CaNHYr9Z7EOjevoO#I`_+9r=u3WGswp0-6O7S;Y zs*wm)@lW2UH=kNetdP6`if+{@&_8RF_n6%7`gPLYi6>mUdoHWMbQN`Gy28L3IkN4M ztn=oBtkAsOo$zGOa~MuDP*C6nQYD>1ur)QxEWN=!4L42Q0G-7b+hd|&-**%%V(2h5 z>9Dl)1^>R> zM39P21#MkFw2jlrj*vg8Zc?A6Z%`~&z<;GKm%!t92TY@{^*x+4jheP4j~ufnb<1ZP z19t%JRoAU}E3)B_O$tLEV{a5MAr)Z@8VZ`i6h-sR!r2Xy6D9AbfvM@C9B6L7Da(#0 zgr->n2A@sg-%{l9_Hvb@?6x^N-&A{dZ3km}_fiT@z)_8FV}(MSy2)|6`W683&77-b zBJF3-GIKa0E1Q4G5P8p8%O|o*oop%>1*0Gm7-XHLw*4tgkL?os zbqNM>OIFyS$)eh{a*$~GL!JgS0Xafy6gg>{2UCZ2Y__zet-869b*L@`QT^ z*r7r@x-|8t(`OPSb7c#|%D1{DnXfReK>{iGuj6umC^JKBM)fg|hNL0L^L?Iz-y`|) z1O=>?-*fwccht++>m6XCr*!gEMoT$uQFsbuM)I%4Q>)6|@St%9r+RcS+T}kwp06iG zzk2`Cz4WXQB^?|6F(7S=9wmjt|LXX0w{yg(Hs;z=`{^~97{uSj>9P3le|B)FdkrE3r zY-g)}NI#46jnNI!tqd)~Sou&DAo?~PBiJ@WFxZ?%P@dUp9tOvWUn#?|Bft*=VWg(ao#9j|tI3aK)-6>c1Kqqg*S<;L-Owy%Z0Mp6n^%eXgA ziQ89kTa{P6-v+pH0A{Iy3C=X3BC0tXCaV0%fR^kYT9S8ZqtshwG(Cgj9_npzcsij# zBTEOGBF%l3O3^>XR7fc5lg75-4wWv`nz2cuZa*dW^oMj1;{0%M+x(l>K!VG@7Fn$D zn&5d7l?)~I4lc-~Jk4SDcs_DzzAbL3!@o;p_KnOK_tH`qN-j8V+)Ap3i7niibuO*q zciSfum)1g9-(WTm-WBQ?NzxE*$wUfYV_%au)}k*T2rv;vPtNivT;!+1)o>1{&lb+yg+i#O>VC6WdZfq%~E4|4e+AQ_XSx*ho z%P9892=&aCJB%^;qx;jZoQ5gSKWV@G;_x;t$^%$0E-B<@Puw^0c-K&b)D6x+3aP*p zqLX&b49AD^Nfh$~TwGm1PpNBC;N6%IYWhxmPA(fr^EVc_0@xp-pq9Zwjjf=d#N|^1 z=aofkAT}XQ#Z#`CYlG38gYRZ%SD@>zSC`HbldnUutYZ=s+RwJ^1 zi@~Zw-+JMCaL&PpBvwIPqtWtpBTr5c{L>2r-&8-)hv$ao-@QwoNMNsD9mTO4LU99m zHDNF@!1M6Kop=e<_z9n`Axiytc{ALWQuomCJzb&#p`{d@q>`=xi+Bm1m&N!z1s>ua1G}j0%m&y$*}a!#lHKK5%Da=%c^N zaKt$bK^WHGFhznBa&V|Wy#6}Yd`j$XIvDW@>*U`Lm1gFe{wzZ1BzQvty}3>)}J)K z2Xv>!gim=`QKWps$H6R6@7e?9?qw2oY>MoCHdyTUU*c1;Kj^AhQt)9gE?&M1{qA}l;8H`EZi zXG)ePkxEhe5hV)};GN(O3J2^Pfe2YP6arHkd>rP&^;$UpF9K#)pf1>Y-^)V-A1Z-G z*b`AN0((9dOk1K^*)o6`_G>#1uEycSPb4{KI>HS~A-r5Fa>3wp!J0yv*oLR{kDpR~ zc0lX*yj~DdMHD5@Cr9a{S)#{j3a1NYYM(r}h(3f!Rkp3XS8R@fD#oX#95MHV{8^73 zAF@wk>sX6f##*JhA}caTqOW>A{>ATA13{)!@$*z_x0gwyrc@7)vfJ{`c#qo5Msywx zbfLAfQ!?94pD?1yeq@M98g0?ey@&k(`k>V*uKG~-rF^_5t>7TWu(fMT$FBN%YHznx zZTz1@-dz?z{JdmW+LlJ?-lY^0^b};-+ay@giCR;Rb}d9iD~|232k zQ@Oj=q!Hb4wwx_M7!mNbm5OA=>s-^c0r_{EFB_cg0rd!91iTx#Patw&{if97a+tR{ z3NRp$R0Gdfy*Sas&vkuObVa5DNkgwjeY z%LGmlY9Nn#I~|#5iCrHR^abL%?(9>a8Wwbjcn~=CkY=~9I)d$k#$)RA@$35GfQKmm za|m*BS}{YfNT+J`qaUg1@EvaLJPEtS2jtFOd0F0dxf+zZG*WUBti3AZd#r@CR<#rs zMaixu%lU_v0xH}QL!$F4|CG;z$VOQUs`Of)D^2I)3N=_wymAF5ud|4bN4>wUJKf(- zz6Y>~v%XmTni1wHMzmGq(`s!89oQ!Yiz>aPW!qz~P1BK06Gzl(;2YEzg^rhPVi(&r z2iGCWor&Kc?5 zAsmqv+^)Kat%M!?dRFVL`&YTv++V(Udu|cQDYYWp9M$1aJH;?W!7HA&%tjh2Zt%P! z;h%N|sAAc~O3!aE)SD^>2u9of2HIK^8!X*OyY%r1=3r~Li*y8+x87F#AF4wUI8i*P z_|j~;;`B%VuWzT6{6EOS8U!b-@+5$yb3@++6iJSq5?1ow^O@82keOFn+2Hjsx|re;W>T?2Ak|uUQYk!1(=-#LoZtt7Dh_c1Cqp ztO)tHe*;xaD8QrKj~r(IUx3Mf{-CbJ+dWk~aqHdx{QCd=OU~+6?+z7C{Fg7kZ3D1p z7iklQKM<$74XWbg} zPdENpOm>wD>vudweBK+=psf`B;r6}NVx0dWex`F%6EE(XPs!dUAQ$?-FUD;{C~+t< zXnEXGu7$s*cmDO>^GWCc0I*%C zStSdfNee7KkMedd{S@pj40H*{sgL5q#@Lyfh)I9iMe3eM=g4Grx~EZI#d{_j#%d4^KT}``1nazM|tUNQFiK zI@F3iRhHRLi4_wDV&ML-t`N!%94}k_GT_**b8qoeu=w|SQ`UcfZ!RRnrA?s209y*T zxA)Q^SfMa-vB%r9zH1Ck+^4Eq**%KBPW&ABxBkeb z#VKh1Q*GysF*W`*h?QRYF67~(ygedR;vd!bADjQjgZV#SaXAr?iXnPh3O(&8vLG-@ z)DS}WMKt70?V#!JLEV?u`Twh}qvALPl7AY98wlJJR?sDI=GHr)bN}*Y_-^UH%mig~yhy%rD~g9xu=uJnXI+6KZsU*F@5}riO-l%GX?F)4G@Xr+@_k#cd!V>9cPwQvb2t!^WWA zb;mEQ%fO59r(l+Qx9N^P84qWylPhnoFTBbw!KL5Lf&x6#1`*z~!}G+m#nscrI~LY6y%szk@TEGl%5P)OR+$DcTGClYSP$n54NeVmRhdZG327oe?w!qXka_O_C8Qq`Eib<1-;!+W z3eN}&d;-HdK7Ui8k5FauxhDk#D>W@Py;{PQ=kAZ^T;JEmE4>7OwdS`rk}*$xV719M z`V4%>;Jx?H{_g!~1W=&;?d<)Ol5hZaD(A5eTHpfRqFfOkTT`n|(o6W-;5mmH&4R4& z6=pf_AKVXGU!z2n8di`L%)FZ^6NjZn$2!*I%S1QsQtz(22Bk=yfYhMmdZukM^+-Z@v4*YI$kK&Vx z*Nk+$?4F&4dj;2*=&rDjlFo!%?E#Lc#-l!q%{;sVIQyIvbFbkxS#M5&jzI!)z}xN5 z(rx0{JkX6%x3b{zPsczC)_O?06S+bN=nlvX`c4=i%$hM??H509!ACq0KHthvnn%NP zNNCVroLLH0!I6{Q)I(jcoa|{Q=}UZ3#8tyW;DrI*NBT{?B$=QZWzS5kRVL2am!)O< z*Y`8HaW_PO0d8g{#n1u%(NClBit(eE9i>G=88d8YS9HdAtIQ4gB)bE0T_A8fx(?o! zyehf50qV5_3nC*7?mD9F2BSa_D76!i=s4w%T`cIoM96FTCGk4|f2k)B*C9>)f2=S) zJfyN^QrWvBbn>)}SedGKF7}Thsq~=^6G&MgTMO2-j#DMWXH;ES=Sa-)8%WC$DR^mq z2FU5f7b5F{-y2EAYcLF6`R_v(N_o4Fh4Fuja@8mw;Zx!}omqG{l10H8RNeWm1bx=J zR=`YT6;MTA=#>KKQj8k5wxFf!E-=|8VX-@ z$KYp>7n8aJS*79MTmO1s6XG2L(LtX_JuU$65d2%*@IZROl@OB1^c zuTse!B_P|^;r-2SA(u2aP~RsRaMnO0VhKQ0r4?I zTZwp@FEjD4=vJAma%6e~$W$g6S3_EC!g0^U9ObZ_q2F%pZ1N1jxlpSXHP&D+QmZ`t zCFCLCZ6Rw|JL8QZ0BqE9ZJsQ>9GV=Eo*P7HXN;qsFaeplBfETxLIa<>{CdX{B>zso zBa|GNTLENlz|xEGcIia;G>Szt{04VKS}cC&A`9+v6JW7CIE3jQ2_okV@^HR>SUs?2 zu_VM5@vW?$m_qhEaLCyFs?O|vF$CeYbW@vxZKXZU6~A-x1OEA_-eTXjA-vA44W@B* z{IH1&ldmZ{Bz@QQMc~0!B2S4lDang~p-ZRKK$g4bk zU|ZNAOoZL*5qla!YRyECAIdrhkhK)f?_@D_=M^{S6-(^QXZ^MP%0$6Po0w&oa!*=71D9AlJH< zN$Fuqq6nL>hm2Cn^Y4Mrcmp#a4LfZYkrjbQ06)G67(eQMR9FPiO`}qO@GBUpjwlh% zbI%#1&%&%j%@Qa_~xge%#nwMbrj>ldI7yN zol3(H$;-@lL|f%wYj@fk*)`@p{GdKRzMfq)ohJUlNh6Uy9KDSiElA^Sd2Q%^bITI9 zTpv{s0+Wrs?i;(2+kCg0A|g46Iqw|}qEKOldD*LRSzJC#1X3H2YP{MgO4o{8*hq9D zuyRoBpfgc{S2MWdxjbT-V%RiP&Pp3Gi`98iTMEgQ%6G#5s#alUm|_Hr{mnjsZG$SM z#Q8ZL_mwpoyrWk0$>{{(!R{kFte6f^E%6RCxs19v18$KrU3qUCaY-eX zD+N?q=M$OFLDJ^l10cA{E0eY&je@dUM)V6K*QKurD#WImoVWuexxKhtW+J=jx-LT+=m?e(b~ddb za9>O6{^CX<1Jn20RZfW0ZPCdoS1jBvURB_dRg&G@z2teMd1}(Wx;|Tvdf2i=tR^9K zwV_Q494h;X0WplmBiqD8Y{uA1Ilx-v;Hv6803i0)+Hc+M*N5SuxH$LY7b?jKD9AMU zh?q1SGyv~0$|$o+b9vp-!F4^bd$Lg^nX328^=&*9g3lQCa*!`?o7Q0F@JbwJGD+rZ@aZ z1GoxVkJPKxRKqnloPb0zq_M%fG>dx7fj;#YNoCu6@CC4;lo0T+GA>&^yA=S_0yh>+ z(Uzp0eumQp$GaDy$e!sSQL{E=^DMhqOb#-Lim9BTrvF=T)8raroAvyS5dmf`b9EiG z`{5{odHjWSSACen1*ZGGETPp>u${Bt*`1TQ(uy{T1}DtKE6C`e1M~f~hkP$x$qI?! zI)56mEIC;Cg{0KLTg4ixnS^sy!au#F+iNIu)wv2^NkUmDV{+*@TqE8$21RGk$ z8SB!)UAFjr?RD30Wc)7nQr<4Ui+yr9%rhs}-oE#JHEH*wiuxgzr~IO8#S-0gt|| zutAKA1d)T`rzCcp>GWuPc6w(6)Yu1IN{#vSCPYG_1R)>I z9yA~*sf&N%4zDg;ep$FzwhoWn0rD^1RQC9tebjlW_}2cwKmtv_-kOiwaiD%)u9{sV zx7M41bb6E1HSDSLhpii$WnLdMMZSu$x9q)k&f?U`y?45EbG`FyHN11yZAAK@kW~EF zo2S%gA}vHp;J-qwQtXryR65J2myrW0kaSJTNC(r2mTweMd| zH#3!Vu3R#~Q-}S1^iZD!^g_x*Pe~RlQMl+i&pbecqQzyME}ovA(gv7V;rb8uvacq# z;!Gba<^&It+(D8o$Kync6BUI~250G#^Rjj<4-T`-FOdQ+A(!*lcWfOSX8d+qjkl;g z6f8ojtBlp4@5SYr<+&leJC044|7>qVX5`ExftlEDvWp%%{n25cj+Su%N)Jtp>Uui8 zD9Za~-+^-afPn>6KhG&RJfYZA{yCY{+7vr+>^HS>L=tjF-iJ0h^|7_Z{`Ep+#@88o z9BrE@0tI$sr+%xh@%gKpMLb#5)4Oljhx?gt_L$f4Hjc_cJ>2bo9G!XVwt3es=1r8YUb4{T3J7PMWwvauqr~yPYyLi>GwdVfllOS> z*Q`1pG`^ME$yz9J`0s@Zf7k!i?R2CDX?)x2E@e~^8bQWxD~_=RN$Ta zq8)Tb)jRZVPKEFpZByw%IShUjF2H?J4A8p7=Z!}Mc+lX~}z{uSDb7iNd% zNiBbp2Ee7=qW9><1ck?gShMs?)dJj1OIzOEPmApPba>DKH-PYV?T=l~j2PG&>{sid zJM$>4hF;HZ)VUp4r>w8j+S!RyN-4iE$eXT#>cXX7b(cL1qvW(*P9~U>vhiJ^aAOv2p9Txr=(viL8FsX-EUL zr9LB-3~1Q4U52`R2T}ajOP$;1^_n)%7C3jB{1o{iW5T7f&u#C|mBTZ9Xf)>C`Xaqz zZuW_wf4a`F&CUi5aWM8&Ml_e7Dv>)@*d=^?m>1h?qz7)@WU9Y3c$`+Nv64x02&AqK z$K68KiUb4fjK&;WVPjwC%IHk5KJqp&O|lcgQK^27IL-UOdxDcdckUW9r|o zrUdd@s9(MDb&Y0NjnWwo#znFS9FSRfCzAgbAMw!=fUJdlk>$Q0t?Hiw2S@!XtL=<) z6aZI%Qz5Z;qxU|XmAsdEOb27yHj#U-yY@!bDzkd@1Yh-L+PTQeoJ` z|3=+g#zob?{h~BO4^o3jBaL)OH%JJGbhk)}fON@#bV%2bf^>H?(nxnVNSAc%#r^F6 zIiKg*_kML=otJB7t(mp1-}=>ceIs~Rb{T9ElOQBA3@I{}OoZtjn!9azazf+9P?e$db(lm8v3{ApJbrFgp_gjpinZK zZV?wt@2;HYHy4}fz?#{$PP)etWV}G$qG@Q~KFSr-GzeQ)Xh^|bmhxT@A-U{+4V8PK zd^cvF;49gMM3m@OMaku}QwICN*7WyI1I;5+dm>;{ zPuiJB#6?)9H|={{=WBBia2G3f9c%q6Tl?LlO>v#)-oNB65dw>WIJaHpb@;OKQE z9ax)neP(E#DoD(~yQCsnK&JwR7HGSbTV&m_Xq65UsetTlX;=6a5P~b`IfIeJC2>2` zFYswcdKFPSnhK(WqL~Z#P;-w9ST^N8RQ01mRbVF!iel^ES`jLE{Tg$?$XLQOS8RA# zohRP6G^U~eOzZ>|Eu4uEfrh2J;Dv{r(4SVrb~Q+SFTdK~fFo>Rne7cym+J2+{7MCeJ#14zZz*)_3SkQjX@lLSqHICuoB8LtL-=(Cx zx=w$`q#D0I48jA^?u?b|SCH20-03JceFJrONHost`t_B~JMfOls40UZcYinb{56KP z@__t9Wty4_6DTD&r;+-DnwI`vM;T+u#LS29MzQ7LoOUWy6q-t$M+MFT(p)c{sb{jK zbA8S^cf|!6i^?DNsAS?$8Ot_iCH1CHf?$;wp5mHvJ@Ub~)xb@R3{6=P!6PTz}H*IS~u@IJ16%I}so?KRI%#Diz z6*7X82&kaOOdnLKIBE+NlW7#MUCuso!r>C$6cQ;e;je?a2Bd8HPtS?X!x0IE8}AfadNEKB2)sG0r30j8%y-7cona8_7$l<(d88$<&CBPhXJ)pD5rOHc;_ zO*D_moUvrZtBxHwh~^VX%n+8}N%(ERT4s1V4#c0NyUHN!I}xUFG(OBY*QGsP;~CRY zVbMZ3M&i2<@4Kcw<1khN#dElcb_QHRF23`Up-uswrPHP()=lph!G&3dWxR|^#V*AA z>YHi?YA96YdBA|~`OHUN&*YCyHF`ff3KEnCgUzK`_uaLQNjTpwx(>^0fE&8+kLu)) z!nqs4@Asqfbr>ge6b`f{+soEtfnds`>(|lsZ|%Hv>N!Ol1g#rpvy|;c8jf-OuNp$4 zJntk$uj84BlJy7^Di{M1{^|h2N_C<0jO0*9{QKm}l~sxPu$d)4KejT`EwFG?J1LUQ z4g3A;8awfWK7C`N;BY34ixnCR|IPqjcRw);WN!C1`O&v2CutFDGD~EIQv9WH-vo6B z8)HiISO2Ni$sn}GG+0W|w}nlW7$u%ikcB@EdftqCmadC6Y`XqaR6P2jX9-k4wG-Mc z_3UBX*-B$!{QZQ8VU-RNN9D@e3F!8+3{5jn9 z=*_K^xOgg0=>1)>@CJ*y$RS~ULf8W09EFPl0=uIl^3VI%>WWqnoFZOs#x?@EW51BU zhL|iUG7mehphE2}HS=ojyuL&a#noR|T~0J_2TbAmradKWO*h!X6FvL4v-NV0IehfK zapVPGP~~tlHRj7Tq%aZJMsepJ0_*$;lfE<|bT&6*2AlOnXn^Fc18EX@zt)-;XEH`h zio?|7YWkWLS`WUn32pw_T$r*a{V!mw7?N21NuE-}jrfdrmp$oGt)gL8QR#z+=ytf} zUi6l*fyVlY=aIL77k@0a>ug|%6Wt}sjQb_dx7v+uRHe5T+n{2cRQn2RpRPuHhU{N= zf-|7-!)hDt)2Yjiz_cvvUf3(aKQ)0wNxJnviTH7UHKDSL3bKOatnzs*N-Nu%#KP@c z?8J3cWph|Au)`|b^m!eZ%it4hFUeXZRf!7*j?4oq`-pYK%(A+=|4fPuuIpH($NNS` z-zUpJ$wYkX>mH_k@3p3ra3B*}&1*y@wy&$B$7`G3q@CJbo@)MJGr{jxBd#hGaMP8a zsgl%XrXXe|KMqtiCLMn7rmuw0%0x1+VtkVdM&j;dGG~MCE6ery)h3?u;CEKY_wy3v z@qd}Ne<#}ckqp@d<&xearVDp70*b1?^V$oW8hzhX2Gb?Tqh=~oq(^~0E9Fb=ZS~n8 z0MPX7?;RrlT%zUH&84SDM|hIPXP*d-AR?SsF0vQ?L@?X9o7^&Y$p`EFd3Pg1rq$nW zwYL+dof`P^9w{qT>|)={`<0LYkH(j=PBK~VaL$|u2Y6B0UUGltazT*>P43d=Ua}nk zxNv97J(a`%*~*R@-kDWCfmq6D_5)nrFU{mgh>ncHZhg5{DEwwV9OA!zg!pf|%RwsO1{#y*7lIAbRM#|J3EVLz#qxXlh2=E>O^ z&GJW1`^V9Hy*u8?;r^kLh=KN2(q}w(uRAQTD%&gRvK;CZXw4$Tt8Y!El>N!iUB(ZA zzoCp-X*B-Sh76-Kq$Z`KxO4D3y%LxEdnWE)bi{y`hwMThKoeN2c$U##l}9y?Ys<*G zBUo|PWYOE?N`svP!O1fzEsk`mFpo#5--;e%Wqq8{DDRAZBMjm^4s zOYF#Y+b^zfKd0$UxjJ#-OP273a5bXc>z#~7XhGrCqK5+!(j43)thqZ_4JueaO zf1nP#R2-37?Y~ga(}5h;AQ@Gv!rrel4&)$&J)2szA;nO)Fj+`$E&9q784F7J=k9NK zbKx_?zCen9PR^j^TgNI`_+jZZp>D&o!9+mpvSB!I7|@s-KkZzbE09FU!>~XICzOVH zxo44}xCyeEX<$TJYD&~pG4Lh1UKhdmIu}^Xh z@Rhd6_0bLBD?lOWxT!f}o#Nw<<(8TleS!;NUf>tyhpqt$>_$tc8<{w}#)Sdry<(c* zjXAqoNSZrHUk2fRi<_LlR9yUttZn4h&f+kWvrTSly_>TpY`)QAYsa# zpsFvyc()5^o?aSa-EmxT#aH=DXB>%!J@e;lVWh zv#Uw1wD&rc?Aw}SSJFar>XpkjByP)JqL}UnSP-C*%LIy~4JP&{k_AkqQ}08ix-MZCB)d6)|o>zM3W@=3dimVR5o9@chov zMEr>l>|qQh)?!uEa9Fby5DoWJ<*oOXlKULwEz9`JSN+Y&W&THbs&v% z9@_J)e)RIk3iBycot()joOf9Dmwa-caB;;iAzXST{A+HXj-c0XoIpvT?IEIt4QhYB zD5@2D^_Q+lJ^B~ksOShj4E<9SVg{sRY|qMFEaP-*opo4tF6KEIEUlVE8sk%WnG6%V z<*L|_6cb|XI+gp69`z%!3tiY3~gCos#$^E)@H78P# zc}8W8+;!n(^}xaRwwliH;WTkO^lM3_3gxLz+bqpRbd`ZPv?f61@u1~$>6-SURhNYo z&%#0@jb01#Rv6K~!2&)_X!v+D{ZFl^Cbqr*HYUo8&ecxrpnBXgZAD)wO9vD@N%pnl zSD^M(-knK=uQt8ONBr}b;=c$=zf;@Iy@mQ|6DE`(ag1v-tGykiR73gE3Ad%`r2<$q zuBm^1_`G12UjmuS5PLy9RxzZ8^6%b3!HPy`?0XWKB4bP@-0^SIt)8$qioN1g)`i%r z6uDJE!QEOiA`Zv&#;&0Q!+`?dE&`Q6kwX946w~(GuGD408`XWKl`^=Q{eMr`A#(W22%V zvG+smquk>WH(#1%ocGCv@(?EL2B<6O0F)AcuL9 z*~(?LhSmbs-WCh9Ojj!l4}qZQCMbxYLi2XtaLMC(2PZ+H85w-uL8R!~e=6VL=r1QOpB{yuKYxCCI#@y?n@(^R z#u^7|5L`#Xo}o3$6`*?57VtC4XP2DnhlzbSqeN=3=*Q37l+}-;JNVAb|8+iI%P?8* zuQmT1lut$=@Mo2XC(;iJfZ8PVY~zoVn-kT33|i;Z(Cicee*QQXdg;lM+ZOxV-ftUI zrS&b%@A$hhHoH$lT%S=OXa}hgQjK6>-I(1ax4a#YO=a|kns-wteH3;0E_#r4#s}W0 zkfs$L3wqZp?>7NEuRMPv)kzmh0CgsWGMW0Ia{ncPS_hY4tn@Af90!9H#njUA-yJLj zAW2XN4K6;(X00y7GRvh~O-QW=o~V%Kx>>@^TeG|-4D661?<{{yW-+}`BcAcGKihtN z|E;``-R`|C=t7gUy_pbe@jPOlE6}fB+(YKz&GnyYu#;9yj}%4bmRLUn^E>IC7NdVq z-bpwp-IohyVM?*(I^7GuxyMg!GZ)u|oqn`?K-Vt}c0Bce=_neO&N3rlCqU#Om98y& z1`RcDJBvI2gw6{mB;k4QNO?>ovLs~wQ+omcHK_?k3it>C*By91M{!>6Y(ARE=wmf z1=cSQtFk!MGK3_JW&u?}s<>>%;AEpt8r!Lt19Vzl9lBP5ivq%u0pvDm{#1wpxO(UF zn5v7FU$~aobT<9G?T=osaB6}87!wbQR})TqH@r!jSb0~{4J6T3i{*{l6-xN&9IKn) zK8kO&7GsSjx=UJs@C)c|WnQ<5$4RR2pRgMRB8%kIbP>oW6bk*O>d@kMuCIlneC)rY#h95ZPy5Q3 zlXIIRk9D@j&!#i{<36SwQw+; zl!?VHV-99oM+^=+Nls~VXOKa;uOsV67>nzSoHjJfaCGhCtla=(E)pc)2i`pu7@W;>^R zi2uygV?1?<@JUpC*cgQfmwvaGHfj)6T69@cHUT5_tn#RTto*3BUHY!=e!lIu5&YBN z-33G)J-gS9F6kGz~*6sIs zYu`;Qco+%`ya=z2WkVke!ZS^h%#9&_jMLyEu{rs z?}pco8PU`b@^@t(Wuu>fkyfCB`Xd&$IGO`yT@vkG1{%^LGwMda z>Y4RN1bBw`fen^bdMeizcU4Z8c9h%pEW6*6j7cg11oA4mZDDZVOh=GJNibJoP&>=1t1EvBO)!rsW zs!sHQ#ScYp8(B>z(2z zw&%LU8QEj%5)q}+eZ=yrsk$|&y?xN%dGPRPPi4vKr448>Ni8+}rcepMEr85p5Fr=D zwTeH2ai5?%a!guohr*=df`maK#Dwo9EeEzV-a5BG(vC7fdZYvXsf%AItS-fU-M)hWkT!!@z{KQ%eTB-L9l0HNI4 zq5}ay?JCSPh+zUn>RA^vu3YU|gzd>L7y5MP@jxkW;7qN>pVv{_Fc}2SPxA%fXS!i0 zo!O>?GVBE5mIUSOxK$F)ltnom)Bb<9t}Y!wMvna8Nh0oB$h4S{}2PZg(9X zw7z%l$%CY%ZfqhJOp(nSJQNK=q#hAKx`3H@4ToM?^T^R4vtkzYLl!?gD6peI{lFhc zkZ4fm0&`FQ=%U~PI^Ca!UT;spZ$5yi-x6;T@?)#)0Z`J-!LG2i>YGJDr1b)M-jBlg zB4a;CjFN7JD87#AR`(j|Z@IZIrnbn%;#&}yjUBX6t0id-XJ;1g486xrJz6}lQ@;;v zm!>gRe@#Zsceab(XPu!7-PrFA4r#9aQ~wl9JVbmX^&?oJ3=WN-n#*tAX=v4uAd45E z@z30xqH3pknuuNnrcWnCQb$9~esAkzZ1~~PoIjx#k6R!(Gv86b;2 zt`MAQb7#1NNlk@9PYnDxL0Fx_o+=86^l=!ld;A0tTJpjyPyaB9TFF4pi2LedPR!Q= z13)V>?D$BM#vWAd3foU;<{ti9f~{6pVfn&LFr&CJume>devYUeU42gIzLU%v_yz-r z;SLx@8syv?p~@?WjEL>?(9QCziCeco7q~5|rx=5gDEz;G5kctlybWgoq?)E9&suoV&s~iFrvd-l zSqHM2wX>E^aC)*~jC=2zk@4}v{rHT3`R}Jk3IUyauWTej{r#6XY&0EyPI`RrLak{u zW>{jJeDkjlCxpMFXH$}VFsS1Gf4KnzKXJR!?9H2fW0D0%4YmKvulzK)fH!rL_a&kQ z1@UNPrnfV*|L1-DZ;z86E^fEf?9aiiBPCArU+?RG`yMz@qC~mDb>B<4X>6xkI8x?c zbbh9w5%WLK0{NfFt<=ujlRZklmmC01JiniyQpeIPhS)Y3|KGx`M1fRe89L>G{5vzx z=07j_f9n*^xJWnzNHw}DkdYMRbSHETf`5GqWvUSlYH?DLh#~F|*`|%s{}vQKFhmR` zg$AX&Ot4?)-%m&a0ex8srJq^q-@X_BMolG|3AYa}r2V%*8PkBl)ExMXMcDs(i{wE- z&&F+{E{y!Qcf~(MTpZdiomtHF?_q!d9ba%i=%?WS5%#CIlpg76kn^wX|M!k%0tyE2 zl#^xe{^Ma5D5*#hEa@2Fj4D)VmT_!ps|^^bFCD=D|+(SAeL z)Uud$jcUjLar^%EGU8D2x}}DnOVNk}BqA{{(s!l(c)bLuMHBKjdfHQL!U#FEtBH{Q z=auiJ#nsW6ktYB21!E_Pn)|hp!L8pz#j?HsCHjnVz<<1!HHa}aPZ8I8Uvm(jHe}}@ zl+>^KKib*fIsj-TCa0qOf%pE!WPIuKu)uGT|7S<+#|KlZM#jARPYnNC+><_oKB#pt zxhhUlQFGMby8&*=oq%ZZ^N%&UZlhs_6I0#akDA@jI>R@xh}|Vq0RNo8Ni8E0<nbVr+*G^l|Nlm?y_+r7`xy^yZZwxRunif|w+j0rHN#%H8mio`+(e4b0xV1Ys z?|rNS@4Q0+hS+~tJ?+Gj#sh41N_7Vxhk!f+sb+~T5did0JbqFK;GPG-K77K!vg{w0 z7hrnkV40$c=d&%ei~)zkSG(AK9A^NMn%?iy^P4BY*(!i+blN#Mz>y<&d2fA_jiQ*q ziUF9XiNO^CZzs+^#%-WNZRRojR$vv%x$W|wd;4cZHZ}!f#ZlqrYH2+zOzyEYhyxGt z=ao%h!wLCI)cLWhC#_#_BsQ1a=WrIhRSI(ve4P2dEjb+S&#}Po-Lw&_B1(GL_W02L zWot0mWUr(S7r6H?qL$;w*mUhc5ue}z!06=Xwx_!;B|q4s6F%9vX(xNN5_E9D-k$DP z4F~;DObmj-UKL&a0U zNv%^_sR;Xdwn0a246H&&#o!w&s1D`Bdu_+-mnO%N^OD*X!gjKDspOsQ5^_Nto?jq$ z_sS-lHCoVBIv&Azoua@814Htg3-^H}`b%uwAR_(;VeCamMM&cjY-8^mJd1(zgN>d& z!HwZ*sOr2)KIil&ke%thD$cC!!O`$jyu-bqgS=VKsodmAGl5Dn<7kBx&7MgIXxPDJ*Vf z)Cc=Z(+AINiYsK3gk0^P$jxIP?{>A?FrOScdftb4x&yLwc|9R%o?R@4ob(a6Kp!7j z1UYAPk1x8Zd_4H3`Ep5x&=R}J!3Z2=-{$h(`>N&c?vcc!ZkegL`GFy4DDa13XTOml zNf3cdmG3h0V#8|r{`az%=Him90{-%l=D%C#4&5DcK}+d!EO~Ie1+oP1zrG7Zv`z3R zVTdNZZ_#%ftCmYz6M>NDN&Tnu%MV{V<9eUq`7Z!-DwC77E^a^0n%!eWV3HwS~Nsg7`*?-t3I+c_A&ai`}i_jazFx zTmep2X%G59T?-Bf>!}LVs^Q(70%`xfD*0PBbT`pHb+P{bTejr_vmB5X3twHH+)#}78pOB>7VA*v(|9W z5{`%4OE2%8d6y`T`kfPw`r|o{tFn3cNDf}UuSiiDspX4{NL4+ndk(kx-+w>&Yw#P0 zg@U!+Wws>R;w?+-(q8({;A*o{a_jSDUB^6DN4z z5762vVLy=Gl0!UVcc59@#NV>o?%kno@}+uTI%Z9_n#7Vs;!PItQ<9K|0RN7`ug9%K zOhU;dn=hm}Z?1a8D4rMOL1vjj~)olpvMv z)4FjeVe0_dxUDL?+xDcpJ9IKhniM@Lz+ub|itv~IGs@}Cm?FD!ywa4u8(<*`lf{C3 zffOG+ljjXPEEhgIOi#bm>qSvP`&1gU=WQ6@T`AKYAYh$HdV651CyxF5gi%X8UW1M7L0o#arx~@{7hShUAasyO(VWWq%e;Q#sa;&331! zpM5so+R_X9VFiQ9(iJO}lFR3TsaSl|-JCP<4$|HCZzYGjQ-Ac>I8B3UaK3X)tY(#; z2AN}a-d_e~p&w$1q}s>8GD05#LXsHSBx_tQpfbjQ6ZXO-yN?pm2r+XLO(BvLUA}C+ zZb!eW`#xIuVy*l1{m(OlGoe^q>M)a@%H_?POLBoUB$a`m>IOpVvv zTenhd#{NQBv8QVfv~&Ce$xkd#Wr8eG;hQ~T4~|udt`jam?m=bzMm*0#23_0YwMws8 zm=g{E!Y3&=AY*EtFJ~9h&Pja=SDCI@kFDuqH2)|)$t1O|HVll#dCj_aPc8(hSYGKQW^vNusDO$$f)Bwo0v9u8J%oMF>15G3h^6c$q&Y2* zU(pn&JEjX$b3}?gTyffD@T8)T;~)DZVxagj;Lmfy;^SY#w*NE%lut1vD6Sf*@a0Jg zM9HX%5iu1L$?zG_ka=i8kId`#wyh`f7K*}M#p`>HSo6CMQ|j`LdxCGS`YoDv_q|Z7 zGZZY3i~Y(+@SGmnUWk5FHEz-^AvbZkC)C&Z^&aa2hsD>!0^)JiakJXtDMuK!WNwE@ zi@eJao8HR*0<5`I&+(En=&*_Z{H>ZK!jI0*%aVIwd1X4^>-XeQmeVO>be1xmyV?o7 zZKXt7*0)a;0z;K4o)rgX3>YVOCugqeVI^TR4V?CE)aYa}r-KXP`WIOc_@U+DW{=-% zZzt!;`V$F7Zj{CuN=m@HY5};ND&QaylWh!3#&CiT>(_BJsz3RLvDHF&BLdvJqH!Ro zpde&xkh`7qlPJJ+1RgdCcBK9J#i~nSrsVNbVu`Px6)|!~t0oWS{FHen<(FrqBfTON zN7WFS#g7n)LVzEI_Z?;#?xBEv}~jvW(>uytjA z<@1Q`z-VXMEQmUu*xj*O5K|D#@b%MNTRjxs7f#E{V>6~e!MYa4(5xhk-#lxXYSGHx zf4WnBrbJ#|gL1lL;Po2KD+ZY4*$w88gm643Sv=@!zrb!T8aPB__Y!{auivZyL@MAIq%F=OnniO^#ce zBpqf3GG0vI&)YY#{S`E(dv>Ti!@ueT4KTI60y|>oGWSdAn_$zP_HzllQ9o|+x4mJP z@IN&ob=$A#8B63a^xZOBlaY8WNlN48u;?;Pu0cpWPtU4)1pw!0yZ~TLwN!kqn=a_L z^wLFbT_7A+$hH%N*y+zXl7b&j5o@((KF)y;5Wbw&qbT`YYg}af@^`^Dw$*;E4__7!4 z5mkF?;HvODR$6j+$EUizuv*C7gU_i~%85Ti*!3@AN*#;M%`kksAiQgWQDZEtO@jb@ zsRqb`rSteV##B+sw)NNHBmvcp-`OoT-%L86{9V%Pi%Vo)>mkm730}Fd3drgGwi$4^ z@nO}M66?_$I!DU3tCZ|KXk=w&B4dAPQ352>{?yz2v9tMmJRCw!tE{=WKUb)?+i@k8 zk?+fSBr+^tS=q2Hi#^8RbsyUQLu`XhK`sMHJ(z445q9t)WAa;b$-{!#k_+VELSMU) zS&#NsK5Ugj4Ee=3FH^xZ<*H0CG2+>#sA?=?R)`GRC+sX3I99rr%B@<2dL&YKEZpfK z$H7e!A)EZJvaND62GNatIB9b=8`KajUf+g zgOdb-eQT27Wo1VKovc?F*IjRL#S}Nc@1gl`d{n6@u@@h`TWH5|zgODWMDQ7VyLfyD zL8HM)@F+ej@J(~!{+Xo6^+qgQtMxRVvk${p^r-pl9UgnEl5T1Pi{4c<7zCiHO_QpU~s-i zVB@)DwBk0~f3yIw$%qK)P@)J>l)1l3Zs7Db3v(#^#!_g|{E`N{pjrvh`h9^BAd?KY zc}K{l6wHEYmLs{8$C_ZUM|3K{rcE=^5uPBRyyOtfgpIN*Aqv=O8W@f_3c*~Bj*ZiSP5kYc{cLDoaSAI_3=1a}qMmW6c6$9HjFTaAjR4ba&4 z_T+)H&iT36m%e$9r@0AS1bDnCs4gZpo!nOH?04Rq zJ^_kEeT~!6G_20nOP@3F@Ts20Q0@>!Y~F6V;5Av8(`l~QHa zyNGqLG+*s!@6jt|-*VB88v27?_-X&VB-)HnfKRt4Zr1V)H$rlZhS=DN;XN>({kHeO zqxPW60Owtv%wu`S{KQ1juOxQAgHt}JGB5#iQPhpr=ad7y);qV13Ovb#OT>FZq&Gl1 zOZ<`+NZH&Tt!~s9Fa8~?{6?}pyh`pN7=r0$_|c|>z+;P!T?M;Ux`0CW+`RWJ9_M8k zCXI+qRNRRd@p|p`!nSDQ8#Glac5~tN=3)jZ(eo@kjnn-MpPN4gh)7I+nbkRrB<_Dg z=a4&$L;Gi~GSY)m2^Ll90XEyCno;}llb!Fb2zyh|nb#o*K1)L$+}{hV7B&O%O%$GQ z{|2vn=*fr}f^fR7f&JD{zx^QR?R&B%E#e9(M&z%4Wd!9v4e+V`zRNM%6IBqcu-Q%S z9h+{2xNrP)%31wAxXK$veK1IiVhA9jP#;23IwL$~QneRKz73 zyMu)-&mHm3;#?Ie9jL*aC~SDXunYVG@#lMu&oDU7h z8z?=1f8~q^p`xbf3p4$-*TsU}8=G*)JX+2#)aSn45v(RDei*|r4B5Pp%lG5x?I`as z*HbUQGCbRVUJJZ7+ayP3D7UCeY=VBy#UjQ~1nDnJNv3;~pK#1sWLsOT+$m3(RM}yl zHb_@>qDYGVCJkkXiM2E*KdcP=p68eJI|KisK{<^cbEFO4gl_D|*Z8$?DU=y+lX zDTBqI{-M+g-Gs<9MhV9xu~4+tTgEp~f3umCW2SaI-z#`QcF&6;%fN<7t8^DlkJqv| z8*+ZkV635WD$avk(x{w>=jOsvtFG?AD`Os?`3;P_(RtAIBC>eA;Pa z0Y#Yp%&t0e!fMI(%lw)^!O#*RHsRK;yUt)>BF<6-wjlxHm&TGza-+SEvf<#OR{y|Y zm%F?fm>MgpqN@6PCbTcP*oFf|sd*L7N%+SS6?rc2!7uP{yzFUJL+wOZv{f@4(gmUW z66u|Hk+~w(Z$hQ>lhZqD__=Nq74l9j$eokDq425~L_1z+m>Q2eHZYY^&WIVFfEqGA zjuHU94KVp=jv)KI8{`XqS-p%+4kLy67vEaa(QZ?x?vS~uU5|Z>K>VoOtKA)J= zf>FOLMLISsEYldUhEq?8HROBQq_+-VVfsri=l_;=L@|#Xz^GWY{D3pVCvoGH^mr7Xg72- z<4122WrnV;mBVpz^UG+Je1kC%RX#@t?XB~yL>#BhrBMAo|Hc#h{ZUv4-t?43Z=VpS z8kP{^)y>xoXF;mjZo?I)X7Ta5o~cZD^+uFhz|?t?Zz0!bDg3TO@8Nqf!?Egp{Xuc# zsujBu%ZzO+IYk}YC}M@z3Nod9JiB2v^ioILIIT2!x#xwGQsGACN>`__3nA4*BtVQc zX8EQk7>*i_osD=rm-Ex(N2oL8tOSIauS`Tm+3KM>87z%>s_>B(HYB@;EgQ|lxHFMl ziSfsRx{&K7Nnn}{m~fn?;tvvImSww+2cfg*YfPb-7XaY(0_YRm+}kPsNF^F>fYtB$EoLw;9xzuDIdxR*_acVfd&o)_n-* zRmjZzS%K2@T6cLR&(oY0S{K*VH2q5s{Zn}B>qqw^VVCouHUp{U3c=GQe^n|4_)P)> zPkoS=X^s#*h-#u(Y)nO|_|-*|!M(rLWcNDF*g*fJCJ5wz2xR}oT^I6)iZ|N_M^e22 zs#?8~ql+Y_FpSX-AT>J=8<<=NK9WgFVp83E9>&^VmpM$+y|2$_;JryS_ylAUdrJB? zwus)?K5(0GT+^-g+my+VPfh9YpWAbZEmD>}stO-}bTjc6ZC+sf>XypMVTYTcvVEyW z?B+;vpL`ll6Gp-^5F04zur0qG!PqZlavXM@sk)R7C0%Q&Y}1VRM1!n!at+8ks0t*G zn;GAFE&7do3XXdsCVifQn6x zl_iJB)5ZF#Y}Ww`uj|Yr2q`F<6s&P}@@H^nBWZFnqpUJ2#xkrhD}0;ui;O#IB!p)} zM%(Ug|9Vd(!4l>A?DxL9YY}?Co1wN-d^6{970iTK_-ve?)znY;dLe^p-0hen`s!-{ z2JBFF{^K}mFT6P*VcE^Tr0g9U%=n0{=5t6W=V#n?dYjQVV`GO&w#ews>-3gNb4Oq7 zMGC$$2oYn~n#F?e06`TIfA)@FE)nC~_jyM;Q2gO5AUihY@vfhDJ*w8q8}r%MPPymq z??}fGKVuG3nbB9WYttU9R^@$TC(G_K3q{24ct+s3RBzrPeuE`owlTH^X!_VqoXN&X zD`8gC;@K!Rzbx$SrVBqPemLwCZyU+qv`}ZhIv{zZ!^Aex|LYy&Dk4B-IntBsuZ&I` z;hPv?B3{iM2GChwB0Bz|W0Npamt}}7Yztw>*%wrAr2hp|L zY;Hf!zOEf)3lv~{7WbOlIBe|N3DRh&`qk}E4y)-^4xPzFHOp7TGF%&Cs_M(-$NOdP zllY4hue48{81Z9#sh}u|PH)MA$Q-)~5!jfq1z0yc`&(u3 z^aOE3)tN>eePH1dThF$k08T@;OnQ;+|8qoaF?63f>>JFLt5=2ftGZV2O3^ z+?=5Hg-_cQmL`_{{MTJs9qtx{4{gr|SYPH2<*U>Rx|xM+BQ2Ho@Fom&)(R0%n^LTE3a0#^iDzv>WCyfdsYp)7qugbILiw-6W}8s8eV@#@uGx zF4ZwqN;G42_?lQ8O>LSQ~`OeUfjM_57e&Z)efMHF3Px-mb_F-Y&FE zph=I?IkM;)>6H-Oyj@Bmz`yR&Cp3C$dfhKoinNrBe1&h@5wC(Y>Er(E3Xz7h!HskY`$Uobda%8meM@?35 zd|(a>K7`_gf^i}@1hUdGl9WacZ6O{U9jaOO(giDTy62%1_Dh<9jo3t4yhl01 z)3OD1W_a9x$&&SphKj~eGG2m$ykIdg^o&=-bJE{6K^b3Zy3x))JDlvHN~3>eL4Iu_@LY!H{w@@5Xzp87;6IPQpOp!74`%QO5WVYNmrSNm@9lq5 z*n06Q?j$^gkyT)wE~tUDJT2(w*6TV?`8a}KdG15*`6l~he!6k8nJ^0hl@5Y$h`Of@5f*_CE4j|(UV0yWiko<>0OvJSKA?Y-&T z8mGDVXXh1ihOKN)VY5shyR=}Z`&-IqH*jidRwLq|3|+#Hd!>|ASfRPKe=kg^t`!SH zdML5r+*T1@ftfqmd>Qa{3PsphqN{LgYkHg7b5*+Q7f&LCv8lZMEWYTJUY~XsKW?E$ zOm7M;U%%Bw+k2ti>tUZ|C+x5F%hO??lCSG|8QIzUA`m7)R<(SLWRH8?3({()QY#f>s zqC@`3YR@)8tZ?PTBTN8Z=o_8b*+2K5q(DqESNMBm$+@8v_>K4-=VKUcQtMwpHlQKSefz9EYF z95GcCe=e;*iq2{K`>fANj^~-LQcfp`wi1P=65piab=X5kCU3y-_A2M5z_3iR+gLH{ zfm_BUiqcd*CAC5D=dX9%r?CZyvLLt0*pvP!RL4cm$_Q||JkeM+ZB#w$O|dH=VL;}n z>*M5bpokLgDGRz1zMDWQHL?A17(F6OHTEi%8BHf}Q51cfx_J;hZhmj+LoG{hQU|Rxz3Rb7{z6{lW8^$4lf2Aa%j2%sR!@UQnSmGH zHLSDgWX6|q0@PwDcp11_OZWLhOPE$Itk=&p%Bpx@tnF3#tn2VwU?XP^*2`tVGuuDp zvn|kWg=rBHH*%ZUH)1SlHJdQbFA&fW7Y=z^;qw!8R=2Ev=pkFo-hbXFz9C7fCi%cP zA^T+|p5F{pDyEm1wsB{jmCmZ$R|o?!bywWGy`z7ljs#mAWj&mi8H`=;b`NrZ=7wZH z+A3gutLj|!-axbFus>!^_{%-ky@vC7ugWpy%j1O_;!;(*Mr2QRxO`t@YqA+c4i?m%Rz5YS)USdJ&JPIGk`9qHN?RJ`eZ<-u=00?Frh3?qqUV=e5Oc z&JMaeB#lL8TVn|;3P(XIg{{I9tKnp478^p_oYH-8Y}4JvNa3{$0v+>pq>Vt|rM2q2 zpew&~1OhR;_B^cP(qnwY1oU-mX(YGf7xQ!M=jub$VC3^Ru-DxhH$UH~5vKmIo}LO8 zi9tM&e18q{?*kgOePcO*ZxX>taNuY;Z(m4|Y;GydoXKGDEF1%o@K-kK2nSjiC}8X3 zWv2!sDkSL68z`2jw8;yDrR z-r&50wcUVY7;F1T9WUyK*cyDv&KrVjt`>x>HY@z71lOiIVrt_JyQVWOAE0|G2?MEd zdWthgrV4f)RQJiy7>9@`MMUy6COZdBRn-$%N~N4=#@z-3oWgTo?eUJp){B-R%X06# z3;B{ynJU3&3?@HGnHf%Bw?EhPH6fS1vlYyGk~{-(`q;Q-#X2{dMBZ`oqD2}S+7V=^ zSb@1Qd;O_WMeNCIj}j5l~w1GK6ZT7fn+j5rCr@*mdEB2goEih`pzgS zgXxUy+EuBz0#I4Q2*p(lv(o+-XYU;j*VngwYhf_DFuKtNF}g5H^cqBT(Q6P9l8hF; zj~X>(v>;KUmn1sT86~<9y?3JXY`^!p?(2T;E6;np$NQ&a%$~j1UVH7ezU%y)XN|5~ z8xXm4M}G#di8;Nxt%j6iWt~Nk*=Y*Pm-a{UC9{CGs6cBpX>;ya;R}Av&-Z(Jk>Fv& zb9gS3AW~7PvYmxR+}_=HvH(ra5gm6EugsYCDBb@f1~$@PN#3u)O!d-s8gyn4NT|kn=~gYu0iFw0oykHE6&D zZw-d?%*0z0u2xZip=sS7z@XVYq4EZ5{SPU#j`%cI{2nD|#bp2@hT{btS{*??XL@u} z=6BUrgj>z|4|d5V6AsA3{K4CJYHm+*^B}Av8NiS7b3u41W!1vxs6)oxIf%{5mBR|f z3$DF5VaOSmX0m~P!~UuDOgfp`lgN`7XHFnLyL*^A(53EIaZk+1PS)|6YzN>S8h7~{ zn`)eyTp#psp}Z4M;BpwbKf+ch6kA2gEldR)0?%qlVRqrul(Db5J^=)4#PtR1>wf7*^`Y!e_=`hl+UTgkMi=)!}LUq$uTWwMsKmAPG)V z^+o0A)s6J|z^y8)iZldC8pJq*@ZX}LtIsP?Hti*=*T9~%-f`0T4+>iNsX%H#?U|X3&4#v4-DRPK?FBMu z5rvb%NAFG>fpX75$DYVSK#gs6=LV_kSNr-RfvpH!!34$w*0)NR)o}+3DQ+Z0xv36| zs7g{Eal`lZpRmu18-kdHDmu)~-zNE*ti@F+e)LGHPgDXH@&gZnm+|UMRPwXO>frbQ zk#XW6G#`qiT~>=(5JM0k=<(Hls&alvz zW#gQG%eu6lu^3z_iF){xzuWmKYP&i_c8g>o)iR{XH z$}8#^%4751*B&K0DU9>wN3+dy*i}GzILnEy8Fhy**3* zxg8PAN!=EFtm%N~ccj~47<(tQ$Z{y=+nzHGN}+wCU;?p2%N`G#`1%F}bOYjG7@Epf zww|`Tt-L}yqQ!X#XNGQLBUfoS5OqVs;=hjtB@f>Z@y36hV){~5!j)b=-k#vL{wpoJ z6o{X_EgC`?lyUL9n?-$mBU##ENYXhC_aPl~ICBu$7t>|y>6OH=l4Fs zV6r9ZD?F~_QKR`hA!$!UiGp7u z@{3JhL|@SEa?D~ThaMpOZ1B-+ANg7Xzx{dCt7dWxIT`x+0Vi|$a|s~ze0QrT>~8Tj zRr>+^(yyM_=GNWtT}Z?hZH$TS8jKNnmuEEBITh-(?i?jX&mMAiLBS1)xRvsV1J-5A zchmDu<;k;T_0wvl?^TLk%kB&1#W}k`^F*lxc8nMR?M^Oyx17wn12TP@p*K+f`p>kh z&L`Np_6xGaKRHL&#?l6%?$thyi6`TUkevatYw9I2H zr{>=^mW&~H!iAWNt_inPYF&KdWRx|bXdZtjI!%c`)hhRlW8WCF_+jf2^A0vjhAGfh z`~@GH`U+RRg%F3x?Bz!AJcvw~OztBv6R?2i>>!ISe_%~oFS_`AnVf@|R?%Qm!xm#d zLBL%~IQ7ir2t4K`C(jEX#OzlC+l6Sqo$*#SEU4BVM@4tdEP9|~~xjMtH<<9{ZW(+K-#YYt{=5rFcp`89p?kRL@G~6T( zYsud8+yl~s95u3jQRM0W{g+>v-HgiUB~43qZP54xHi-6|)ah3^7N#*n*vQI%&` ztx+?oe$jKaZ1fkmzR^dVI6rRvnI%WZN<2SJy}TCwdZB zl_P4BpPVL-kK9|oR&FRsfyO&z1p_byHDCk_W%GzkFGpC%z4f^$T;?5(7hwvoc0QVjpcIiFYd}>e}mS8UxCmtrbkoSeq8V4c$+V zY<`fVP`_su0^^Px^gm+8;)nt>^Uu;1m&DtGO^jxMeg@v*brd1lg1)6e#wvx8WzSrPe z6n8x!Qg%*k@MuM|C(yPhX22y6bhB8IEmS``Ip#b!<74n6Le~wP<(}D8 z$=MPFxG6D5fh`#G&65~*`+#i<(R<+72iYia*8B1>yNn`~T`Xo;XAZ+`=6icJp&WIwcZ7|sIQC<4-pZ3cHWKzPhkzU9gmOH=7nm@7eMOKK(K5(6t zQ8#%NRc?jLk8>BgZ-h41f6H|aF)P>BqN3aKXlZW2HdqQNdTH)pk807Pu??lP?DuKG zfUmn6ji_``sBhrmlPb#~?bDLQ>Xt3-9cd@0q+FKX@2m70VnT<)kzzEmPYaLihb`)< zJVy5sQfcF7>$ILx#G=MB>BK6OAG-XNhIGB4gOj)AzO9SgDNPJ4 z-quxoOe%Tn9cjYA`B%%e=B9&%?VKxY6hRnEQQWMFpm_|M-|~X#CHMrwk#9yFaOVHmF}`(%(t1k zMlGLRM*Z10vuw8N3gr1njZ&CuYy3!y#rwO%)V=;lA-Alq001un)+7A+>bk#IsM)B} zs43ve!ddmkhPZmQR)N{`8t*MEHFl-#!hwmo!Xvo*iytScI_{kw5t`F-u>`@#%kNSI z^^c$Ylx@VfN>++sMY%O$`HTuOV;Fy!iZh@>)fJaAEainMIO4^VuQHWF7&FlqMCBuV z@r<4>Yl(|o8$MrR%G~sOO9gFnbvM3v-Kuw`akdDV6ymGzDI`pOBjB~T_p3lp;Z+0a z8vOQbW~FqZIUtxh7}_W_pt{@x!r}AFJgELy4;(6lEmG;Lao$e*NpZprEeaKrRFL?e zwV#08g^iR0zph3rlqpQE-2zQdWBh$L${0onp&wk%^@o0bx*w)7N{ux_3uqHZ&i@qc zhhjug?mIS7Xu$=DzS|B+_;KAJ`1hG95(vo#zr1keF)_K7GGYgG8y1)9*nBJ#i%cCR z4EP-8AFa1NXkh4rEOq|pb@c646!YywpU(*klgewcG_7opBXWfOzkmRM>f^!MX2zN_ zhT3uf3J7J^K~z$S#J7mTjK6^=m{3wcBEhVr&;(rN|A8_5^M?lZEfEuxUd#bhnVE6^ zC!7)vX!}W7bLRfrumAfP`IxtIz7|b=ioYJZ9k`HivLV;M9F`Po1mm{desdH>{PoaQ zz*)72|AS)w$L9f#{=kgO@x{AQg})wJ05~fvg(H*yfqwjRdCkJISvAi_wIQ^$j3Yni z=jWGBwJp-G*&T=HXdF9Di?RRX*Z%q1Z6lv7yI<43_S&DCA1$3>?#q~@Bj1!MHY{g> zpa0GUgosQ8hhs*p!6;JH+l9|%9+Sg103~4ltv;77ujfAjlYbie2k7YPIGIz<)oRbR zadM{Y+N&sJ)NZu3P_L*}NK1->v3|8>Pz_O0A&gbMU5lcolB$MZF0XX9S;z8wW>=`P$(EE-o!cFSTwh-=AzEo~``W*6<$wJV zz#SkvXQyh@oEv)|zc-~+jRo7xP#xp2Da?;sV2}>ij`*V!=;yhUrGud^ZhreO1J?ig z>OU>@&p|DwSO#my-eY&a#|+BmkHA%Nz7ZzHAkXqs@=F!*)=!OBz&j#73YjcI<2U$r z(_(j11}3TNYnn9weDT*is*4%Wc(LOr%4=57vQ^h+Y&q7~D9mEf(Tpsc&!-C=T`gfe z$2)%)?w<|w9@r{#J{v9rTv^JFo{Lpm+{?-m1;z;G|7fjLJJ3=2TMUKf4!VAP_mw{d z!LqKdu7)lH&n#D-3AO$HZJ~xm$}m`4ES6?m1~;-P6YaNn?EcrDuEB@%Og-fb!DfjV zkMq}MTFY5lY~7+)&!YdO zhhMX64KnX$ynJIoM2_{BP8t^^>oTIb!X?3sN6$d@xBr0Yk*!^9h+Q-4r%%$Y^nV~T zt6x;9k~KF+cX5IWo)wMW|4SnQ4=UjKTsd%Ml3II?g!$!8X6sK&I9JU->plXISMmOM zox{I3i6zc?<59?X@b$HE>IWaM7bBXh!A6zm76<|{6HSW0o@4{r+O%t?rZN-; zhtn%vD>01S&hq}&$AI~Ix}1xS?q5Cw_@sbHVD$L}N=*3cqnE07JIJcN(RKN6q}9Kl z2W>K7aJn1tSn#hut&0zQs=NNYknb<|ff?r>3!q42(N+V-=6@gYUzcEU4?qlo_mgI| z;@^fRSw&#ndxE3Z{gnn^C*#EjNdx$$s-^MtgJDm7VqJe-0n1$+wNdQp+G{ahAiGFsAW}rTO{93ppQN zt?pQ$(m};-QReWUU;7m9pAUY5Q#kUDj0Wc0h2bX_I`RqRr*Mm4{Lk~$jsZsQm&k7{ zKe~hizI=K%&GX>H^z3U`QuhCRQburZ8+k=vE9Enmk(jeYtrQ^%P(J>j$4tDH|IxGN z{beM>gu<3@fz9RTpJ~}}^6z8G%gfIXDKioI0YJpC%Xbs6o2wJN9;j`D!L| zlD0ft=*SS~>jiCh4NT)#4Anc%gGi*sg%7p{`SI}ZJ~aO!?GoxrjO>}@mhcKKF?jCH8^hzU^w!@W{7BlOGF3;8iko!SroE;IYcFP1rB-ar z#72qDfT+ItT&63B)7$%8=$Lu_v!JyAU^a9*jjzhBenj5Bn1tz&0fOvQv6r{3;*0U8 zZ`f;JiEjaf*E~DFr>Y^qM46QIeA?{3xc&T-wWrKVe|iczR>lp$ZQlACSJr<#UW5qn zdksZxG*!L^aD$j5*jZ_L2d$AR$5Lu0$Dm8cI1v1m@rN7PnR$Iw5C94z0vM6j7eaz} zX1u(-2zqY`yEcFTO?hOVb>mXjg6sIy00?tz-IO?E+x~h>q1?NLGIPrcw9p?U#oz~B ztm|jyR~rWN$EAM0mhNj&x6H};rAgD$8De^RRv+=p0>wzc#i9Q8;Wq1fZP6%SL@poq zpu2nS;9tld-`W2S+1n@G_Rf+NqfdT%P#p|b3BSWhiXT)vn{nMQe%dwo{qXsYvm7q` zg{$G8(HojqNT&ZAvL_0Vr_vO|?f=5|0tOK{ELOV>6btO~d-Og#?wN$)e21EFOW zErBn95a`(qDtlRzd7%sg$yfsl+qnn^p-M4HWH^U-a9=t-vik{D6H^Qu&x)w$ve-rQzs zlk`)()=bWCnAu;dECp4e=B0%fRadJrTH%xJq^3fGeG+ zG&D3qaN)!6Wx%`fsoH_d_wAa1bz{%KeKj^PnT^>eY`G%_^c%9zzn(GpeEra9ZmW?h zV66mLH1M_ElDrc4Yk;`H^VHe(ZQU#2W%nsmw&u0zwsGEu70&-pSntQ1O&i(Ws5ivE z-?wRQ#SWo6-&l+5c9bnoyE%tdf&)fZ^T@EdZT^Mot+C_YAg_qQ4XPfkgYHpngLBt# zIXK%m-}m2Ju)|+WeW;$n9}^danQk34*Y>_lT1wx+a-`mx`j(mpIn`^h7e+h3NZ>IBVVh32Y1wqb{t>znqMa{%I*L7qk8#RidoHdz7$$MOwNJ=s{V9D!GlS_Jmg9sJHp6g%WQ3jDiKFgjv2 zmtv{@a6tWH90+Mlp+!(U&w3_bhK`0Tq2)gUU2h8f@2Ga z_H_J6YAw;uN~ZD;>_vRLIvi+l{>1Kk|FY>#v}g87cy#M9`ex3HQAq1rTgs;CP0Ft} z?E@^cSHF@BiVkOt- z7$;`a1;r&bJ%YC=++!0woHz+VMJvlS{y)^7sA>;{fX7t@{`6#yE|js3^T_#|;``V4 zu1_j6ubiJ${>ur+#_L3hz4&wyxOYy^klA~BNpBhtKfDseunGirvGMoFl&XXreH%(B(1AeJ4lXQgYDKvmZFaM&W!DgiCn#?5}L-$ynA^Im_9J_3BP zU9mG5as64p>p<_z$1&5so#Gk10c)*J1l&5oXEvjyYG09WGzbMIfhf;m`;>JoxOH4^ zO%2GJdn6Dv&;L#-6Mc)#QqnXV_Awn>Y|xq~e+3)^My%Frkwg5x>*~sSiwC{@rSC8` zh!FiwX73u+q2#HL+($IU@~lbGVngciIkPDpyiD`jEdv?~NF|?|{|V!wtv==B+A5=C zN?@oK26}?hqJYcW<88P^une0M&QH;~d*EM(Xzgi-5eXU#|D)a0VKO=92e7)+^+CXt zx`?qJ{V0qEk3naybeD~g@DKllSn=h0lI7YwH5?IiGMmJ)t~o{p6U=(6Sut`Firv~n zN1eaaHt2g2I?JsF%KF&OxB`@7%3b&;Z-JHhwcOY*@=-6V7GoqsfuXndE$=Keaf*s@ zaan7P!@Woo^h3!rnE5w-58Fp2l=ASG&83pq;AU9`?snOu)&{wVzIWojtcOn);e2vg zAJ_;jtNMuU6TFMwv~1G3-UH1W&3cU3ICqh)Od0=D4LpgSegM2pn(Zv|GT=~}sd{5(#dyR=iIm9^6D zbg7|%3XTv;9?67LpL1c6>2d_))9HJTJieU35ltuu4T`;)una5b{I&*SbfW-o-EvTW zgnSthe;R>m@pvW!D!0N>uOFU?s_LNIz7ROPISY#OUs8nV!lBJp^;9J-RZRJvo(u7p z%r*BLj)pyW!!m4)1I+7cM49Ng;A7C;XdIF4E>(Khb#fKnSQABQgPiaNotkHbdel<|U#9*GWrtAh@ zO%JXP9bJxn&T&FTtma!2{Um93Xc?7P@gznE6~5ys7c&Nu^Q-8P-H#EnGvd z97rmbHKQ&(9z_ZZ3bJno(W#J}lQBA};G>Kr?a#af0q-iu34P7gQp>qSk3S92AG^FQ z+O6U}vkf%|$I)aUhs`+StKJg_oYiU0eD+QHXTcw7~k454Ev&&bn z=@&YHJ)uP>-lwc4Q_nNeHm3e6haGv#KPr2e$R0M9Sj34mPQQAa9>%%dYH>#w#Jf>8 zW<0rTlxd!Op_DL$3!JR9MNg_jyna1hFDO7MQwz3q73!~S#xx5!acu_sXAZQ!s=)6=e}37XFrr` zL7ihg;myx4F);iLSXj!wfx`Zj%sxFfa7kBU7FaMzoL6R4b6-nKmno=P2@lNfWFoF^ zY(G4&=Parj`}S32O_haIP7VZ?k$9~1yjAqW?+~wpZqBe$pJg8FmkJThFnLU9ba(pf zQGPxMbA|uhhgYWNHqUNT=GOEi3>XXUU-<&rljA3w_&FbRA3b0f`Kbfb0NLJ>^(LQD z5O*I=#ul!7#&!7E$g)M=hvh87hqvY_x{Qv!6zC-GqSwV6$*-9_1|NoWe_id166qFv zxkW!;2!a-`q@iT|-WFz91zSdEc%I&xn~WOtDga)|?WFNAB0^1NAMl3!h?-Tt%ENni!|deJGk7bd;tU0J0yBZa zwx-X*NbfdZ1ivNr>@;KtDmqygK-qfm>g2_NaoLWS<0PnUj)9AS;ThyTB+Kz9;v zFQt5JUN6C)FTc>MQQcMW8e`;U_`NKD>6%XVOi0!g)SyV9K9y1D*L&WHKy!`i7p2hk54UQ zc~bG`T9SwSJwXy)vGhHkmTk{E2*`Br^c_A<6#Iz7=n~9Ltpu{z`i-C4&l`LUc$G+q z(It-F3xryc5q<=8O=dUZP4$A!q`CMly$%!Y$k#*S04+sVrmiedp#Yv-}o~Hf)rK=_;SW^Ej*V2)aX&X?k?>g?Fyvkdbh>;(n-S*`gCv zgP9kGTtt65aNb7(n#DKMeDA3s_Q{v|rA*#i>0iPFt-rY}t>7zS!Mu(R7b*QNJhwaD7PIY3o#KJqiJ zJV`Vc7dL(!;wo*~_`e{)=-_QzOpAETYJ5W(|2T)%_1>jhLlvV0wN>lI{52MEl6W7J zB6c37JZ>yIBgVUtN0NL#r)^A+8o)rR{YQo`Rf-V;EpsQEi+i!_V4`42}?7zreYzsT}2+Rt9n+j482t=3cb z(gm`_U^Uk*RfhFB@v-1&zc1u^^s}1+3qtsPt3q8JHyn*lRGe$9@Lh?u4wn5ENA08| ztaeWux8sBA-8PZliJHwK2uX5sNeF9YELpSroo-74cqiF8bXB0MLG0zy7U9iwWuRr3 zF`cPA4P;fc|4!fD>jlqc8h`jgS|BXTd1Z@bX7N_fc-*)C-A$$_vu{GcI#5^d+)#-s zm$)3keDZ#E0<56|O%JqY)Id^?kqNZ$^jG43ZWRjH55-hJg@44b*4OB9Snnb@lh~9SP+n3Ss0GgG7|`ZU5X2C{DY*F;XJQPyQ20#5kM`L zlU=T!Jka{I{B(TnFfAok=Ft&$JO#&5m=X>WF;3UrcZ4d8r__I>!?4ywNPS;JRSuDPWjJ!F!h$UvZwU>Ox z43v1E&2*|dDsG>ZVr!p9GMO{l)o)J>9UFdQI}84;0`hWcqh2YpT9OBWXAe?fms4SK z=yST5Z_h`GWaywY3Axq%E3pz{j56WG;mg=er?LpZ{~>)Kd-c#U_#i!pslesvM4*$N zV)lHjHlM(5#ibV!!TIc=0Sb8+hqS`$B5ioc?eA|Xz00aLezn3tV4B3g?=~dqs2pBf~45e!=`7+B*9mOsF@gatAV<4gdQ_6ydp zzifDKG!j{``SmNS5;d?W>LOt6)V^pltTFh=GyOt9}`oXJh`8u+=W%naUSmIl3 z{^bR*h-W=kV==SnMdi+ZfCZJp3D7Kmwrb^C@5(DjP+UY>@0e$NN-`X*LOa#{9aPb; z?C$2*v-4n46fNip%L^5qNX44huh~)0ef9gPpiBf#+g`o~_+$d3fcQ`GNK@KE5RAiE zQp$O0ajrLG(P%FigDtnZ_e65TiV*hlgWub;U&XSgL;4#lyQ-CE>k_~gg#>m$efajk zrw`ADCPCmna6|Vv9x3wTu7NpY>tbvuO2LT!+v=CH%hnrBQ-1Z~!~X&df5{&xsYYMh zQfDyW-ncm(@U{NG0fzbwDN!#Cvvz^vhX#=g@+BBMy)DInBoWVSM$u2SlP-_o&Ir1< z%0~xdn|{6CAW4`@2|~`nRrH1vB|-V{!ijBW;=pqAE{O_ZA_BP?>$AkVUb~cb;y{R> z!01YN=%-_&0qfCW28f~?$>SAa6Y5@mSM@s49)VEt9{dihO!Z9Rkx-Q053DMyiM0g7p4T5o zphdff9BBZ|ooQQVJ$FdG&9+Uy*D}h_85GlRbWvLvX8Nmy+1&|j%XtjhOjEO3$aDwE z-v0MW*rAy$(xciPQl}s~m=gV@#=ZYJG{kv|*fWkF-H#w#lu+QfLP|_XWy{FkJKN_f zy>HsfbVV%Je9ogIdF#}#c7OS4@4nr}Z=&Pk^8PvNE_aF!?_fb+^VO%Wi(xcJe`3m< zJeAWBt<ZShFYC0c)Tt=CY#vTzvk55e!In00Xl&U>zyCTw{N)EVGIn(Qipl4 zL?1Vcz40cH`nx7WyDe|+Pwbfx;q^(2McCe#cS@k3RTL3VuEDhw)kB>39WPA7sK(W(n1p`F$x}kS>Wb ziL3|D_4?c&N-NN3`CGu#EPLFhx_rzCV{ZVTp1AvQ!2$sBy01~T(}IZP)b-{5 z@8!?qv*XZUv1&OtU{Kc7X-$a4k=4}E&&uo0Z263qcqXgFQpeO}Z)JlQ*Y6#M+a?92 z^ilTk%CT;~FSdqMLKGoFN0wkCxT4;jpkDYSq8#A(nZ{Q8t=hfN$;*xeK8!obUwWt( z(7`_4hkz*?O?4wKF4xlgklm3-$m8NQFnrW=z60W%Q5g=*F4Wci7Eu;USsL;Z6IU(j zvwbrjLdgzH$L~Se*BtO&&sHJaF^fmupPfvVqg28Ve@o=R>IUYT#Gj72o;zyfcdSFO z`}`{|0vrhag+jiV?D2fihPeGGRc8&K#e)$qt7l z{ur#mO!uB9XzN_5hVHf31-C6qT zXd@Bs_nesnhU9O$Ja{tHxz=n=t<3+MPhR75?B+<9Yu8M~azki9yVJ!bT5jkhX#orc^zq5ee@ysxobQMZY_uc6|KuhdOZP@BOuy9r2 zQZUm1A)FT~kfaVCKDJ&_G=^@dKj~gH(B@RM+P0GM!{+@k9hIvZmHePG2l``2rRH8O zU8^3$jFgiasuBZh-%zi?T3YBz;TXe0+UiJ8&eb*>T@PRo)Lo#Y2`dvwq(L`FylwXo z(Vs!nF;TG%iC;pig4`0c4K1Dt_9Y@0}~?>K9$U41e0vrrpc02n{$H zL#icSGGC@P-R>_QONbr@c0dFlVsf8*P$+~%guthF?P@fpyDpHH`fmX<#iD^#nj#Px zBUO%xO>i7FE_jFx6ls`@Cn_LAR>`y}`T{1eyl)mP>(R@@8(w*}Hf(m7~A#5l1D>ew+H>}FC&~I3uQ+QmihK%0!&9C9V_3UgDC-NttSn7w|>aCORla?CHwaenT-tm6|pKoVV7G8UBR!$2)l16 z?i=-BggPc0ly&VXPKKKwxLH>uHj8VHxwei*;5G*-h6~_Y(F<6NTP7~}_MPjO=XFne z@rRf{;o*_8oa2f_JZ)GN;c-c_=8~~nGEm(edD3uSw9kj}Et7RK6{-B>q-ztKah}2+ zXgZNxE@@x;eM-U7aMiCrsuExd_)iWlPmAb;@Y?r+Jzd~0ibkS&iF47k0;ccSxt8Ee zTuW7zU1c?!_#vVT(PzaRTs=zx!y0dIS#gQ0wt@7{pWee;rnx3sphPn7jMYZ##AO;g zTi@=?*j)Uz((BnlDylW>4Rs+aXpbpjO!?~9Gf?XWwyJZc{*yPAc{% zY6Bz!=tB8V@N&qs_!tqaArNZBm&t>?=)zVH7S@Y!WOtM-D{V_hMWIc)XGGCh9xnr$ zei!2X2l1SiU97jqVHq9_-L;GIv2y+_2Rao@<7hs_8-vs+xC+Z9Cy!zdzq4nw{@|7_ z5WL@>PY6Suy(t+bl0$jzgXM7s@yKTJGvt|ZnQ_*%W>~v;D9*5BQd3r-Ul-rV>;?E;Dye^bEH%>+5m0?3v-~|GTIm|f(!s)W zncGfk^{5UguVu>IQ?LKhPm1-{%m2hIrswjEsjp3#1;Z*!4~nes(>}B%t%%9_Au^l0 zGtz#cXJFAu;R+aIn52u!zFm0$n7g#_BtV$C+z<~1_9E_a9ikFQqBhey?~r507E(86 zSQL#=_%`<}*eVHT)(csWjj8W>ihf5|VMi?i^;#&7A<-{34po>BDC&p9N12Bnll5l0 z5-wySy}4;6Vm%E3?~|y}$(AVvdtN~@JS2pR%cgK;M!5Dl87rfMWV^~3B9Vjllmxqd zBM7RKhrVlLu%5Vk^0T1}f~oaR3FY=ZKaKDB@Rc(g35u_S)xk$&ah6D5D^F3%Y z%S+K$0jp&WYTA6(Lp@b>>DP|N8ZK!J(-K}i=#3_u|~&(4vSf8Qp}m&iCaW5s@zop8rpbF*Kz+l zUj3#aQ0z2s0}J*pT6xBdkIfoL=Q!2(JZ=OeGa6uE1BL^4)r~)o-*Uj91cG1AaMCJK zj4?G^oTZU&KYnn!#3@5#*gu&lMj58BpIqaUKDn?h)|S4BPZLHd8<73>(z2{#p$Q)q zVTa>-6v&43wj>vgiVvM%mHH;F<+`M2v_EN{ULD)X*6Wmzlx!VrZdEm(=DIqgKNZ~? ztIb5o*rYG-wQzQ0NFO6Zkti+q7@tImYzZ|XL72=jdw?%v68*lSVk*$!ZY-w~z8brl zq?2N50%TRyPsEjSl{U?eboK5HM^DJPh46&wjCk~oixbZaFuW4p?sJ0TH}p^2-BbeY zA#3hI441Iq9?|u53)MM$VcV`GX?DSbwUfh=1(BrwU5D`xxy~=4Tzf~bRjx#sy-$0I_0mGsIQ6R)D5U%`FzgKZQENCTatBoq9GDizq`Y3%f= zcf=N>XgFqBiCZ3?*5RMf?Pe<8d7(*l)-DuYuH>Pj|KZ95bffy1#~xmD#IspM%G~%= zpYfHg*E;~y4#;z~aatb1Tf7)lk^UHx2qjphn>$sKB5z)Os1Wu`mvRg!GkLp=#B|{e z^Kj7mTyI^h(R4srV|*l7DnD^rUR|EOPC2H?)T-Aq7hNO|#BYtauZfhU4`RYCQxt#l zb)aD1scPa0k>Bhe=m9c(A+>2h8FO-q?ezy2Pid*N{)VdkAFHFzKnFO_FFDn+i5N|* zxIBCYm^)g-$s)$)oQbg1+bY9g`e_BTV-OXsx*LQjMEQ)zi~6g&+8gL24Wvf-+!R3o zFAgmz>bHe+#VA=D3>yp=ehPg*ne~tFhHVh6`+}*;wAOUDEaRTsMTkG5zeb5d6tI%?-&Ljy9xQI-lyU|_)kEpp6|?TXAUlK@_tpIbs-2IL%1qTkj$ zPu)9{PgJHzR5S69OsYsT(Fpgh1u1d&KrGL>+PSRXs$r>(daiy*5e=)74r~Qe!sOk4 z)b$^NhHsc3X*9!or=3?PD+Hy7FcE_Q{S2?HkKy`?IAMO*GZwgaX7H=?MK&=hhbN3~1iEhZ=kKN<=4v(t1;0&IdF5m}|Tv%58)7SeFNHkPbiM zI-}H0_O^n!+2W50V^Z+Z`I>~5V4I8q+M@0-2@0ZSro(vv9Tp5}TqcrLQD{rN-fH-5 zd&O2d0O>-h4~r37^) zn$NlS3s14xTlHr`DG@gpbD5s(mQ`_FvxD;M2Uds7SLKgp@#J&p`kWNzezPaBLkNvl zwWXu-Q!Vz&t-j)`xuoT&7$309;Vgy?nyKLJh$%cQ7Jj^|L`5#l+P3keYB_|6ERhoe zsu{p=WDf5;?f=dp{isRE(O#TaO_ak@xCf|sf-n2b$xNqLrMKH{J~h}urPX9VDosyTOB25SsaUr z_p%B1J>q3w&(tW~rRfd|=#ly;W4ULkeLzik%v{*upTaN~RN~nn!=ITZ0q`kHB#c$=@iBj}@iC#<5R|co5^EY@rVN)ME zHUjbzHOkSO6h`AeIzdJqJgZ3va0Yx=&!^!kUs_Z#?EFbI=^i>}uGVLgcK%(SgNXzX z=^p2pNC!?R{`N4APld&0MTTig-Ml)anF~9Y{RnBr4(>kK|Xe3pNW5W0vH zMrI?;jXLhG3ao^`4*U)4E;JYuP|vK69-;W4U}S`5!R64A`57dU_GFtgdDeCD;Oc9= z?{|Ah!=DiR4Sh-mi}ARExmv+GlzpUk+$)rag&YDNT*R5fM*`kxBax|>mY#BJTD}%w zxX*#DG7=+kS^JNW%1H!N3HfDnxSW=|No>r z#WnML9`8*0o!3a);Lw)7@MXCK{ROrB3ad#%K`* z*wg)Z-{sHJmhKTexk#hTopt|b#Gb`e7^&QLo7YH?%XzHep3=g8PV7*@XV+O%SNLV{ zJJy*uCdFhV%-hZH(3PnojR=0|gbn^K=->9|IM%q5M0MDk`C=fhHt z-`Ql{m@!kGKWbb{V>F1TNtSZqUY$3eiH&%Y;eh1f|@^)?7gub}X;YoX0PdtnI zYPl;VN-$mTV79ioi$8v|aJ|==&O}msX|02JIW+uHDk5xAj3m_9FbUixWqC-HsY$uo z?U3I?iB$rP%PXevT9+rp59w4nQe$RR*TU6~s@Q89d-mQ}gaB$rdd(r%jG-mt7p+1y z5N*0UV)aB;#YQzbg_Gx(4O39FK#M~=p`lWt;dwD%Y8;*o(X4%QYmmL`FnJk~J zJ|4UrP+#rLDSjFLq?t|&@c@@}Ng+*4kS9|=CcAw(p1WkpWZ4*alhb~j!3$67raZ@v z=epEOs(AZYBvWamn!=lh?lCu7{<&jh%{HRZq(olls^cOt(tHA^;KuR0hiA#4$_-@rx@FnIYa@{J2vxNk!}0RL#JIqrIi=a9MAfXoDOt zj@wpp3eZu5*yxeBC7Ms`bCV=QeBFf9_0#?`S|&|UJLSq`D?ZS}0RwS|qP2-|0l4#i zMXJESJ)upAWupd-zxcEExK;-sPBR(Gb;?Sa>WI6)F=e#8F+m98H7sM^OM47r8gncA zA!V+TEd}g&9ID-a0C( z_V3%K8A?(ZK)MB_Lt=m-B&DRKTSP=b=^PrQTZRUMk_Ks{V+a8W>F(}$_xQV?=eq9u zy6*qqKOWb@wOGK+-m~|4?!C|N_xKz$)A5hTopw{m4Mcqmg33oax~}(%yv22`w}6$2 zCCXLf;K0FX1r$OS^AR70ieV0gySCTMqv~MyKOL{wXztorVxLdEB7QfCw#<01S}Oy+ z%_%-0>3ccTL~7mjEXAN$D~ji@Wt4@Xv=rPArj^?;ck?ffQGHU6{3@ZAPFKqkY}_j)%J1 zbod|4_2yo!_hIP15j5FgBmK1K}r{)TEL3(MxgXu9Lv`@_30weU1pvGTUUpRY>z^F85zAY*>TU&tuuLh4@&UQT420b$4=kl)J>FMc78tZruzJ02Lh@N&{nrchvS&}t+ z{*2eb3r*{C~1@e?|#0+KYdOnbU{>vQF)M2x#a1w}Zrp@e>Oer+@oQ{_7h-24E2}Z9n^K z@83q@U%w^?`b6+IK<=;4$PNlrd;}L{^%DOT6b&WPp#JMs{`Ss8Fra2&*A`Op@Q+vZ zZ$J6ZW;0|7|J(Kh#{k*<2O~7r`Bw}UIDn3SZQS49`Trfj|NQ_?rI!s_R`>qS$jElM zZ78!kSk&)=^BEy#!>eGY2TQWkc|F;#GqrpsdOGU=m_-0G3OE61N6mYP`OSv=csf0! z0kU*{C+tU84(xh8r8-U#HBcUzj_}`)v9uC03Yl4hNs=-abwC#Dyl^;PPX3(f-=+os zP2gnt^kMju;;^`y*)y`Lg`k(K^&$^ct=a$QtBxYuv-%}AZBie`oV29X?HahPr~Ko5 z&k_U9_Ai!sWdC}ycRm1q+Bw6d69jAdC7<>EyEsy|xB&OuRjQ6E*#N);;@T&%{iyaKny^Z1`?m|IQdeOa~mcsBl)HffTjIjAP$5F zh(^*$H5E8?0)>d9wUFxSYO8+QEmxhJaAL6C-NQj++dnf@V2JdQp=n^qM(9A@T3A-8tAL+&T}*=!z{B&oH} z!8I4(p;y&(dwR`DB_(C&1yUiq*n0%Oqov53eSVP|=EzLf?*?bzs5uc9r#IEj2|ZYM zzaB1Iu1=SokUa~5yO*-s8`>0+Pl^0uuXH-O)&H;}P)hB9jiifT1DsGWfb2A?j{&&S z9t_#h?)`z_7#r8y*48$TAlSu$9B26z^p{xhq14?4;)nLlcukWK!$S=}Y7WV712evN zH~Hls0kb_66mt$36+sTgRk~waol(>jTUdwCSl5Q*H1|ZQWUNxSKFJGJ99wuwSP`oq0^@L))mIT_ag6j&H zmQKy=fiHP{0#`K#QM)Gy$kj`zqCgY0P1w+lB6XjZk>8nqRh~kUJ_5OJ1G^^9Sj0w}R zwdZc$GV9lURoQG*cT3erJZ12*{g0+{{PZMvPw7eOcfX5YP&c=iWII-H|DIIDl6cI< zb$t#bA5lHgAFyrc*ySqIr+o_(ur*!{rKST;<{BDxP48%Z0 zyyxr7Y{I`xcX$5e9I1|@bzhE+tYCQH`creEto`2C7cSN&ADzoMt2yx#3|Eji`E?>O z^w&|sAX3AccySp++s@(R7@#08g|FjHuMMCs>de}-^zM&FK9b>&DDSWJo|e`$ z-|X~UQH%t=k7oR=(6OY$5Y&>Q0Q3)~_%vK3wx840oM1z*$oFuJd76ppOCoR&eQ80z z5t8xORjR4voqG+QcE;`s>z5P16Ycz2L`>&Gh}Ij918^yaPCEynS4l=8;~N6dGbX~| zjtLWT4-*f*FuC;=g)CTu+!SgQPbM0(y1vVE%CPn>TT}856=mfXK z)-tbo^IZ?TH^#I|({(k)@I58e6*SJXvX;c@5BcIye*$Ph{A@jEeDo3L|O}wI0CkW`Tc}ms%zks2ab&gc&W0ci-ax(L={Jg-KGP=vJaS-TGD} zt!>E(z-_H|ur_t&_OwPDYnaYM;kyEq(z&bz_px+T4at%o7IIKo*19F_6Asb}ZFi|6*vj?QU8(g=*@Z z0e6GXws~R$>jO7M7OQ5*qhjd$V^;3E(>Jp-403^xB0-RE56x1h3-$Kvgql1!!CX_}#bld@$q}0i0a)oY=!jEwqzqjJcmI>Ru`8qYudqeYU zDop|NY`Y9LO@dpK#`6BQ7cx&7-#ijGVIElkjT5n&2IY_91}rM2M!+!lKT($hkqs=G z{~*3y|(o3r||b`>nyn=A&#KVA4zlP-!%2tUSpy_Y=lO zHguc8kCfHFEF!EJAA_oj z?)S?R@Tv~+JWff;?mS|ww_^^Ie9uS|tfJ2r_^zGoivb^+y&&!iTYV>nWnxp`rO+{D zx2BO1>|4TTp~`FzjDR6>>*BS`;n!-DxAKChmiRj<&S4OaKhKT$6v%5g-i3LSljlR2 z)DIyv!wC}}7pc?NcE;QuVp>OMU5yLejWB7h_Y)0u+1w;(DsYbmt%!qZTlNTN^H%4I z8oZ2&=d|^i2CJ=GX`|G^v*Z&<1~X1`#{O=e4Z5Z_!LlrSw)7S{4Q9d6s2-)YSzWaW zy7chs-MvF9cs+OPY*{Y81L8fo1F4gr+MHb@;jgW*Xyu?c|NVcljwb*1?EDwZUi6 z^yqD1p<4Q?vhgd5kwA@O$LdK|fUqvHkWu9nw+|(o7g;ESbubD$x$Vx>wT{13d`fm5 zk_>4)&&d2fkT0h-U&o3eqTWzL&DckM^}Mg5us_-Ook1Mt(I@xasBqmLPCcd%vJEK* zANcgt0H{oa1&huxEi{G8eBo*Q@b*o$7=C9`wLhw4T1UK9Z+H2s>P;ND>R5bHMWY5JxP*1{&tg{uoZ8yIG=hzD?zx zindqUm30A#h?5>z5KG)8qC)CI)~I+OM>?8C8oyG|`_U}8G?s&gd`ZdKuYr4s`+x@= zLp-7G20)mNA2&^y^f5vnVlNG*1DxiMiWmC(sdWwN#}`{Kes{f1WL525^*^InDoG=v zL_zi2k4){W2b_~EzPE-(l9|H(=21X09e%BPRZzB@3Cty#_$bG+h?v}1S7X_})S#`= zUW5x?185v!wqdp;J(Ec;$4Tz9GK4MvBk4SA`Kt57p;wU-IX6~Odj@B0Z&-OqKoSRo zM-p~Maz1%IT}2WOk8OSsTAx|@t)LbhQ$$oQ{?;dCkp4L!c{USor2?1Jy9QXO%IV|D zk>rZgAy((>L{37Om@is=Wx}mDbz`lpt~q%sK0g!gP4J7k zBLA-H2M9)l;}2i+*jqplbV6|3{IO}lz@tZ{&m<{YsCh7hIu)rzIU}3j<#HGNlU>+NL z1FWzo-g7()sxGth<#L(>Sjxfl5L!!ab)3Qa50zlK<*4Dl6MH7^t$GDI0olH_2+h_- ze{0FgJdtnm_jYRLEY2wz=A(ETQj<+Q?BmGV!`2AhyKCoz98$tjoP)ErGhN3G?xXWL zwaOj_u*>nXo8qf8jn;~>=b(C}fk?jCEU9k;yTc%aI~PB^$Tu)WIlNqg)JWA&{-EwIY{y_&NTkXzsDB3ETum zAl-P6Lc8;CNrx0svU&MY^cA*<^41b#eF$L z-Oa`)d&8|)z+>y34=ZI0&4Cu+<{Z?an4&Hkp?TBIpd)!Tlb(2|`J4eW2Dtr@)J!<| znRs79rU3sy2Tff=pO)SHqbzU3Xz$wH?cSX(Ij_}lE09Jq@o3<8j@beq^d*Z!Z-y|@ zA;0vu6WYfDx7~e*YMjmxFCiY&50>jG?^El>6+jyABbo70@B`likYe3r)_Ec^K5>LT zz2r&v(PiOL-*;@Vg&;$WM6lZBWy72s`art+?;}OtDWh0ky2-W!zIR{UheE%UZ9K4t zqF4ks8+PMJoSi-hgG~Y%CRg_-EHR&gD_NVohgr{8Mf0=_?FbX7WgV8HM4na)+h$gR zn_%Xi?KE0F-6*>%KV%KQZ7Hg!KT!6^X9!@%!|s*&ZdruvxtnCO=(1Fzjq$xr8AAnX zVxcE^UU|V8PRryut)a~>O$h{AQESJ@#LB~Muhbi#%gda(jjeJ;!tb;nad--&WVqb3 zorb%JIuD9YcSb7+aq7=zJqroXuGI1Zl!!H7+K(84EFw;GqR71`102HM@Ig^zAM-St zQe*RDS^fr56Eotr&2*C7aUxpFV#1h2$he|H*o$nXVi?8;;8LlZ0%X9Tk{g zb~ZBYS~d!}IAtq%;r}jm957&bim`rj-b~f*EKoq@BGu@!gQDoSezF(VW3=QFv)A)P#xIafWOq44QH8=*eR!hc}RpLmJIuf)@|yjQIh0 z+f)f6UJb+pO)ZQVH8`m9NP|W@=@(6OZ6F6BZ=4Q+r~B!5@!a8G?$S^-?^%OT51*tS z9cB}Hci;8TJdsgA{XgKOMC69o;|~GJh1YLqBUT7xVgYdSJ2or(25@ocbP_^O@zeq| zfo5DUfnGxpL1`9o&Y2sd8FK*4!y1kRh_ zCIv&dkbZpdC9%Q5hPtoV=qC|qV3l@DoE>VU3_NyaVDYP}YwNn@u-p%cK{q!J0WJ0K z%VMGQQnY4@{DWHWE=5F#ZW-9YPT}|>p-*zUYK2w0L+pseqxGgSn8tbbvEkRTY%5s= z&NN2&ZylQF0ruCOk2aA3W4mdrT39mDWy3D|#Y8}=F+$V{!*SSE?&dj=aMg2E=sjvX z0(&%JG;N-F+H-{~OB3ncJTI|WIKD3)K{QX9q7O@VqBa|Fb!QGTHnLI4%r^O1I@=w= z5BNQht4Y#A7=~Y2hTIuqLZr7wO3`2Y9ME~nZeQkkd&^wI=Er)n$90l}BGY2$T=$Hf zCH-%;(UNA)3#~_S$J55x`dZIrT%-+~07Eq!=aD5dQJntXm);Gpi-8$0GLzC4gL-6O zM9<^Fqnme-->aCImS& z3B{P_#4yo#b$+i=i5vd(d%-sO9#M83_#S%?_)e8ndOMfz17u>piYxJyrG%BmsBY+{JWL*S{wXK3<$ymU$j2&S( zXs&p9Lb|UkARpQx5@ywkZZ|6{@m^km?u^9+4pE+Kv1>;OgjIw-fd3xTJNw|9*QF>J zczYmbIy3gV%dt7hZ+q{N zU$0K`>C(gf)b3ebW6M}sD?1rP!>awwexy-QMV`M1#?j|bN?oHKX{R2oG~HsV?bx#QWT}XfWXzrm zXCtTdmlvhp5u)lPED!Y#Fl+aV;$4aRd*Kk zx(0r0$2%`bf3+Degm=8KqM#(t@uR{OkTV=B#oziL`gb+0BUasVt+Jk_TkIUQrQ5A3 zChO|&L(>>qUD=D+AH#U3=cJ=vM|L9DV-xo+6CO5XtQxO0J)!eg~5s;+h}gqFnh#XjZoy0z_tz=!j4L$OUqj6534tt)aw4=EkQnCaBJ z?xoD*OdbVRQ$L1)@X*g5LF;IEL519xi7O0b#RIb2R>U#j0wR1?VUzuITWKrwAJ06* z{PRm)BWh+y`66=dmr-;QX2r|Ap`I z;X)Culid@`2UUlcEhofYnMg<8A?DXj@2eXstW%SRp2Z`7azD$7qzf-LI0}Pk-cL$y zUj^|5-QCWW2K_#rk@|RDk*OEg4DLaM&|Rpn)BqWlSwl}HK`z@3w)*FrVcFt7&RJVY zwd~KXRr=0%stJn^0O=yPfF2=D<`tC3ocFG(>|CU9^0W1{QeVi2n_ISHx#%M^eYqN=*-&yD$-l+Of5*zF3c?P=Y^PfxWa(?bPb!(^ z#u7GpW@IpX$N(I&I``)(7S2G^POqG;N2u9lS zUWYAAv#i2tSbj)kS;xvgZCbhgTHh;%=e%A-4X=L^1d*d-c1%&DSsyK@8o&);3X@*E zHhkf{Hg@goEB$2MftKZ~q>Ra zjSz85d$L?&=Qe7#{W4p^aeUNhmnULU{M_KIpp=)E{^w{8bR7vhcK7D?^M%UMeM6bl z=mX2$S$_#pO64$1O5%=ns-&9|@eaGb);H5ckEv=>lSxbQiznvXHZl$LTjZ2jR)UaQ zW7oZcnx3G^I4~DWL595PvK77y1h{8iY&`VGaM z{jP6EINLZ1ZzZ-5H!|8hwo2kZ0vafGq1JH`+^Hv}8w(F#MRitF7K$z(ZG=TRw!uyD zBTAbjTqIpg*A42yW~yX{6Z)K$PSw_S(-I08d3mmlQP3{hOu~#<>2;su>{$d!+}SdR z|J$WG3cXX~S6Z82I`8^%yH0z9nwfAdXc^4HgVpCkZ_c_Bzw&je#a2q-OjHHkhz9=` z>$qmQ(f7)rWvCk^lA(ZizN1|IRrb)*$sG{bm;rVvVryAjSIvItnW>P!)MOon;j13W z!R>+ONZbX%e(ZY5kN%N6u@3wd=Q;SI_B! zM0x1MKa_7Zddj<&IfPeN`WlhN_{6V_4Sb(HqYlMMa3qh&oilSmrdi(PP;hz8QKPzF zBtL%IT_20O99HvISCFrKKyZmIx0?5TWWjV)-)Nu286@6$QP-5FKdX}~{8Lg20zG#*$iHu7 zc2wg?UhQ+H+jF%|WAu{tRpZj&{+-Wpyw3y=wft4ai2t`>>8+`)ps*(&W1fAbqa=!c zx9ubSD$%p^{j(A^w#Av+=pArp5RI&UCGT;=;TyXQ2$M89nbHh=w;%&4;D?=|b}>zI3{=>kBJQ_W}Nd3&WKy2JnZh`U!xV22P zit-PLO&2~sczO`VlfXeP{$tB^M2StO>1E6#y~#P%X|t8Hawxk*09$epUf+KhNwvov zc&{Qn{biD{r|05dYmwRY1}*MUm>h2$p7Ny(=pSk_cr|@k3(rw>KZJ-RCGs%GQI3I) z(Fxd|$aID>s81<#!~BXZQQR%D=C>y+;yX@w#X`##I5FXhd@Hr^>W`i17TE0%TDzIH z#eZk=9Wwl+|FQ3<{U|c6h}TETRNR}#=jw>O;N?b3Ovn7oY@rWE-zx>HUPghyTw45J zxlUh-u5G0yj(bXY3(D$FEr?+S$4E_d1a0q=P$$K3gA=cTpfq2VanVoJ)pGUsDw&$k z8E-l-{nXPtJ0qPlSsR@!6)w-EeFTDn)t9J-f1D?eVTbRwdX7OaH=L>>??X%*u7u@r z0>(k8>b#eqG2d~+y%ZTbA9jN~Ax2lNoo_k~;GC9{8|%r{y7E)o#0|7^_`D&((m^TGi|Avk#!9uBhlG6$cAyiIeSeOt_jaeIp1}R&BbIo@nB} zUFx?Nck6*|GnTb&yI{ zN1}V>Om1X(xa}aB{o$9f&~I0THSEL3gbDhasa5wBE~&^7f{Rg)YgyUPmi=?oecbkM zpl?=8Q($`SlH%Hws zRnRHhlG$Sn_+E77qyk1*DY?BN3I-)`{J`{H?&r9OkikzT*2HUwBIV**9_FuZglM7+2S)(w-!B(W=zlzLx=FQ#PqL}B z^=&a=sQNQjaOM1%`@yLSSKPOMG07I$(5tt@gq+Al2YtNF1T2x+XQ>=%`N8DT-Lhtg&W%n zyv`ebh4fc9VScl`i8}jKjEDAEevX0Xu!=8p>*#Rhd2Yv(V0@iBI~SUSOkk~p3ERJG zRYH@a9|(-3YkubHlp|0g_Ey2|Hi%-$?M!jyI*?HE!EVD=W-O7D9!wfDQL|~3c5Q&$ zpusL-BByCl`^*C~s72y?QWvt~xeq^UD9mZdX2-X(w(qNf7Y~fpIQ+pY-R0_*2`#%; zZ{i1a@2VYoUwO;503}zATE(1bjWUEpVxzjQn1pCme>STXnJn&7$#`9{!C8$ZxRCuC zw88-UT{>pA@vB_)fiLTP*H6^8Kur^ORxgiY#dBC@an?X%`DVakco%6d#>)NtjG=dA zvs~GYY1mOmRjLBry$Cv{-k?J>_AB`zFRErjK8s#)Hyig*smtML)`%Pb)BzzjLMDv$ zT=e^y*voM5W=T#{I<**zwul;Hbk?ss+NJ^le9~T4L~zAhBK${Fc&7c*^uUBo9o!T4 z@b04Cyx|@uu$~=^BDX^OA?#3kfAizJ31Ry;%ovM>S80!wvsg6FUIZ|9)pX*_S(TI% z2F?Jw*|tCRErYTYIyqE@SyyM1jn_C>V?At{&+8;-3C79F5^pXdb*5x9DdG%!m~FeL zb8RzRbyvPGZY+aQysTR=iW;)aZqB=;p6X^xozDkyel@!iWOAL$VFuB$ZniggTK7ee zgxeC!((zD+SL;c8L*z)$tAm{Fl)tG1Tw1LAIeU#;AdbClV`$MadnK3;Y*Arx?l>iz zG5CFa?q{?ec-PnpEK~F=Cu2T!ji$pd$WM0RES3WtugKJ3Bj*4fMh^y7=`Hgx+lSQs zIShHD6&XQvPSS@B8<{riZcLPcfd^f%H8oK|xLI$fP>gzvqzNd|h8vxcWncA5LTRn} zv}Fq0;N($*(%PW*)95kjzShQCY{!^2;g|*n>wdfC-!UJ& zT0u3o;jtfu4M$xU45llY24y^SIO)8{Hs$CFX-0S&H10Jen0s5MJ60<}f}W(k*!i&* zKU>J1o=wmyN1caAB4!Le*TP%E-y_;jrJ2B9C{5dUH=H8;#jD1x(gHi9h5KBV5YI;9 zHSH9Z=F_EQI}t-S?Dz|~51P>Q(rK-TF*dI4=*W9872KCRF6(pVDoL3bdl!upG6(-W zU2X!IC(@1GQDs|(OMTxhr<9S+ajXnjhG?;0jydw1HCAZTY~Z;#3+wqIhLFTZ@x@WH4(Zjz~fz5YzZ&BMP_w!%i+E*-8C`vSBEQ z$J!5&#@c0D0iroSyrZQE=-ueTFxYhU;)M3pV=LgBd}g-s5xzkPx&?YJ>JlM>-F%>E zbfG=N@#LWB%HqNP{d?V5kqmGg#2CKH=FUW>89sj?T0qx0c@_=vu)jG<30TkPR(wCEl;Ips0<7u_N)!anFmTcXNt~}I)EX1jWSvi?#*lMLB4~cud+)o^nMi&^uR z*T>bOiXUT7ks?|)Gie1zY8bZX7zMW{CofTxlK7H+dfhDT4-4?he4^#W`QR6!Vtu9K z#hJ?H5j5jzAtQhKRVC0&Z+h=wnIDfUmWMp&Ds)7*9ZYd{G&5-^=Gsl~r0%F+HQo%q zUKhEiKDbxaRboEZ=-H!Bj7Hm`*%WO)Bj(ysJJrk_T&;-1N+#?rzKU z&SO^x-0OzIr>M&7#*3xqwO&s{-DAW%1BAG8n%GZab*d(raam=^wsNIe1hjVL0Fv5Y zV+lqhaXgx+U@34}%smOGP_#BgqsFcwz)9{EBAA>qUmF67$yVtyS1iSLsH4sGs&PDI z7l(}w4u7iG=hOfPd#-XX)80ZLJaBH4-xB$BXehF=r-Q%ZXid8#5O`_W@mDE_gkg)B z1c>`@ItmJgg!@6ubt%}f65ein&BRk&w7QX&Mk-ln{qwg7$yCdyo`Ps>l2O4V8dCV5 z6hh2pzevy1gTtydEG1zm7%0}*rkiMw%`jx%1m@ojBf=FK<76O6!M!72qgMxSyydN`P(d|QG)D6`z)9v!F0cp2`WL05G8#5Z?P zq5QQJoto9znb8y*MiAw}>2#s_Tmg9*qBhkwh5ACybC8;%JD1#lnfGA%1I;K9p9L&g za-uCwO+QTLHHnH4>#99^ebHoyzfX_>iG1{;8My;tHXBRE#`+G$WxVH>RE3)U*3PCxFum%aGSI96F%6ZRF;GbGID<5 zcpXWa$B|p9(;iLq>gZFh=z=qo7rBfQ+p-5e6by0CSzkCPVnuS&aTxiH+a3flYSj=_ ziok)Zr71iU%HnsXzVL6U9N4qxvX9vevlKtAbx@dooT205;{{KsrC4Z0YaxzN(sR{K zz}RwFZb37<3pGe2u?v*Tl@K;$xfxP+ZaTa80+Q)*`dP%pv)Av8=z1jhD7ooj){eDuB@-7Ig_(rpR?Jz8*BQZe=2e5vD4h%4+EO)t`* zJ3!(1j(=qdK9hO1x?sdgry^@Yt`u;P8uC4#u84cqkvCsTx}Hq!dp7>qRF7HWDEz`~ zMQY}PWW#35x9ll&*do}v57%EAM$;xfrq1&)J!AyOf7s7Y-iSC#TfvR)=-x6R$5hRc zbu~oILu%{&EZ>L1j@~o~{JV#I=M-S~l--F-JLJ!a2LF5;6LE-M_tr|O8dpVI!IvrS0ku2|Obbou1_ZRK-GLe| z4G1v44L;delxNyEN2}6&Hbgl_h_R&+UeuZhGj>GA#jWMWh|y(k&~X969EE_KvZaxi zmU=juS9&yJD1S?n3Q9#35kd?Bz+Ou9P&KrPiJ>9DZqoYhc)d= zG7^~)L)1afJvQ?FUq6eaO5pp0{0({TjP-q)baKSTM#a}j;FaQ`$U$4G>drN)76j+Z zL9Jrt4ct=>9j1!}H!NdR-2!=EZwb|px*w+V8bYTHVn4dCk73ASmwq1zVUfh;Sol(5 z5$f5X)TTirn6NQmfJQG6Q(wm$uRrh@f~u-v+mhu?|7$`~)d$r-I#W}U6}-2-9B&eqeT zH-?n_!Igdn00nZxA+0ICFqCbH1<$SrZ&gJv*K_frlvEHb79dtAzhFh zfPY3bzxY~($Av80{y~AvwwZ?58G--vsQ_mr?+EcactVq7@knLj$pWxxxLi~JN~!Ul z5~T>*TjXo$T`znodmb5MlfemC*7Pg?20#2o8klV}l${znbn>LDMrL~XNPeEdY`*d? z-!W#e-yYKw`d0_u5E-bl>i*T`#mrF;+bypTqsJJ;jm&h6?X%B+V;KJWhKa!6ezYJM z4{_zX9vbZ11+(75Jb&}5w)JwM?XB;9xclm4+3Vq)vc>RGLF*RuJn#SeA^aU7vZV9} zY+28~6mp>7XaD!z$#Ms5MMDw@Lm@z2^!LC0&o>%Kt2`#|&R<*hw_mcOMe;L<3SG5- z1*o0@udLw@7602`{6#gTVFQDE;HXIF-zY>PwEMs-17$B{Lfb$7+p*2T(uWfyg?N?K%vaXRoX{+MW#xaLSt5}N#z;vGohSc#UQ+^NB0)yU{=dU$ z{{=xt@?lhdng@Gi{T+q-y2+{hVfRbT-%+?>zdtn0oG14Gj+y>jJ!yzm-r<$|G#_bUmz__rLQevqoW0iRKq9%vX1sgRCrhtjerg-()Myq zA*6GQ1P-_g%Ya;4ShUY^Zt5hmyL6!yn@%3Q^l zlFbt&{susGw=sEF0KxO1Kt0psB&`7hd<9?<@7;jre4@^L2x0Hr??4h!oC;FGgZi6o z?^f*5-;aVuB=E^vc%?0Ee|;<4cNj0L?$C)J7gQRu-iBumU~*-4VfLP@&E##%9Qh-9 zB-|-;7wT-+FR9TW+{ z2!(w=9#M%880}(kW_$Wk^zva239!x)69(+3s($BcE1ZoM4-au}4_fLB2{XNTs_!-Y zID4zrH>k`_Q)^+IK!kv1dXK6tPbqtAJY9BeEIAk+gy-3s@;6ov`>6{4R}-(%Oxd%* zv*6t>x(HLLZ5;05EJx$_?L)T(H6i0_b2EEX_l_lQ?eyPF4`gp;U&$gG^x_4%1$6Ot zs9%yz)p+=FbseToL{$YM4Vt3IL$c_zHav3|gYVmrsybi0maAyVQ~h(GHI{#eF@&@iNb1QfL1YRf?Tt;fr&Reh{L!}Ri0-J%}yZ9w1?=2%z znp{&x8sG-P><4mU{UI6G%BgV{x4sk6%jX+0D8=a__1ZKu{lIfLl`W`RZT5j!Y4aCE z-Tr03&_%L?tok$7F2}XR%m2devPv1SVuxJke)r6s)4U^aOn01QYlgF}!GfgjoHH%2 z*WFJ)4^iGF{cvFOIry5*ra%yB-6}fwZrTyMF`O;KMN1TjAdG)Jy^+44(-m(-M&$!= z0U^ln-{$}}y3t2!vA`yEq4Wzle3uzt&rp7}13jl&qbp#4*hO+IuozZDbcW=oV76WL7zbLz(1sr?Y5^B-&wO+^%0jBDVuxmVh7sGKRW3-n+w zi{zm!1+!T*L~Srt^+K+;1s--0Zr1&NHywoJ_Ha-MhgHai^VX#g(H2^-PO?L2l|kRs zgeUV@wK~`Gk@vsB_kbHe*^raadeY9j+F~i9sTw!+b&rdnA=lqy*;`VCu-!Gd(yd{E zD&ErjS;@*02_~1DtzG5HmbmoNJz0>8iHA%OzMbciO}2MmvFz3{W%gApcKf0O51u4X zV~QN3i)w0`96mFB!?~Bf+oih4K`7SUIic^v%8qr|?!^)GO!ECH3E@F~kZr~T*6lN? zNo`66va}P5Kd4>!E@sKNLBR(2AdPqVx!(EknK`2nPZax6-A);hXHWVA~ zvHAHmfU1Vjyr1DS0P$x8SCQ`ftm2sT10>Y@+*gKN=)iLIA2iVNlfC-;^#;DDGHw=6*L@DZ4VByYG6~h0;a{Ht z9^TLD+@Q~pl?3fLjSdLg=Ji1!-E|feE9)02M@t`7{;HGjmC@n}n=05zqW9j>e&f6| zvgl^QfX;iZF1i5Q2fzxxgKlZzkH9$ZVPVH|vwwkebbQu3)iq?dY~hV8+U*D1jZ5wU zPTpl+IpFgFsxg{6VX_C`w#pBGd@7yL;73sQ{<0&BELZnAj901^>*aOC{nm|rN-YC& zc}Y?hdAlrnAQA zoM_zaCXk~Tr&!CwR`=JaDloe+q+R1(J%ap!+Pf+HLLgp-$u^uqfnJ;Goca;NVfec) z!9;@!8v;E(EEm()$5t(s_M>q`uN5UjwHx+{o`7i0K@775*09g4L@umb#Wg1UYC-QX zaAbTf{k36dBo3Rru3de=HSswEI@p%}JAFaR$4|^{QB1k0h7_1>ol%GS~v1cT@k{jUx+wv-e89bZ0wV@F*ETMp)QLy!}$ry<2PxSh8`V5G$>daFMFm?wAuQ z6d`NiF5xz_l3q!x9ldQ;hYhBe03GwYU2CvvK0qtUp4YgG{ou89yU9nGmJe{T{VLs; zW9|cy2#4VQBsY2)3x>j~EQl^Hn%#6?n($3n=%<+1BPmh^+FlY9z0EgBKOJ(cC3=3S zrXe#+kcREQj+BYi5wM6SJ!oc>Wl~vC;Z#jhuj2mYVO?c-S-z%Ot65UfYnXs7n$=Be z7?CWgZs$2$%S!Y1=YW9P&oJ((?#H}5M&zN1l@n=o?c`(r{Jj%ku7pHxS8M;LIp#!U z&v@ov!ce>Ta8qoZpi<__1g2HeygrHoRODk8kV?t$FLH) zUw<@vXDV+6v-Ec*p)1a`}Iqi`7Rj=f)= z2@xPRm_2_&hEJ;-TAhiSgr;gn?}xWzhctsnK;T>z#$l&)w+oyYEt?5yCYqVD%Z>4c zNh6%d&cP9T^E)`Yw{y*a0GA^pO-TS5)dguY9 zK}P8ghwcugk(3e;lyK+{Vd$1_5dY6J)LV zFp#Do<^&nwZ-tqUb$B(UV4(bn`G?FkZ<01kRETFv@Tco?JsxMv@R!HeKOxd$YVZ!6xn4r#E_$yfC(2^D164*T--52RjC=(QMluNr96 z0OHBbk+ySx(nx+X%dh8_T?5&yLceXq0+mA97 zT(5i?;U*1XLx6LmkLVQOLh!qq?YE#aUt?SdT^7iN?u*W|V( z7sEc`i5Scecu!9wJr9cdsH@LCC+n-XGoLE7=dA6}V&9T{M@P6P#UI0uh1mfzJt`y5 z4XBo%mLZ0h+@ixCXI~12PE|EJ{B33X$Cky8uo^Dq%TqPhRu2VsG;}t1uk5|k>N>UT zk9acwLxCBgUt5uO?|YI02?R4Sj-QyAX`1dwW5I(`*Zxa@DY_i}9p!r*TQm;vJ{}Z^ z$K6t;DUm`y56s<_$0xuNwQ|^B{A8G){W=+=Gz)O>gaOu*k!*A@en*2BPc&QNm&_JI z6lhR`q@yj9S@~^-m0;`?tSF@`Cm~54*Mm1}9GI-^n$K+9rH@W=bF;XcdlEytOjzLM zj_N3r>&fK7;37JC+)8Xy@Yw);0k)=IT__Wy$ZPW6jcOJdZLuWF zq?1u4cAr>P15XFJ!~C;z7c#mK?OU3S`QPwql0~V3|et5j*{HQ%*XKI z$?h~F;rlYYGJAA01Q=ljhE zri`y5zMFf6dcG5NMq}*QzBUXC?IS4%?K~zr6wIS_X{Cb45pcwOq%aejb7+Nt?F0Mf zl=S@RLAZlm(->V551@%f#cG%yOOW>8rnS zdcONV1f6XAhe_Xir*Dr{^L}a+*Z+R2EnR3`g!C@d5Wd-bAXcmK1<)KN{Px_;Lg!vu z21rPvEa?qqdq_oE_ZOD0exU`y{iYnyUaecWN{Ma~crv4lm^xwFQ&0zir2u%yB^Wm* zC@}Y8HGbd(&iWzcPH|TISS_$?HN!UdddE@H37kQ!-2X(uWv)4bZ;ev9#;3YIY^&U` zhNOj)09SI5#$5sRsm|xLKBsKDW(kKVMmsEy%}&0d>#Vl=KS+re!ejiYqho#ryTs5lZ11nq)19e_Vc9PhnD`6?CbX_Y)N*c=5q5Z zzdL^==+otdvys`k$}v}kO097_43~!CrTx;!RdSd>-IXOYa6==8fujvA<0&&&vj$HD z0i-5^_|D@C8$)MWTaKR@oG1Z_hI>!@M@*c-dPRpo+S<`AQ?Y_>AX#Y(m)If{~Q-32}hs=s`+5)_$oa`xYu2ugid^_5pQ*^DWw$m@p)=BvXjK;9a zgNZr+pZO-azb>kL_rn^{(Q$jif5x|#BxvIK0s7IcP0@aK*30`pijto*k-&DD{Tdl; z87aH|>UAIYi?DpluE^cTNu*^c(2Rm(sd9 zZt>fCcd_^*!^<+s-0lb8ddH>}oyN)JwX5N^4F*+XVsh~x$le&j3V}giz0b_bgA$2> z9_9ljnkkB=V5Wq!l?}-@fv2NUEjNE*KdUNqvI3{g#JCfl0SkmkX>2NUEK1LxE6b-A z)7EdfK0j0VKy?5gA_nEpj(SI;c70o+ELerG5Z@9NV4-ISm;;@ z;-CW3-U3kzLW_FJK+xCmV=&M{v$Zpt_XBVE5e`%2`;W1>C#z%!1h8G}h*`JUYQO7# zPG;Ha$yr|S;+qXmDX5el*wDtkruHvEKKn1PqrH!t(#DpNI$lm-WL;*soGNK5r1Np% zve7XEH+P&JV*RJmTRAjZbBp`!diT8WN0Pbu zm4!XK2K5MS6xvlUoFKOes;X2sYyP{f+AHyTV!M}D?kKMtFJdV}k8)<4okPvcz>0@f<4GqP+9 zeZ3Fi6M_D`%ZGYixQP75P5?IpVq~x+|eZw zU_L6Hk$UBXnWRIeNH*Y={iK&*hS@q=fS+Q!^qI)YvY@gesR0slWZ&Ic@s%^OmKYCm zHBGtK;&dq%UP%)v>YG>}Sf#nR?#HpK{Or4IBx8qY1U-MYG9X>Qw(g-3K9z9x=bnRm zapc}@Ss{#V@Rv(Z=^Xmy4{hIw0IoCvJ=B1ZSl_>FP{KC>#K{~4;pYuW*E2`j&j})x z*s-no3g%;U`O4ph^HE!T7ujrY>Nx3c9{v^`KXOtap*LM_%&V}5Lubv5&J%Q-B*0VG z7KOSq)ajhh648YE9$^gYe57b_&^w)wdn*))-|_9-%G|4E>~qP_Sl3!MnT0Jy!>(ow zo%9GSP4M;KAE~f%qH7BKN`@U?R&i0czDN6lhy57?WaK} zAr`P$%M4=Ow(!l~TvVSR zKWR42JD6)8y0U8Z{1>tli!xBJjm~AJyE628b2t`V{>A7@S0KCE>)4QvYV&=OQ5Ir! zIntY>1Mbi=XXD;-!Z$}r*AWW2%%ijjGkPhWeaidge6T5;tM+@?kK13&78Bh56f!KB zasMTD{Q}2h1Kf#gGzeebw{Z(qUA)UafBh#ihh?|rYLdliXK+e(p1LOCw(}}BRh*r` z+age+WdrIBWrUIlagUXpTtiV>5K(u-<8p>QT8F(s>!FixHkHDqmoQm7Xj-Asu?n#; zx~JFdWwkeepP4EJ28(~vi+)t@Z1CY=u%^{D#oU;)CJ6jC;H~S;Q6C$grf1P;1??Y- zP@>QUmt{JD=VT!t+4wsZ$cf@cPT6nXPA8e^RgIG1Kf?&-{ZeIJ#4WZ#E`U%CIol@h z$=|6Ny@c5>o`O^aaan@$)?~F3gIVwR(ZUKL@8F}r@#Y{ds!o#p7mEYvAY5RU)+UPf?&fm zc9#Ux6g`W*gjZ%rODA~M7k^8~%j&CYZD&>6zD`t~j_Hfel0+e_}CcTD`_!Exp~K#b{JAJo;p8+!qi^R&~xc3tuIX&6XhCZz<_Oac(>C zujK|*(=YnF&l;!QP_kLIslYUl$+pTBr*?Gpi`Sj%xgRKJeU9UyI+i#AWw;~78 zUj4Kf2~!Q~NdF(0yulK;gvZ+cejhOksh+1oNvGtfMfD8)`?sGdTb%w&@PHP0MrpQ( z&pozt3aL|Ijuu?(t?PpZDuLWMvZ%&svD5eWvk!mOOt`*XTsW-6-iVIqDg$@NO7)F; zhlN&VLz-48v76pBGPcm&PxARS@5wsce9u)L8vZHUx7jwX3IU8EIqpX6JzmdxOdjW1 zwcq22YhO~SDTn`h%MCC>S#8e4SUMsYIQUi5Byrzru|ORu9=}W)&0%Khz>6f{en%#Q z?@vbGMbIj}Kef3>s-uDtf`cq^qoWHBgn~l)QVHT4j(=32rmbj~{T#>CgvmjdOefS* zQP**A;$a7pgVY9j90f2v2huI?i$yqs7~cS4BU8uAaHK~p@iNxHdvo^6WzFa$=+D<< z;%(Dt9+gdJGeif9g7$ZF#b1_HX%?AnF^fosF|iy8tO;{0tGRKN5Zf@KqnW}k_2fs?A!-4nRBN>7 zSA(`8n<1NbI*o9g~ zUJO{hMH0;HY;PsB|4ZEd*^QtPlxS>7@?2q2_VQt$?1C|O?_DC;9p(D0d*M>G%k1t_ z<=aw|ZTI81(w&^b*^lZY{6TV^-_E8F>j@r*>z34oT+a-f$-P;U*C7lJ4bZP%Wmfl9 zWkMzgM>u)=pFVq#+j6hqc>D2kv|SyKpN{+H*=|_|tW7la8s+)caLUea@G>#5e%Wy% z6Fa-``GdfaIWHiRo;gR_9w&7)9vxh}xY?iHyBR#qK)oNnLKqu8smsV!S|dg){$((y z;FK;ou!%Os?rqg^V%vpg4KD$F?@zv-_(gSE(AmaV@mTvNjBor-?4|jAqY*_l_~=~4 zQ0%w){piU8<`TM!W4VIY0Fg?y;h$mO1Z2x@?Z% zdJh@g8A|>;+!dlofhyx$(_$vKl9r@x)LIf%wOAV%J^Q2J_>R}(K zMs#snfy#CZJ3ZaZ8@ZH>$yl<4uYIJ5X*cd>4RQR&m zB`@^u1QCH&dWQUJT#Q54vIv|hxh*vUPF^g9D1CNpkar%m48XnKL%Cej1>@v!gz7?r*FZRuHG)>6G?0nC~PLqUd>U zka0GFYX5FRGtk1Z<~$%?0Z~*-zx}<&62>djG3~t6hE8>VJ^k&1a%>1$mSp>B-`M17 z7LbL-5G{3WJZ&uDXJM`kzv}5({;)|ITC%!Wz)NC2qARw7_xU_Aq@~J0c2(GeaUsk_jI9EEC z&Y;h6_n&-6REBqM&9QEnHvT>;|1radXfO|2fCKN3J>gZ!^8r$(Qv{G`$zx~_Y}oCW zN?cwQZ5q}@u%H=QXrrCEqt5xyNuy3@Bi4a+(MX<&kXK?mB#R141=+#YSs|{7Ra_cyK-%3Woxlb6inu;}N#DKoi5Ju?{ zPP6aFy6|oc&ti3}baLteC@=Ukm1Dr?eQppuLfS2UzlkiOFAMKeWDn-Wg#4o-B#A)M@6?fK~B zC8x-Vx*HjfOrW74lEzlT$t!2mQGq=2lW@R5s;ydENY_d_J99b4n_szVUfk~KJ2jKJ zpJdbyTeN~|u5_l|>z|4a<~=FiU2P2~%Y6eqto3Fu5w;nE@iRev=$D5mwlHD7vmKCv zC~w(suSPEG{@TdpmfKR@dmtxE8j!jDd}-oT-|Ng#r>(cM+EULoK6b`wO#NA;BjtZ| zvcEi*%Gz*z{M0*BX!Aov`A&5N2#IrJVJ>ZC;dt5qM5ZSFSZ9wN{m!q&!SM>siR%E5 zgYG#(pBcy3bnDh@PE{=SuX7uR#Ts|m6Vp?poDAWOf%ZA?cnQlLHUpY7&lk+wqGJ~_ ziyHved&J5#x~lGNgu~PtV!dy=SN4pm+4p|cz=%QC06p;CY%OZ99}P3lc16<8;E8obXCLshc;2I-WCMoq3 zVsy$WmZ7Mrk1@2+oR;&-=a;0PGT~QOl&(X#y=3Swp81-E!(vg}(roGBzx-n{+2s`qcq8h=RnZxW|?2+1^wUb+z1@JCTzwGR^*3Gty) z-Y-6;a+nHK;|j_Zed(-Qm}*d_jSrCjpjn zmlv|>7H=9qcv9XtBeYML9=-ieygV*TR5#UVoFu-{y?QFOY&~>PYu-_HLE0s_Bnp2v|$Gc2hr@Y$Qc!BthlOPjb%;Z%=C!FrA zelopog?N@EYLf3(rmsSHVyFF0}H_$_zA9N3PgjMo~gn8AdZG(__8CZ17p$k zJ2YQ0+spl42su|Y#JR_^%~(CEPNVZ(=(TT|{RtSzS#j{b`#_GI^1MF2tna-TJ@pJJ zwix^onh*26`+3Hg^X2!XQ2NId#R%P@sFPYN<3!X1p32H`KYZ_sntqh&?4{r8ITpK| zOcwo%Ar5K`x)Dq(REIYZ{}Uvwjf<-jou|cAiBdOw_n_x1EbvCiidLr6rIj=BT z?DBf=k__@Wu(U(DH&eEL>KL?_xXf7WlFN z@+41c7fd=<*=lgGC?NqAg+e{g^2e4P#^K+2kh zc(3OZH=%ndR7iED@fp>BGY`&prlY~j8g8P?G^m?zc?lu&RCsc^%voQx;ZV_7oUdiG zu5R$u{;~iTO$O7|ldSw!auB$(tZ1|qoN1!lbP@)dyyFmUcp&YXRB<) zEHh-1n!M5UhsySf$ls5aFlU-n&l;aALcu$ww%|2ORv+0e?CqbSP64Lko(gZTjOHGVrI%s})yIcHS?45WkjNzs!rptHv(geA-yTVQO{l5I zthMiPgG0ohqp{&wY{;&S6s5)Bvy?4{$A-_*d3~bcxu(|n=p2$t(#+)-Vu8`_@+{ml zb4@r1{^|C~sO`~@g6xe1B8M^3j?sZ@;n%T3YR{I(5b*a+6)%nd#6_L-UN`Yg%L5A+ zfk%O7WzN2(n#HZ?(g(Ex*>5C-f01J+jE<9&H;sw%v zs;g!$5_{%*2Y^xh@>-&1#jCMfL&p)=8`FVmIR%$om*d%I&+!|vdR75T=nB@o2Ko5= z%KNLz!M7BMY7lNqwh!HQxa5rmNwtb$gb+_r^iBKUB5vIZ>k`np1dieo5k4Q8f{f_M z1#`%6c2x)-^cP8IoS-JM zMHl)pT5pgC%rFYo%+6Q-CW*z4D-o1nM5c`LW~=cB#blKJ4}6^NAkJT&vFuw~L6<|M zRn_i9pRfyKiTxqOYafn@Izwkh5lqJg6+eN41O}NYD%(F%aty!t9}`_A)Dd5$j3jPQ zQ2~n^NE+lC`u8u}qR@>#**E&t&_3*L0uBa;>R#MIUPza%_Jj6$tqpc=cDt>QLn!Ax zPI>tHBQXJ1?QaEKq(gV&(U?T5f`7%&=gNzlvy8Q) zaG|81EnNfZ3;u{1n;)KP_KM{V($Bv06#9d8ttL=wQSYfb0EPVT>M^bz8Yz_wo?dU6 zxtMFtsd|p%P$By%-(Pbd*=!IrhUlg8FX0k$FSRI(<*5dg?hD)DjK|^C76@4p67_Bf zo~a4;fYhZ^i_M(;Tw0$C8?8Nr-o9q7vzd~jFpZId!&cl?qRz2IJ zrdc}7yR?LR=rmo@>&Pb0`G_o=d=16snmh+YY_I~e#^&;Gs2Mvv5t#Uj2x1Io&LOP= z!rCZUpwfzGoaA#uN3kf)*a?fWGAp$?nW#eLO7aeVn{DuE@KQ%VuVyY)zDb{J0dm7> z4H9%t)g8uXA);q2_2v9?;4P6MT6#phLL)EM6JdYT;nhsa)8(n@>aiLDD^inPBqRfZ zr~|<*J{i%lm<`Qu%I2&a>XI%N!%gENJ<%kt58D0TQLFL(;A%PS!gvmA1S{WoF8hY% zMNK&A6lWP2wV&d-zRLvr-9?7Dcz{r|o8_hBkTlIVkFN-IB81fEzjwbe^%%|I*_ceJ zzLJ201EtJ@$vQr5aC1Ti%RS@h^gAQ&u<}$qpD<$(`P+Bqo)SOv$lf&HL*0$)m2H09 zTGV>=Zi>Eod#5rOeE7WTrj|q%yHhi(6D!b1#md}%!Wleg!rYH?T>X{Erpi{s=SXuRb4c=lwL=IW zGIy|Bz1$XR9|2^K57>K4!9*2s9$#uxB>V-yKe>>gTWO(eZx?FK5qc~#7WK%n?X0en zbjR)QSE!U^j08i?jZ?)U3@Ix$BEwQ6|R;xEHAE>nJ zAd2vEo~LTO7`FJ7unHu@ry@e6U0DgiTW%yR{2-$0>(z3)e4wIex%{U@@l`|7UXw4L z@9xVT(sZO7r!az(DOr6ySkSAlN{c!J^0ML9BN4T(CgJaAVLz@h4brKpPGSW_zgZ$t~-YW(65hn#ozEs;A2M}9-jA14N?;s(&^`L zIWI~EyHP<%8MFUbQ3PeBYNoHQg?=66ud273IcoWU!D!jHdN7pQ;Ox2PGZ^ zG?b6JYcv_eYOU@aIaEtJ)aN{Pe!h8p_NBs+QT9kHQS;*`4B`Bj7oTx`7p?-vC=)XJ zBiwST1Tt;E5a4?q3^bfLGP3nEJ97l{$V&EScu0x=N%ahCd(ZTPlvaxBgK2I%WLC#! zLTQeAhH4^VGqB`N$oGl!O-P#1jZ+iRI(39p5`@^=fexQV@9K@1)M6BH{gwU)Okj0fDPCBYbq0(pE#-73dOZy#t zJMtw&10RHH>H{S{1>xb%t$3P@v0WRi`$I$TBCts@>4S-SETHowD!jKjcBn}Luw)9P zNl3Spi{@rjeCTnwj6G5k#(?kj;I5wcHD#3jHp9hcqlp>5UFP}xG9MjFpm*QYdoOvE z>qOYpRmNUBO-(CJ;&MQ9gNw{&>$o01+dl=9hJJ;&RktWe!~#HL0mHb+ze@wB=8=aq zFbDD^Bc8P^3(GLKY@Ih-Ja6oc7cy$$UpNrSe0;QFuECseAx2Ej-OTz?vS6l!b->h5 z6`2LG%DLUOO=LPI>~WE`S6tqV^@5|idP|ZKYtd=uj3TE11$fTw18ZZz74vy9Iewj% zN51(uBZEjsC(T%}A>Gu=Pu_L*bk>6wV@V!3M^e6FvUUaLD)bgNhh|LuPc_p$65M}F z#m=U^_;Mh-z*A9RB@;<9@nWbs`ij?MDS0EimbbUvC|fj*g!Q|3fS*b`8wvYwTkOaI zrDos|)rnVcn!8l!WuDsQ2d`@G4Y003*cvpkauQInIDXWgt!y5*o!GpPjXc})N&ljm z__WOqlQUTjGt->?*)W=ec@KtS zV+HrJ^9*1AeTA~+^NqJXT!tr%r{aQ!uoEwS^8@s$CdIz|R@CV7UO>tZ?VWnQ-sZcn%J|FutgFyYtSb5>RB}`WV@JRR@c$v*z6tTPJR6#0yx7 zHH8tge+7SRYCC-&qexf~{!$yHOs@A(7@Q}*@|OL$DcMsaiE(UclkVr7I8wdMyn{bX zYdAv@7S}}aQgya0-a&qbXzkJYXm>@n&tCeps}pl&UNqlEax&jup`&SCA^UtA@0|l9 z%A|F!U!7XCirJVmPmwde`+fh@AuYOKC0@p>PsEl7c1T_(bn3uQ$6&N|@I||%h?ryT zGS-B)poAKLPn+wj3y(RX)#avO)FNkMh3tTq-2aB4m_FawuZbY0lYS7A6U0{2S*TV5 z`3wvgbCqc^@%>)l5KE#LTBakeh6?dL7d^6RgcF=kvBQK4u?kUKW1?C{JQ* zjJupmWzz-GL0jrHvlN~>Bdcj`?Y9cNwzzl`Eby?&OXH^UFPvAQ%dg{c;ai6WKlzfG z*bi(Z6c)`ZL>XJuM1KMKR2fu+KVJfxyzl^dnIpo|_Y3c5S>sXVycn#fe;&@f2DEg6 zfsE#B&JL=XT;p>(KP}APlQNns+0EC2c(9LvjP9M90E1~ubu6#~Lr(5fD}ab*W8!btgB-k@nIdHWFjQ zP#^?A4ho|+TFPNKsIYu!|9@%ARXbNqeLjAgmBGc6{+DJmK?ziBY7jD@6pT?F3L@E1 zo*|jwo7~Pj1~h!*1{jWc!wPEhH}|_)*tM*>>GkIXzZ-A}+(=pLnHaFXheV>jAnOT% zGUa3N<`$@?jxK%s5zjIhQnV@=HbLBp5`;?5&-4kJriBlcW`Qy!Se1Amm}$O5uD&lT z+x~$g+`eeE`C{(qcV1iV`(?w1MZfEH%yQ$WKNqP*1ewh-yyQDFa5a$6zt%O9cDybq zfme8|$MC8hwWQX)YZYo*)o1Pi7LSDAfI0V=9$$hB`Au)tBZ>*-{i8%;9yEmx5Cjz{ zWkU?@P&CdnqY;@#FzRR7%`!!su-p!5WdQPe>cJwfR*pBz>BG{X6i&E8w zC@>;yj1q=cF2C8g8K?H2B_RTc)5bss#5_61Gw%FoBjBpi8Y&G!YYgCv|GwUTd@wg< zG!N})d99(}`yaRQKYt^|k5LY`3rm!xdbq{^`5kZ-eUJeoPvys{WZwUJjDP#hIDX)A z#v8M&z2clngEM1+q&-+#@04$u!c_ipVC`MM6!jyBrh{VNlsLQM)ZY6F<@di^#cprU z1V?n8z=i;7a;m_3*DCjH3iDxBspei?-QE6-HJ+ z)yL;}$(OeO&DN=j^91YLesOYoUxz`{$-eH^WZA(08M>AIRCKj7RfW+H27By(tOIil z8+NpAq6M#8NBa)*HV$*BF<%w3U(0LzO~zU_8V3P{mPWM!>1WooQh8p)w%26gwNhbR zSa#>O==dde=pSR&0TPfhhnIYr84A9Adt~nA;?Xu@6E*ew{ENE7bj-Rp-a@h`UirWo z_?O=at9^|+MNzywy1kuCuJk0K<^Kxezgonw9tKu}Q9YD%(M9A01W_~QFwU%>w^TN2 zv0GV1cNBsze*P+u!ujNvPs5ycaZmnhljkN+Q$-)G`6(RU+5qp=>snU1MY z7G7u)6JMGRtR1NiblYro*vY?4|L3ss3=x0Q1y#LYn$FyG|JBj|qe{#P8F+?Eux3fj`*!32COswGG{@lX9UfcTS) z`9*6^tJh@Bkx!qL5Mj%`aIZp;!<0dNY{#5nS@q(!+X;bi5&BsU*$Cx7#thN%2q>e= z(JWv}kux^T0VDISYw80to1arD#lnlLW>UYD!GttP(e~c<5P&BmTu${hcwGeHH zKfoEU+R@z2P2kJRW}y>&gG9YbqjbGW)2zE2Hg2jkjE~&^SjaFhMi_m(69q&W7d6Jp ziWE0cFr6=8aWGld{^#dq0YA<9(tv?~u7R`~5dP?FLi5r;Kb_PJFj$QXy2aT2Q76f>zk+eMTh3Z_zvYCJ8KPP;5}?Bq;_cZSy6m^kNrS@fJ`| zDaJ2;hI@inLzr0D$0v`A>Hzq$3Zd0M1}ytw;(|G7>G%C(z(^k^uAqeOf9rDpXQBlj zE6o-Jf8Oc&BiG7dx^TjKU&TSca`g32KgEH@m#2XOE%3M0bLRHcCbf2N^m~eg|JUR; zjDn^I8bgL z3H)}>O0!JKPNsmsgW|En7Wo;~ycI_B{I9;g2;#5@P!Dj9R6U@7}63<@l?vYJZ! z8^CH^9pKniPCl@TW>jKhVjkr6Z9*f-?E1xk2w3PoIy(Ai*xuRlN5`7+j5keB?%gwb z9i!i$j0kT+7J(&dOc0)k8{%kpgB>l-miptMVNDFb+Z{7DKXA~=gTYxtG2;sU*kG%c$AI$qT?prUNSKhJBJo$!T(ZlZQT%Ed;2~-6t;x_1hA(3SryY zu`03N3#-$f`!xTfww}iZkfS}1J=z^x9(^|15vDqIVg8}Je{lFX^3?T~fcmEu1Ku;g zvENTPe}B@x(988cP)3hZoV+;f+DmxQtzQ8dvk4+xhSe;4z!tM8=mlO4re8In!!J?g zYGjFyjV+P9JBszy1>FFO-Jyw>b+3OWfv(gu-h74;Z6CJ-KXg?SJ(GD5(@p^-;jFN* zut`<3tI1lotx3}a*M%oCOAq#$z>5x#>?`v#Lij|KY0|W@b8BzogyPXB!&*D-RS`VK zB>)eWEi`9W0JzXH^UM&7+~1tI-i3I%R7SyfBvGz9=&raO1>lefb4r*1YktbV*qCzHYm6!0<1=lh42gpd%#Yz;L z?t%D$r=}R7jDGxk=XB+xLxr;B_3YRrpmR^9yZxhB(g)k%rNw#O+Uu<2hoL<<6H>KA zN_Xyi=)lzP*mBfs4`@Ft)aVrM0D$4usw~}c+@QXtRPw_(Mfk1<}kFRVnd_mqqu7^TrC3LULSy)>>Hls65)8ypw`8I5c5p+_U&CE>dK z_pqBNhoz8@PHXxG@L?Y+Q~YHMTcxVg#Z1NH`o{1QF!N{>#t9S#7@HM zmH79dL3oNSFGU)+(4xT+Yz>TtNx;Y*?nY=k`Xdh|qdte~DtDFNY zHYkAawYC@G-+u%!%k;=9g5#VafwLcg#$HqNvbgYtmBUOS!h6WSY!oIK{nBr%(C3?} z`(XIgctvxOpyb7Vq3u?i_tZ!Ftc>2T7<<=UhmNo>u-n9RK8EKU7&7rZUR%z`iz}40 znPDC|yQAWFGY(UO_tytts};8!=a~{gz;lh_ee2A+uK&@*o-B{9GO-pFNT7WMS`EMq4n*2|D{P{{Eg;N70ZoJ;pR zd1je?;kKh_AH*le?}-hdpkBa7MOZm)ixo7t`uVWzz=bc?h}_@=d5?M%KsiNm!;HWBzw1Q`Oc(kHupthY22r0#~9`_&tzv<|)Cw z2b|1qm1_FF_7T`>p|?&;THI+217F!sR}3(P*THE4BE2roh$a(9|z=;f?md=#-)!Zc!G3H}%%k zx82T0NHhoTn@*O{j*m6%zjUzh#eL2NTKb+(E^QbWe=Vy}DjU1?qHaG;Ss=A|RiOSZ zHn8PQ1CYf4yS!I_!B2WYDR~`g4?WR>`QEm(FsKuI89r=J^fYQ zJoXLC;cA>T=i>Y1F(YgbfU9o-z7j(@1##YIH90S-DJ+CzaC&iuG7iCM_FY|N>qLLW zVY$T_9SJ$TT-kiC$zD{?b=?(?!ur4`(&R@Eq>v$U7dQdgRz>r^$^#FaRJG|d=w<-B z2*tNn3A$Qv+;EY}8*Cn>Q{%|-w*bEfW_v9d$+=;`vkb!ODKdwW(BB<~v$cTI&S#^F zHJRiog z7SDXIaj`!Yy-+PzGviG*R&^1Uga1(?Y;+v`y+#xfteo7R=Q$zA?6UM$8xdWOH%s}z zO3W)&P_7`Q^|Tp`oX_ap1RaExhpg>@4NxTNgtavG`z;wdz9I-e&}EwuJlgcCzZfh&E~JBa_$6L*EyXB z%;vs1F+smRmei>{vNHOeN$>S1&)2y7KI_1T?dw`zj24!8YY_PHgI3H(GrUOzmPp>n z@hC{A0T-3G<(A~*(4g?obFct0lf|)hR?PI8A7}=;*G2!C&*%VFvTWRYzoLcyj)!hcV-(oAzCo-Q?fg`R5H>CXm;~f{WJ*)Xhg%(|Z#Rm4jp9 z)vcI?_;%vM8eut?H?i9BdM@O5Sv z!Kd5zVKQBtTh2O7QJD|sMwF;YCZHyu>(V~gJ?&kgOGfSaszPtw!lwtQOS?UakgA53p0hIIQr_BxuWAgo1 zsk1DE1dcDNQ76N8j3RqyrFdd_;`X3*J}WJUIqa0*!WBE58j5Ni6TeHKYV8>Mk>6uI zPN97@M5$2O{FI=mb*1}>xa}CE4??NOzIF?C9W<5g}J?Fhrqh$ znIQR7R*|W*oU0!tk@BT2HYISJmL4g%%0f!C{FSreZRE0h^mue1hMafODO+grPGg0; z90Qbu0`8{{!um^I3GXS){r16uWBDV{L2x6AXrh2rryue%SQJvk4!c8FxT|VTi1mcC z@nWmLsvJ{b3ptQP^=P+TYMtWl)N!_!4{d42c6fE^Cl{S>EAh3RSos?2WY0l*Iv|Rv zf|#!ru##btQLXKyCmw$spypa{CJ2Y^b#W`w{Jtl={jiCq_X;CAUmr(?Uh>H}lxAIb zR%=^6FMjhkcs0xYpcZv+ptAh;3%ah-idqW}v*w#pE5o_Jk{BjDMW%l}ukD%j@#eMdC0&eIb3Q`jy_>N5qvlI73ZU zhZ;~_23YJilG1(a;^F*jDi~PJO$DED46~B1co!bEs~ZerrRY`C(&9%3ea&!I3+|RB z9U`o5!A{jbSa}xb$xx`q$m2Kl*I*T{Oz-|fd+T8)6#LX+!hq-`11p4tw$g;6>`+^Y zsl=|vE7Hw2!7kSljVneEMQe%` z23|jQz-=~E{L~bu(13ydJBCUco@gv``2vUN2R1h@i1K-l;a5xfQCPKGZk9|y3(KEP z9Ko9%7DBEDYc!}mL$0)rjli&kzQpYkwq$>3mj`ZOvAqYi#w}y7)$Zq37x4-v4EPg_ zLMXE%83pl88DLe5_Sgv;ih>I}45-q3U5OE@>jmY{KC3NRkA&YbamNX}N738IRA3&Z>@Q-rx95P$Wi+Q4_1sw5;K<3CV}HV6CP;xu{i6bWksH5t$>nEz%->6yH!PoE z{HfVPcDmdD>*(}9cfB_w7AH6}zmJ;VRF<#)q9yIZM#V~XPQelyZj;aEZKo>v*!!kg zkU;PIqah*k5GxwHS*A)&u)>+udKUQ zf`vmlJa{D#Ng*Zhc6dxrgbPnud^*d^?9L9$+e+gzR4kIgsI5MS7Wr2LD-tpU2s_fJ z#@FgFr?h@iiW3b`@y8ot$11m#*Jd`$%p)^El0uy_vpM6RPP-blVu0k?`Go6WyTo6q6ipLs6HF?Xt z9M58n;xzYyN{SjZmG1||NYeYsyAptzEL6e7G46=lmr31c#Y=FdL}gLb$C_Cg%F|}m zQhoRvX+?Mq96?l%YMiOWZgLEDa5g!viiWQKa-iCxuZH)ziQ0}@F)MATc?v&4^b*cE z)*8Gpg_^+5#ELDAjvj@6hK}YmQN}`-(lql#Jf0Z;Y$09k)12u&9JW#qnYu9j|JZxW zzqsBu+Y>3E@B#{VcXuba1`m+nP$B$~;O>&(5(;;BC%9|y009Ca5Ik7$;4qs$r@Nmy z{mjfiFfaL3v8meJ`r*kRm9YA|N>@gix0g2Cm*&mJ798hXBpvI^s#sg3JR;b4XmxvEJ611i z#u|S2J)di`|GIGy{8NE14`yXU_8M&jA+%_Fe2YurmEyd9HZ1gzO z6Yqa$^=4P&<^G11WGY`!)Axw7NLd66@^O`-f=n;J5?77}z}_z)+7{IYiqF#rar_Lc z`3&df%Tld9WI;qJ;ljtF55W%MyR2~?s%`vdNTBCt^8N6*G0C6Hb67*#Cns&EG`P_a z%7fgW2afuP7!L*b><<@M?d#CjF$_%2N%aJCc_syXMRP9v!&}X%Lf}!zzRiw5%N~u{VS?Cz~#>aqV7@m<#2RW zg4ckuC>E@Jsz;gp~cSILkJnk0s3o#uv3r7{L`{gLgk;SV8g|FIZk4+`{xSgtBv0 zQpL_+rt%>U$?8snH{=Y*PlqAyx29F>$T^sBw0JpCz!}>BEmv(q0Tpe|Uu%k4w8D?r z{oPP7yu;pzY*TZvHKe2=KJQ|tlyPrO8$I9Ux$4<_C<7EEmu7HW8=#?Afs{f0wU2*| zY){p2bB*Kg{!B{Idc6#Ie}edQo8|<;`W;1u%(_g&CNG_$03L;6VZ?|n3QL$ zp`!jTHKHyOk%iH2Y~D=RD&UpbywMF6S-5Z&}Y=>=OL6@vJ5$bB(hbIOkXBG-7UO_%te8088#-oqtQBLp0TQACn zadMlFQrnhIfQ7U9Mj0ZtMsQKHrO*Og);LES&QeJ3OWcEP!`p$@6K&qC3{N4B2Ko!B zcAu7WCK-~=Xi7Rz#|Uutzp?pd{v9vk!rzhOEnse{*)NA;x#-x>-|ZY~V7BENoOolf z?5>1v3Qjm0eqkc!Q__YpUU|#3$?-=NVR#~y4xZ|3Q!`Gt|3Sv*cCU1|AJdjwuh4`D_Tg$Z7&?X!g=oZFO|@{B1dEl5RQBgG73IUrIs<)&b36Im3AoGO2> zIO8!Jq3TBkN@*^^848K6vq3$dt`iJzvG3NC1af(B5%vqUXXq-t>8)4wB)zYiW ztDR|LNm%avm$j44zv^uxGJlawz4w)7f5TGWO2t?5Cwh!}~*bl%DG5)izZ5L45Fwub^A76Z2zQcAY>i?Dc{ zp7&3V<)QhZdv8nK77T>&Ld;)AqUjEjO^OBUj&nn##%71fSl3M~#LLyNqK7oqIs5aV zGAtDBjA<{5m*V=W$Laqh(pZ#n`JIv?2_2zYm<%>rxU98^n~l%)QLUU(n~B8C(+w zmmSR(yf>dobqaCPZ}F8N`pTy!6{2EnMm-|vfLHC#LS45t#)qv-x%jDty)lQM`32mz z9n6jOnNZf1bRj1Dx}48D3pyTg0_??o;zr_!ZH@3$5xXi=(iXd#Wk)KMg?nU_^RtXizt{#tIcV zdTDNm;+MZnE1Etnq^3ove9E`CMt`}YMpIJmx&w&cwxlG- z8RHDsBLeBQ0s-1YzbKLOArQjN(c9?`<4w6$fv7^!aBq$&Ox+o!FZ|uir9M>^aZ+T6 z^j|5F{z87^2#>T=2PdXdWV~9v$rniRcQ(H$pf0&j=ZXe>1 zQYrM#v5CVy11C4bs;hx#@7uYY$S3YG?oLbd4U6G=dqpN4m>kc?L6U=j4tn<#_vAX3 zXfa!Y1&8s=oWBaTdP+RUi8FB)cuuDiGU!Iuad_Xfkn+8Lkr0w-d&TX|XNQ*ZRI+KB z+&ktb8_|r<_J5iZDbBjE39Ga0&@=iGsgxZ-Y*I9S#=2T~OjytTAs>6&CH_p)RmhZr zV^_wU`=D^hEyHwkCcJ>SARhX2Zl2i7^eSCx4C}E;T=sLPxt8L3{w()COub$`vWv56 zFjzF!4obr!SVkaoW{`mPzJUTw;@~e94fPP3cr1CG7f#-Ve4p`E zz+n^C*2fmido=$vpOHsXL4zb*e_X~23C=QZ*ZNyl64%L2K-R1#-%2E<5bo4-7qLte zmn2pk*MIlCKutV%4<{_7k3`k%)Q8iv5^HyJ^}vp@VlR!WUD-?cbGp8#P~6@&-DbTn znqlWp9l8@nW{B-`Xwe+#I8OXPmFW$FzH=Henf=0Unz>+&5msNxZ_sjAZG@~QtSa&5 zzRAXBe;XU4{x*;_9HqEMu(N#u??By8`#?&G7w^vfGTkJeJ6IH4kmvQ#mDcZAvGrrEuEQ$}JiN+rb<2!~k?Xh5y z)CG_Y6VMhV3Et><1W6)6xUMf)XJ-{%6%d1Lw3z!jNj6kD`J9 zCPZ<*-%Mn&455TbF4Nr6+~G2%=UgccMnU7V+f-b;Y~rs1(U+Rg&!wfq43^0dDH+W> zL|fRnK|%nAcFC>#_{BAd$Nlbm*)$~Xa#IKF^pktvU0oYzr=~TM((61Ll;fpndp{<} z_F?8`HGKqE8jM9^rjz3m@11o0`r~w$a!mYlPGR+%3t+ad6^9C%Yp!jL%K#}-@3!xX zGx>gf&iBrdA|yo0@cg|yB#LQ~BMN2Y-Ha_}gd2p(2Dua>d^H}p*TE`0(e;k85}Q)d zO)s4jLQ>2V2TC}{bvd{QD&lxgZjrD5<9Dje?%0~0duBi5 zimSY|7^?gFGhgglz#Fm^zwxk!yf{?PWx-hM9%Di0^R>C_PnS&HvRcID)6-FZk{Qfk z=wT_)p?ryIS^lFhNsNrjs?2;?=c$Z3vEHw}`dS4;2l zp&Jhk=PZz{TnCm2$YNMocN za+jYNb0zSktWD$+di%e@H*UAsa6gvV;>Eex$_d6Plze961o^gA*L;x>qgjb?&R0qd z*~YY>t?6UNn&AGXM;kQ63D7G)_o1TR8|%2VA=48tz|3G?XHG}3*j`gMMDZy|<)hR4 z6xkrVFs(54qjMRP1CIW|@`CS5#p>l4Kc?>z_iVbnC>6qG(i2vz6HHQVN~hD#mo5^z zivrZhz9oqUQ*ROuX_RKVo&B+x`cTHc%3S~R3~kBmA|yh#CnuFM8p*>b?d9<$a5f5H zDbhxw`#$`Lj>Cd}nno+F4drmJJ^bPu4|DTE%9md>B>-RPV+31@Z4DU*7ktzV;JczR zKmTLLmnzJOyqVqk`_89FiwG{-FRvD9NxEmFQ$e?-%iTFk14k|z?W9HFJH~)-pRMNm z>39vfm2OC|HEJPbKI;j(o`rC}Ki)c~aQrX`(m)!A;>;6{Ne~E)FLddnr8O|a)R8hN z*Ri#V+TGWAXqRW&Ni-K>;wuM6KkWWvo4Mhoc-#t7+)Xn zZ&)T*>VA_~FmRU2ThT#HKs!X-dJ|6P~Z33t*U+^I7aif46b*fF--sJcS#iQFs84ra_y~T;|-@im)u0M5VE8mkrgj?FuIK)hc=iik&kAW5;Y%E9#OhF0-4(WD#;w<>TEQ%y%bP$}1q-PiR8d*RWIKSt`s|<76 z?Ur9blXKg53xPsfBN`$*=&k0P3q$7}ZlNmv-WTOf zz?smNfoJ6Bp$a{Izx0*icnpuMA&12g7_%he0h|Gz$1w98jQT)`;rAVmxzil?PS+s; z^;P0%X`q#$HDLECM;qkCsFngM@Zh>*ffnQ`q-zxkFs9jXq|$)|)AmY=PW1_?P%uDp zwI*9_B~z#TNtV}rh-$FpI^`9%Pc*ED75$gz0aXNs-;5?VN#aAyrN?#EE6FL6QQhSt z85M|93?x1=T<}l}>w|wC6??@L@~PFGDb(qbH)!V!hvjHq)-UqT*Z9TkH8@jVkwscT z7)g<&j%KEQM0zV)#rZ(c6hb-9CUD(zIGoK$i{<=%I74~*<}kt$ieShW>|n(9D*K7# z&Rr6-Z{a>FqJ)xBCqY(Hau(4pFIDFwU^z3;#~}^T%@v+-BQaY*($FpsoItsPGaY6= z@H_lnp09lSroNh}SoPcP)YA;oze$SoA?Zeyc+==@e)~-M_M+c(v(B z1%ONJ&zSoOMe!HCP~Qn3Tg6KXQTkuZ@G2j9*PhxDaC?(@7I1k>>=DU^Ly>qq6KOM` zb1L&>=NtPc%B66EEfyt$8mk)g zNvx6mbxDDBelFuxs(*8M>}7Yae9DCaaAhM<|iF(>X} zThE^dX>29&ND8?w*7o|bnzwOb#;vPv&h|tqA$_k zt0FYmWp75u^j3I#*2N`ZUmstQ4J)@1n#w(RJ7}x)K6Z|vVb$e z8{P{%B?>(5b61Yg)(zT0+ORJUPT4`ae#rSjwN$@Hs1PmRejy9SYPnE$t`@-J6lYLd zKaKP3q|ZNjr`k1ab94kGu4Fy#20q%nHc8D~sO8EcF<5Y4 zF5Ry*BTh41_+C}y#jo0fOcuf|yr2!4Q%j$pIrLvfk4%UrDw+&;=yo8%B^a8wT$?zH zj;tTd-{HmN0|)gO-f`P7{t%>^M-B8HF~`}_w=T{Uf*NQP-_Hw`!A#G>pf@drYQnNX z3!pivt=MfXBrInj4<)yGV?XRMk|%0chxBpZH!MC^RPVlAq{gtmfH8tjT@fYvOm46E z^ZCkw-d=&*SX_PJcx*d|agr~1v5I#0Dt+3oWWL4HnDwOf<7GGH49-7l!?2FpR|z@8 zh`V49gOAu-t!VWtA6)oQuT^+^`K!KoP5v^1j*mBr0h@W+I)3gM=|Y~d)?HHRzjBF| z3@OMco-5}?t%Iy=Xj+4+qL4ZB?g-mFy{}#orWE-7R>s-<%*t&;T_m-Od@Q(eubaP+ zC^~agWYBw4h5JlWYLm*4NPte5f{Fx25c)e!7t0^{Gk$ZJ>-G zaI`BMe*03AbRsP}5tdm3DEh`EP}08c-kk*phuI*EA?&ZlnGc&?wJ&b>O-YxI6akj+<5`BcHK%%KtK*!>BmC+zSqNS((>`tSLYxoI9Zvi7FzO0Y6)G1Md4T2g{ zfxh8_s0X$ZO9jD8?c0cQdMfh$WL}5&4SJ# zkw9%rgu)z#YVmP5L}-R1r6qR}o{dd%YKWvc47Q?1!A2t8{>9AkZo0jD&UUFF?*kqB z{fRMR%gcl5Zqx~*2`d&jUhAos%nRjZaFTPn;nG>7VL;eLD@T}%0;U_*xTq@qjy?2U zm5Gg{gnW;pNO9nc3vQ16es}B>f(-G(xTU&o42rZs@`GdzVmTemU zT#vqt$xhS~aBT(VRn)=n^wen}-J=uZTlRFy>=j1)aZ7yxmFB+B&5S zH6!Pa;z^Mo99scpJX3&~r$uQLjW@!idk5?3fTYoPc?|F6XHYWFy{dV5dcemp zhG>XmHXW2jyKLrR1MfqECK(-gz-zrf>O{%U8^nSGl)2S)@z1|ANT|O{#M766sv0s4 z-8Ys{;->OtK}!!=4v4<1;Smj3xX0G?!Fx>1=sAI|&n~`EM6k z;#ir=_f*nD{a6BNL9dt7u1Frp`_j!4PuL=T-+rx~?*WsKsPH;={&82gonY6f5v?tc8Y*)fkO% zwz4bLl5A2MLX20aU$A)1BlwZh!_brpl=-sz-Pa2FOaddCWzfMbZ^)n?Bu3Kli{fg1}Pm(85_qQ7Z|Aj(qbAZEXg)M6WrQkCYW zpYJ&|n(tx>8$Pc%8M@PVhV<8;sYOCJ*ZIa*3Z)c&7J232aG7Mk_`g!-YE6bDSE(SfXofU?Y}ZLg5PN`meZe5puf_v+>!mnN-c`Ijk(YV9mcxfabMuL6^*x!|P=k}kk2;3J zGOS;uUbI{1acmnCuHY=ZGFGLF#|*D!Us5=Zl7rr;=#64$tAV06A_7jo_=i{wgnboh zuEJ}TNs>|y`#E17Yy9raZ3B&SXAxk7$n+oTck4TRle7RJOtkBkGHgXrNL)2 z3_z|bn&da$_6_%lGsBsK>AueAR{^N;Bm1F!zAPbIv_4Ud7q@9@_JL`V6_&0uXw*qpJ}l5ZIXwxS_6?eAyVAd|=*^pcm6bqZY%UP?dmN1w1Tq#O9o`4*hU^3L2* z8Mp8CD}aWnV(R+(^sx4{{fZsLL2@W2o0jxOEGnL_q@E=ACP`$5l5z*y*Zo5<jt!#NgfH<|n(Am4WCqJi ziY)k_Uy@nq@;?gO;}V>1>YxBB1fpb`M@k9Cv{nrZs+u} z_r`gEMb3t#PN_Z1@UaqUlJs{$DyyPEZ6&TBEZsb8WpTf>3MtTC0)oJ#?(5@p8 zet)CkTL3+YTyV+Z{~(jD6%q||6SXFg@?ejjND@+xLg98LjhimrpcuwIctL>KueY_P zkpWBdOu}(C58IZdnnOr6O-AJHDi>4w_2Cpc69>fnEs8ll`mAn&H=|$)4>)15&;<8W zi*AeW*M#Worov+gv%%>~hU>7^uWCthw7`tSYl6g<1KOg;kGsm%tJEPW3f5;gqA z5%@*3YFf1}Y692y#uRb|sA_b&7PxoiG!wmIpeOT83zyZeJ#sBxMe>^+1<_h_LNLt4gkQ& zDENL?g}KPYW0h5RnDeEYVoK4v!ho&y>6a}TMuS&ic+kchOiVKE7_ zJ{|miWOA#zB*LHbl>a@lOon2bHX6Wc^X`4vUnV516kOg;1r0kwIu@nt36ix`8%q0R zazFk1_B$R^_J-Jc!w)h~4oc?b4@^*^zF_QbA68MpJgw{yh9Fb1g zmkY}DtqP&N10`0mC9jyvwC950$P!%`G0JHiL3u=P`%3%gHeRwn!z^958Z0X9Mmirp zciL0>_l&oEogFBMosH>Y}Phwt~tHqv)S-Ge072i-MRTL9CM zX7XGZ>R28qPDcdQVKjOGC2dXhXK9rKy5Yyl>38#}7jnR4LaYq`-F95HfymC}Z`A-MX ztFbBf+ELyQtT~f#}Al-;)3S|1Jz3a3GM6|1>Cy-g~s$= z&?DrAHq`CSw(N1|yJn3)qcM99U5!0{!-G^v>GhTjKa3&A;|c@O4U;y^DfsWIh(|gk zK_xBOSwA?G5GIABr4rxr{Wl}i>!;YO72D@7RA`Vql0=oWq~c7 z_k31O%)hWH|MeMz-#&vfSj->)WIFx~ ziLW+FQao;BuQurt^ZgERf9|?zYM!XGCmTby??Q`hfsFJvJ*U+9|1o*+utVxT%H)&o zRCJ*KFZ7QU`4vns<9G~#%t4}--M!?`{{)z2D3M(C7b+`tYo~#>5n&(KhNgnjAiuc< z3sO{2JOBU=b#wz=rT?6f|KlE;|DoX_jBJudZ4241N>LY$8YsjQEZ;09UM?dZQ`7rx0etX``w zcy+qpg!&5X7L_&tC@lWxjY~rVU$Y}i3ek~Oo}Qi-S;dcvwgVTUq;Ud}o01+tRla#Cle)L0R0O!A+frI7^D8~e9NbhOw(^jjSJ1>rQ@$%sD-5a|fybe3rxV`<@5YLNmY9p}i>fnlIs( zfL(KyfO@TP4^Y1;0^Y%Cpxz01upJ4uHJ`rkzS+5`e(%qYdj&)Qh&up3I&A8p$b5eS z;v|y*{N`h^Lilv(tfSf8^5R(;x6e$p&sZs2;M)I<5G{Ky7x?(yKDxc~!C&!KBKz)S zOGeFM^rGRc8=iim^Exn8(GbhpV&u3@yttTL5MvF)?O4**{8X9DtoM~HhykP(rWgP0J1OgQ0c^ddLzls-) z2DA3n-JkJcf5j|MwO@bRrv14z51z9#(Wt!4$v85t+9!KYZ=-sNyHCQK{vph**4Sg! z^j2NA_(&pA!p8ykE3{6?a-qS7D~!PNShH>3&?g`oTfLNg5r z2I6CS`xSeMp7!1cvV(48ywiKlJZh(xgj5~xxfhF)b8mCuM4T@Vx{f4mFO5n|XV@PT zX7|yVoSb$)mLxvlzO)U+p8d_urEWJRDjr*FESmV&=b%&}-rtgJb=Uh~OE95LzxMIe z+x9SOtrWlyM!N&jIP<@Nmiy3-vOZ9srU_hs{kaf15c@w!LLTHdj@chPml?5-Z!W4R z$Ww+h-wQu`(z#vCC^1(}CO+rg7ForKGOh04-2Z!u&~|UO*rYg`y(3Kj_WJgqc1>Rl zmgvOTvz_v0jH=od7Zr0osr_Lc*C^0Y1|ToptM49)Q%#pE$VDa@RA_k@jrVPdogM+~ z1sVe(&H~R*+B5vN)p8PNTL8HRhCt@@8yyB7+|C`r+Q?C^@2+*vnz+5nMJ1hXJt!T^+VQ{wKM3UclIB zrMz9ZS*YO)d@O(?wM$8q{KlF}=;aZ@E@LE6xAO%%8g%*dP~$kP&|j3GOa6X=TQT$igns$wVC9hUbn&a;EBeCPZ3=LB zx>({ITh~8ik#++qx3kZ>rB0Tn)QFn~>M))@d`zgSbIsGw zdf@#g^_xCzzpf3!+IJ??$w}1rztGx7(A>Fyyhk2dOg1o02duaLc208j+@Cd_Pl+46 zI(}Be0!Vd$;GXxO-)ty~SH5Ui1%K`&EF8fVg3(p*=@kZGIS;(+#&)RzM)~_g zgC{ol>Zj-0#nNC2SG?eoPFbVY z248m)H?nT7>b4X67p$N$vM^M$2z9Lfr-D)mdTi-GqqY~#nRCByc8g}D&2okv+j*a` z?VC6_14e0Wof%OuH!NR+)&oTPzs;<@AZz-b;+DhsKRS}u_o>cul@fl z&RtixY~_II$sIoVVr@A%jjzp(B|WXlyILbXZP@hiV8d3?t*%y*hXbw-(1+xR-fx#v ztEk2Kx!&k}Xc*24y?O~GM$YP3x$iBax_FUN_#W05-#DFTxlWCyCjp{z-@Ra5KXaIf zWN-F8;PN{UI}p*|EXz%DN#g6jXo#e~h)|NCv)O?mI_Up>BmilG7kxlQZ2hu7k4i#a ze&hlN*%L1SD9xM_*^C)viuE!Df+B>xrK8jO!B?ta&Szt24V^Y;RF}P>sQqV#^Qk%KS-VBg1gAG8H{cuiI=mOi5kGj9oK|VL z@vT<0GTAAW8C?5~bbAEoGtI!*x)iK5lPYVw#WcfCr41sT?|`ML?Q>R96_ppJ-=3P; zSTYhohQf>z-2Z3{d6_UL8Mz@BkN$@Vn)q>Nryfh~Qem+&$KngpxPExuMDFwUqJ$_o z;4EGD&1|`ve;+%j1ZR0E`^?GdiF(;9Nx<#v!d~}PPow^CMy0OL+YQne-zDb^-)_J0 z{Udy~jlfFqd#)t2G}ykpZ`tggA)f!DH+yaa`Ki8q*}R0puwfu{)}LBJ>Pp!#X^3(( z1tMd|HCEN?#b({Kbpj}K9h#@7(NZ0=P+OLT#;rK2+i2c|oTS>#eK)IBLH_ZXSmzwH z^K0!nSWl&RxcC-WjNgT%AEITu&8l$15V)efFnXQrn`RWz*`MC5o~48_LQt)NM03rm zf%i(!=VGc-lhyzUC8xdJxBjI$KL2o9sing%w@`v*f9dAl>b;?b>}Z^h?Z;}ZRm;kx zxRH#tDT86$UVWG@p6+3`RUruy)FQ_pWog)uPxShbT7VSE-6M^slsh4_BAFZg&)N*z z!M!GTy6P+G9Z%ng3p7)`(aPRV;Qji*hY*ha%26nc17EfPN^kD}^#vMX=)`Y9Q&x`H zU&6X!yMzyMFgEsARcYmx7g@(fHrewT{OR$z7e&n5$IQ#Q#Woj&!vdQq$63#GU+mf8 zm6rp24+~A!b~u2Ig{c-$N!=fabVk$j=4>(c&SG^|-VWgo`uRCN?^Gjz11DsrO!Q+S zKC&J`)n9Gt*|N#J(2oNs#EEga>emg~rhsXa-^=yD7zdrAJUsO+C`#zkq>u<%qAIpz7GGjpt1Bcev>C>8a0e%5B zek2`#mIVYf36UXzHS|n_wq{wol@ouGmo=&r*ixZ8_u` z07P@1%@;7)kH#Rmp~zept;trfTDn^*f7V$!>Wm}pPv}sH+1sxrvBsg^q>d8o_)*Cl z-Nay~v;Cm_9Xl+Sk!@v@r96W7Bw(fvN)xvkg&Q&3{`zl0BL75tINQv*c5Bhv_tyM; zL}Tgejp{bI9Myoc6|~tuyrL}G_;Q!yPrAcb-^aNS7*Wi}5kTVg?i(|ms!LkMy=2FG*$^PWQgi*z$vJal00=9EDuVP^DPc2nz19@QS}4L z4ytOGZCS`~>_0n3U3DDc*f*WFPYY#L4KekKkb`BhmNil|vxpyEw~?;uFy6-4zHV0O z)8lnkNiwuZDSTL!iZ9u7K=)Cz56nhg>LT7bDy#>p8mC%q+2~{EMj<##AcDT)pipCgm6LMw z(?>qLp8g@L`EJq)#Crw?{Ew%_c4KBcM|~tOTDKz1BSTOnDwOvUQ+N=~;OfS6jxdKR zFKvrb->rGvVzQ%N7ZBW%<(A|C7DBncg)-m;wNlNE*skmky3_YM!;)Y{KI+qnofP^} zRj(6!t-F_{ zF0+z)1WKYE+a8m|5V(hadwaYNlIIbyFK&d7>a;c#?uVSPDySH>dR#%AAhP>lgO?=! z+N5${_`~qibkfv0gbiIpnElf(o}u>7@`~AQsd4RIxKuEHqF{f+87tKT zspl^s(0-2-QTvV^Qu0ru+U(33-7SpyU}N622#{?ehE*2S`XAZdNRZ?fmL)aR7z%Z= zeV^d*fwFL6Al7kWC=JdqFH=2TkL->aLKSbJB^!l?c~9lo+Cp`r|0EXBeLVST8T2V4 zfR@p20?i_;-3eMh64Jda<6HPE{M~WMW={n3skUBz8dsb%kX&OirmYAh+O_=oQ4i6uFs3lizZvXREh*F9_j0ASb18TB3{k?I-3Oi zX_lD(@cHov&3$)hDRDQti|n;pDhc`8TSDNizLMSkbOjLF#bXFAVcK4!YNnse>E4E{ z-Y&G1;QIYSc4(A(yxw%Bl_LkAsq``VBK5jO6u8J-iQw<#KHcP=zv0OS49uU%s10&9 zF}M)1hpDF{_%JPb5y#>f4Qtj7kt;zLmc}*XX|O+5dkSE#cG-cif)BF6fDS9piu6Nn zt)iAqTC3P_g8NFtEA1LKSqL0KjiipFF@|V!aXWTHE(~EAy$?R-5)Q=MjxUG1JlhCY zYmmLAEXi)}4K1e3r;!^a-^kp5L))stxPrZ2n%L^Q&wObDQpeS8yVCt2TVcLl&R0ewL~@jeZt;iCHeMIQ^m0EU%w+xY2MV zUVDl7JrAF$k}SW5nwVbF_mG|BQpqFRq>x|Q!}uiNgNJBfOQ|wl$z_N$YpnuSLy*_# z2L_C`x-xB$lG%JJPp|6W%0wq4u;F*p&ZkWFoM?;5+%P6T7`?~M2Q6GHu)1Eae{7Km zJ3}yeRH2n|+p%W{wS#77b|{cw$JY(2&;i2Q@eQY1+g4y$Ty_&8`M)y~Gw@p{t{p8n zG^K9HnPK?Q{3fv>9D#u7N&Hy3+`7E)JNBX`9Pb&}Q<~&U<1`={@5CH-Z1vbM8tsul zMlA(orfCbFT?ZzN#c6)gKU?lzWUDLkOe(+-upmg#SFRkk&ecM>M1DVhtTxA87FMhj zJ@w%R)LmZJ$NSqKNaWnlNk8Zw00+x^>nY>Uj^DEC#6L&4Snk=Kr7NsB75|TgFd2vRLGmeM3%G%q#4;=A_uDv$c`kHV=9je4v%tWRs>=79oRVT0! z;8_+odz6vXGaZJ9v9sQ#8FT~ZwB})G2%#!ne?t}sF_Wi>)%81&TyA(9js$0h^y9hP zP|#yp`Y(D7xo#+M`)G4@+AeyeG%F{T_!iA+1Ts^N$zDn?!=>Uw!llBIBD>YSS=7Y0 z7aDUet6nWBcPLLJp3x*2AX-2aZ|qCK5;yr<>zMdnwpxmD6WKtJMx4PDySM z576Apu@IkV1vfQCxSr*`H(+H2&%q0Ju^fPY4JKYNUqG8ztydSsd0#1;I7>Dtu8`Qb z1wlxo(6-faoOkXN_4r8)VcYQGsBv~9l}f5j`RZq;zpRrbL2Vz}z11XztQ1D@%$nJ! z;and%vhOZuakqBd*N@UEg!Vm_E*ZK`;hr*ys~080#fv?Um!im#brI}==|i<7wWES| zvrF#T0fta5O`yz`;*M5=gZY{v%@Ty(#?$zhIy#brI&26ZG`I9G@SfR-f2u%TKp6#x z`&ZAc%px;4v!hpD_Nm1EC?QE zz`Zms@y&U$`%onPy^%YfU>*B+T)|5==@^SYA+Uil9Cvn_h8Cn4!3pjOCt-)EUOB(A z@`Muaj?DH@dLmQpWMM=LJubMF0%rb(u&C6r_jIP7a2Vz=lRxrCR(Eo?j5G5HZHah$%OQs`K01Ep}%!an9i-Gvlj`90CI_%pl zS=AEj>%ziokv9O)ZSb|SU4=)Ob6}i{wl4mK~c3BO{qWKLB;XFQtA~KGW(lVC9&LUlCyEa5V9N|ITRqi4rkE1`OseoqMy=AZ?qFqPma@%pvMS`A(8uIS; z&wH{OoTPvv?bJtmzlH2_n9zcC9NgB_y&;j&mgVjiAlJia^~hP6%2PCC6#!3ijG+E+<==#5bjJtlBp z(*fx^1WecWMLwUnqY5TC3$c*~A$%_g4+lpb=fZf~$k zxrM2c7k}+c&5ebpN`sfycxaPq;xU>UbK#m*&YgTIzI|MXmlhBHZ6ZQ_AoS*->6ZjZ z%mFM`YzjT?oC6#HR9vOpuKy2S&wjJ?(4c7O?oTdiqb61qYV$HvZ0DIf0Y<3rpO=-I zcVScyo2`8xY`4A$m!3{gy0Df1W>Pk7T{%#w>eR-kksoxA^chaPEM&pi2M3cOb`bQ_ z)8NPOPk>*sfu1D)ey1lkZd#D~P%S<(Nq`H+BkF1ph!fpOOF`><#&uQtV>X(_H>lRW zDRi5>hE3C#fN`@i+JBASYLlFZsbOIibjnv$J@I7mgn?OFKQ|u`z%FMb(;UHwMERsI z5D@X%>BL<<<@S#+j(^9k*uG}*(UamBnz3A9;N*yfxYA5;A&C#-1s6Lya{Oqdi8ns| zSn#5zTj7P8Hl(@9mij8g=Q~TlDM@(32EWr{0|**`FGCUtc6d!6hhi*Cr zDuyBX0M(1S8MI^FY5n-sG?}}fKBTKNQ;UP}P7q_7jn09i4{}*GR!Wjvw;woU)Be`4 zZW;~hIbl=NXN6HqQg!w~SGDA&B69(Rv(7}BF~$&`+fbU}RR&3xeL(2zYHl!_;*v>7&7)z%TgB>$I^si4`a&JqeL$b+wy-B=y9fEf1G#8c7Zyz0MTeC(}>UH|7( zjUNcd9R^QOM4FKcvRj6(gJ_K|i#xqK+~g_4L`gMT)+A>%tf)|g~M}{YG z&TL%S|AURfaYMsN_UaGu^SlkTL}JtT=B(i;=afe}rI2xYgL^^BTKQecSQqI1JMzf~ z=Qf0XzpT^(G?ep@9jzUz2ygIVI(r$ll{N+WyUE`@cV)UGJFSDDDESb2YXMciR<_ znNK;xsa3+Kgdy$9{sBzU@70^5>MPr+H~-#IyhVMRD2WAGsRYwTQD@p&^i^0=K+ZOq z-uQj0RK4~YAYc7D7FUdNu?ApIi%T7adqY6x?V!naF{Jknp%^8E00~i6RhJf5eLGHl$=CU#!B5u3aAMQ6 z=|B#vcWj{Eh|0;qggIuTl+Yg{V-TlkRkm>EV=;?2u+0dk{v2G0LyTI0+u}5}b>IY| z3$LQeo1KE1I*qua6#ztk`5JbPn`wS#D~1xVSS`Wu8^=ex-zm z8C%YOs3f#j zrykwd~3Zl7saO9Fs2KT z-q32zkhs-+=Z)@LmNdAoaMCdSt!nj>ve6&qJ42oNx|T`2`qvfvXaUKMoh=YAjR)*8ag#z#HmX}#U(FE*@-#qgFf zjApCnEV)+in~D;L;PM;9=+URgNS6*pf3odIoq@JTmhed0856P&*8yiI0mBiJ`EJu~0K`N<2OePDd z!aoNOfGUXXI1;)XMfJC_mN|MNv9!QtOr}nIj^tt$BN`H8-o-4dE+tl(pAekiS8O)W zx0y|(R8Z%b6Ik>HY7QIu_KdM6xjySE6m>l&`;->cTEN~cAr4q*MmW*35u_FJMK}TJ zq#FCxZtgLebgI8+8q38L!z2D`l#j7Xy{}lQP_5kazctpAhYzt^ad|VJ$SKR)hWC=B zvag#?eM z>f5fj1&73+LQ}E7Bq6U$`+!)etWp{p;t{N5UBw-y_`yR6N6|XrZ6E&1gJ>Jc|JB}?|3mqH|1(BL5k;2lDO<9ZeG5@`5hH6P$-WFG zhDemPvW&7!k}WbQ+h9nRLZ--`buclE24k49d`GX(yO;O(^Dlh-=6>9Bu5&-nbed|1FM_GdA%)D<8rFs7uWtw1kHRem1Hr!g*$gGiy&?XG{CDw;NmpN)4$-a`*W`IpZn^Ki5 zPsgw#cw+D3-+twW3Q{$8-!3;_sgL9^xR%jW6OVjKcOY_Z(OGwK!gbN*(5t@~Hq16GYGupbK+M z!D-BHBP;$Kh;txu_(RpznX(0chtG?&Tglt=@H*eFDu5QHPh)YNS4-<_{BuBbtP;}7 z`@>0AaZ3p=@tpX(nz^&1BCmHXUS`zrCcFg~DR@=%FV2G^-LWN}FWYf2)+-tfMZ2RP z5%LucPgyrFa-S?px|-UcAHnEL?)c!Q(HX13%+v0}7 zf{Y}?<6-N&ggZ^o(T{U?Eq_=Uq!tL`Z7yJt_G3VB6`;%ez z?pbd|k7|%o&EWYaH(umaoXENdyf`d{@XcV5chay$X;mb)##nS1s=5xzjn># zhWOqzPrO@9mtTJ{Fn756^C8`J65w8fYM{gHJ@{4dX-Oy!l0wk%T zYf{>dUsv~cI+rf|^hzO1LYfNKV|#;ekL))@FGE^gJ@LRMVob@+dj%IObd`V+zVyPx z*Ou$_LC`7$C${{v!zeF#`VluEL6q~vGoGk}7R&hcWZHFh+dWB*whwr5`P?wG{mUQe zXP}*0{8#cGDP?k>nrU^K6x>kFJSFl?L9oEJWSnRuc&58e{lrJX!pa5aHDoq&+m)#s zv~Z=H&65pK$hzR&p3wEQ%^E83ZLfERJ&4P#(YD_p{*Bco+s&8pSib1dSi1G>&YKfF zZ^MUDDJBrgt_0Tljl3Tx;NmN_>&iN$lgpj$vC0R8vl{>8EV#~u9=f^)+n-2Wa z486eK(W=v?NOuJU@uRhdjGVwb!I>Uq>V5!v61>DWc<#LYli6o_ z9n^ZZ(#a|*1Na$yoRgoOMI6yQaGhzkwOlBuSAKiFTAOG4pf`SBjnc!7QGWB-|d7+*N4Ea85 zq{6eUMvkhyhg!WX-y${)TB|Qo#K>`-kQ(f4H*~QQ`dFY7!|ij{oju@$oE;{q^|ME6 ztD9+HZCQ;M`y1OTok7K`4xL&)O!>bq=Rd5@lD{G-;a)g59Yb4JQ3&;T2^&XhYJxp3;ifv}ecSIKa#(s#gR2Bymeoux8=h~Pr{L1&J-o)?c z5~7=%-*-BlBrLz%a-qLyb~csd!qeKe?*bPT017;u_*bE{itH6$0+5z8H`#zM#lu^< z>5#Xd`uHBTS~J|p)DjRuOLw=mhj;vzd(!lnGMLYv#H9R%r!}h-69jDk#(Z3w;X3HS z{ugmXPUGDF8>ezpXsr#ejb_S|<>J5v9iZx<`yaCYXZP`bzP64@oMBd>I(umnyv5Nal z0~3SxsiX9q*FG>Uy4Cy$%mg1#*9-I20i})IeTJWPqW>Uo9A6@&%Ugl1zGK9GPH@Gb z8CtC0MoH>VP{;>+R*N_$O?_1z+B>LpO%{Cp6ZA0M-gniABmX4*+itwxjGE?|v)4U9 z4(ZA=d!UhA_ArsKGVNy-{V9ubcRb5NI3Gog;de|*!B?i&X*KHAqLN%emZe`6WV@Xw3T|TTW|2a)o97U z?`{vYfOa^Aca+;Dvv9^cRdhjmp|GxLk<}BrK)hl25W>bydH=TW21I-I2Dbr*hmQD& z7fWqw0r3ZayZjE5b*r#-?F4gNdh%!gsDne)KxOJdVP0nL@Szgy9rJM0OY;7Se{Pcb z!ri?pn2#~U7|VD`6coNofJzn#Arss5BWyw{(7o@&Dk@j}ZR?#8LI+Zg! z8KgASnx%M6K!)6~=gYZa(;P9P#mTBDeO?aCmceDtah9@{1uo!=*JX;j-u%>?uP@tG zcHZmL`DmdOStxwANelTID*Hy`TES66pu||C5q&fnU|g5r?EJ*DYuy!!eecSf#bK$@ zagL*7E7u{7t4FzeGwD_H38U@jSATMx$wV$SIr1iubf4)@l}a(eQUW<2^^5Jkc`FUV zguV2nNkT>A2%Z%=m$Iqx%Me9NH=?zbY8SUaqpF<9CXlkDRuE_6 zLJx5^QT9t_#{W*cyCG|LqnWAtiTCsLPlb_kkZQGWU^(}@{_Gn5&e_S?VAD`(~6QZ&{+XFj0auA4ip><|kE8N)K<3O;~s6X}vG!)et8 z7eiJ~l&MyHkb|Ac(&D+t$v(lJ>DHfq>DV29AY*<6ZxFU0iqMlLEJRYcl?;{&NyJ2F3`cP0c?|2`M@zoxnV$*`Oz#y zgo6<7ZP1o(C;0L0hm!NR^6nMad-t0!tzmgR<+SXibPyRh%PRA(;EUold{p^9 z2Q`nwb^()1 zzplrctJmp2!sAZd0?i~$IlNZ**?2*_N7KTHi+Q0bMgBq@qSOnhFUgR_RGH(M8spp3 zek@&+1?-k|ouN~6bLwp{(Lh*QTb^+Ad|j}kvZeu}xULkT$5iR2DD3y+r0BIdt)nTU zZ&@r<6AdY%HlNgbZl#5snUIP`XpE7?{ z88y?cndDXn9UZ|3=^3FgjRkJ2jp8QPHFxstdV~KSLOl0r$SAbfpx6@n$gZ8D{Mj)Z-$9rz9JAT>{(XkFqt1pu4cHDZdK|Dxk-kxWQQ8Hpp2b8N4 zVoQ<6@a>0?@%j;~c(L#!)BX0G)sk!`cY{mc_0(-8H6%g0Y@ML)ZKxY2Ej(II?>G5$ z{WFRIG8^CtH9Mmd0~^rpt|NThvvIx8AL_Ab{-`{-?7{^606n+vR~K|g`bZxAP2-8% z<_SE*I0Kgokq0|g7Y(cjFSnsm` zZJ6{i+a_)#7TPO5ISf@c!RCa}^w$X0#p{F=9PT_3bV%btd>Dq3*&VQ5$9 zz$&2h3%psTH6D7G(Rb*pigL_2eh1`Oqn_1m~_LLUqy$tuR;{E0A z_;TE{nLqNDs71|fx+@Qq=71v1q<}9vO-Njan;j3~@=<#Y*~SV~*Y25);6%(F3gw^^ z1HF;|K> zQZscG(6kI5VPWA=T%0bt@8=?ucO5?T=0mLOu**NUYHxa>( z5bx6!QhU~ub@4jfzxrRD9LhFG4VZ-vY`M>*r=;Bd3f9IaAL;q_ax9$In3CLt)AYNi z7`XH|@uW4!pf%xv>O_Rh&PCA&5mrAH=|+o%I0v5KOa};JW&`AWzE-W{) z=d@DXcj$nd-Tit$r%&{mOL&1uFxCY#E4`sxksmFXwAuqESnviusz-3mSnXlJ?Zx9%e+{oY+jmEqu0D0 zOEHx=a@K@p^&n;RKVtop{B%c|_6V~F=h$$T>L zlr&N9st#_v))nwy!zH!q>bw%t2;((d>A#?bY^=D?wMtvDyWa!}WM?YIA=PA!%Z9_{ zkxm0IeTcYsy0181c}|M~yaxQc8>O2Fi&w$9_>nomTh;CEld1c`&SXxf z;r*88M%KX#Wyk2ys||jN*d%1~OLtGVGo8XOo&wL=J&ysxN{&#UUU80jrTcnKPw3+H z$0b^W;*5o#CAuG<(2nJaetx7m>(aBrQwF-1l(0#mgr5zX`#}rZ9up8UJ}3{Dv#x=! zo0)7LzPVqs>C{qVh@l{GIra$r77A9Pafx7|O#*`0g>@d#(F1^>UT!c2Lbix-hS}B4 zp=3ke%6K?*x=)NieRqD=SB0v!X`^FqKKCA zo_dvG5~M{M2bIto&t?8gm|Z0bVCCG!Rx?a;o3FlrT<1Rn&BZ~My0u7uB;b5|6g8}3g)|%jfu&<5aHlYpeU>Rz zW>K(z`Df?h0+aC@f$gR8lrcQ2x{3A?wMgGz(4G+mv5Ky-CGfmxbn{-UP7`~Oa*19Q zjO6YJ)!ewAAwLi4ghOa7J?3pp*{o{UsqIqjluR8f@|AVNqEe9K1sazOoP{8Vu<|x@ zSsb3zBmSWwVD6krt)MP-+nLwEtK7&v^?^<0Wz-B3Y*^22ql4f&;Uo?;^SV5H?#tJ; z=lIf*i0viTC_AAb>7IE=pEkbQLCb3>1LrM^pG654`_k&#{UZ<>fYUoiO<Y{x5-aw=A(Xa3{%UyNS#k z4gNhaQaMDH?12r#Aloqu>jozLmV&50EneHq_@!=2eTrz8w$ubAR15R2rmL_D-DO#E zNE|Ar(dV3t**Z1{hav9JUup}QKQc*B!NhmtubbW#MCAEQV9UEEsIjfrr@U!+6TQoC5?lxSofkmcu* zU1Qz#YxjK-YBJpcKimWcj}LoAhEUX&}B8(9{Fm1*c#=xE6LUo zKJSeQs6H4W55HB8Sb_)i9UdgNwI4YiKTBQeL9MCXQMZv9@5ZB?CqhCJsNp!VlK|ow zRv+*9%#adu8dS?Qj@2+?L0a(pNhk&h|~ zO*(cJl(f}ujJmyU-<6uNuKj?&C27Sgu}j*mC(ywIQ7+qK$!)lqibrpjU<#7HqBP7& zUsXK*=avNO6Y%tP=7I7ICpjup2o8-Cs)0)QYV~A3XF_qLY46#fRMHI^z z+SBHJPgZ?JR{~0U2N)lqK<*fXKvd7-hLTIk$?{wX zAN*#|USo)_lt^WA#}n=%KaL4o?P6aEu{_OH4te+O%1VmYTP>)G!#~=;tLP!hVeFSaV-dX!(?dJ=&VIyR?O_N24P4RN!uRyd8z+Rk}AN;IIM* zL5TP0!plF4)Svkry~~mHo{1;H?)ntBdY#N5br$!*-DC>t-HYCWm3k?NuqSdK)2fve zyg6MJX-pGf{L(CR370&g(Op}OMmql(lvnNh*1#VnVW9cnvRfRc!pt?5I@Nq&u!W)d zby5e$vnLC^K9U6^Qmu!*b%nX)xgv9u3E-AOpY62_%y(Njh7YHp)E#geQC~6MQ+qeH zAVu}9z+R(Y(#+ipho$$tH3vy9c8wc5u-I*0C3|Om-0*TCEme`!{-I!9VduAn+1S!Z z;&s;K7qSi$lf&X}*hu#s3s`%HWvyYuG9OJ}vkJzDE!0ll)%=V@a13yPabCM0zwgTFQ<aexq8P z93;q3u=fWa%C7^Ow+_(+4snCmE>Uwvs$6kdDZRm(vh^C}UMfsJZRSsLo<%(96 zGufP^?irq7mYfzqf*#0)YLm&%1O6U%YiLvhv!Z+oF1!3q@pib@o`pj#u7Ln2LG#qj zI@J&HRH+WIqDD6;zEJPWsaKUJIs{>tRLjSaf*wLWCjp{mr)B%p_~s&JiYR?gda}ZL ztBBq8IsM>>&L22*z!H!9zxV^kPJmH{S$r*v_2^SC!c)=c3qP)byaO_@^V#nuG4Nn1 zCG708Vpq|kq|`wEAd0{hO7@{yHw2_?vIntbZj9S3=ioSl${xhFz7wp=SaWv_6>WaA zuU0kBfPr>48IJn(k#eeVNuqIwe!X(6oC?{`5w{OrKDV3MzNxu>jY>{#NQImPDB50f zDoOKBSbvnGXwcbN@bw8sGJUt&cag`vW$pgmWrfa5hqRU|TKPn?wO>B7lkDl|nuHD@ zSDER$e0N_#=qN`@Ssv z#$q_yG0pj5KFrre!wv6*!T9SQ=mD%c9w@hsPA&1f>iZO1JL;M9%sWS;T zI#e(I0xv_#U{{&B*Kw>qIXPt8)$iU;U~iSD-%_L-`J2JNL$)p+?VVurUMj7HwfLmA zNXD;gq{Ox!u@QG__wjw*!wt(OUrShvw8Q-uo08E3W5zi{u%d-V{K`oH-_4I$)$EpsCx%ZwWe3|5I4OhsGgsMj04V$a zILI7GO%QrV#exs4W+Ej+n5bd>2 zdu5`~&U>$kuDu0H(svZ$oUF<(r}twnQ~PU)6L@Dxc;L+YGIRDFLRZDt(_Wt6j8`?m z=S6;J4m%PisriGUWZNTATinAa+m@Az!aA**t*%5H@~LuPuTng`y5 z3y#rg|E=)^ldaIo{*$S&58=yWUkStezlenXCB8ZBojCh6fc*Ey3a4LAo3jrIqoGbJ zJ7K%c7}Z}+8%+-hUU@0}TltWYxzQVhGRTQB$Dt??$ADADGuXA41 z+Ib?5N{yi0C-*U-Y9fEkFtw~3k>jX-<}n+l3X%FE&)EW+a9w$jtgDNOWq7A82W?r4 z?0@{u=$kHK8C&DcrSZD+^wj9vid|EeQW@wXQsjgmn}W zI?9A3ReG@7q0TBM{wA7wJICmWq8tJ3Vmp0<;ygtuxCu?II_2G2I9rtL#}O68K9X;O zFKVynp~wumc=hJKvlb6OnBmVCj?hO#$iGek)GO-+pB=E(htS#CYW+rhftmWHwZ7dI z_tLLye||6(*aTfzWe)qL?Hf!)^7g7at((G8TlIT6SPz?)v+{c;0{cxA4-TO)jA;C= z)u=8_uYF?%EAn@Y? zErdwKrsKeryZN)NN0BWpl(79A(MaBzqR9Q$9BS^xg?Kc6NlHF&r}4-_Qr(<$NS0zA z&p*`40L1hAnS^24pAG`^u?670h5)QV=q`mspj{AJu5fG&*}~<=3ohk_%|7|0{XH+L z+BwCRHFxme7$hHi*jkw(VrZn*BJN;=6dfdG;k&k;y}`{U6T&UqiFiop&NyGD4R5rK zTtAO0v#kiRt#DeDaYX%aL)~AA|jZ zn-A>5bU83k$Z1l0Y0Z4OMU>uud#&(OGc@A5@RE#1vtMeYx!*iubO7!)Px4`oZVG6K z#$+3unJyhfa;L1%_ZVtpxqXPt(IrAgN9Mlf{2fI}+@IJfkj>Y7^}rJO6Bq;iBK`e0 z7I!}hv4U5=_6UinBrW>x?&^;s^QLKp6@=C1L-$0PpYrXE>~x)2u|&{l(n5bBe;smf z^Xcg?=g0Yee*QzT0@!W3J0lLX2`6sd);Y^?M&3VwR9ZEH=tA7p-f7o~G;wheOJj~6 znf7oMP6H5)kGcLf0k$`o0rf{O|HqlG)TBqSkL103M&sK*59n&1XXqdp85EfT3KNsJ z5Mz)jj|`q({9Wz5DT`@lj$Y=>rqo~NhYGxizniN4oeRPBc}mh^CqQk+Aj zp1=VR=lF3D6TmqOlX2T`8icepkehSyh?AeqkMN5zq--uVz%g6P&UxV+0Cydy;fEcs zh)<$-h|wAzO^Sc?k2cR*Ll}?eHK8W>cyj+JV4)5HgUtzFf9Ua?z6&9ib${z)tPaa* z!$<{TrJWaapIP)G0k33vpZZv_z54TuKZaj3I@^5zIgWH6f92rA8_ztYuCGBAB`YaA zdo#skw_^whw68gQ6xk$b0@AmbyqE@X@2b8KRi`sb_#0bvX#^KuNZN@ND~vhDI~DwQZ_~QTIEyn7IFQ`8JRLD$ z-~wr(g?5St%cG4LzjmjJD9eP=*WtCA(*I)t|M0yI*nalyYpS>YffkQ2(spBc^BU$~ zZ`tSyA6ev+OJlH7{*MizIVR9(G!ml}#VvaB05~X@#D2@Gro8pu_Z$G#k$%40+JD35 z(O-{lp}gPc8HmzelsTF+w||UF9BA|^?PooI*WUn2YaqRI;sxb_hX=@~Fz$%GbUSu9 zOn$ID@zOI#-^m=)|2ypu_M)G#N*Ha literal 0 HcmV?d00001 diff --git a/docs/assets/img/p-4-vscode.cf022980.png b/docs/assets/img/p-4-vscode.cf022980.png new file mode 100644 index 0000000000000000000000000000000000000000..cb5e4ddf9948264aa81a40f908164a1871054b48 GIT binary patch literal 267759 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 A1ONa4 literal 0 HcmV?d00001 diff --git a/docs/assets/js/10.eff3fc5d.js b/docs/assets/js/10.2f1b2ba3.js similarity index 99% rename from docs/assets/js/10.eff3fc5d.js rename to docs/assets/js/10.2f1b2ba3.js index 8a25a78..5df9385 100644 --- a/docs/assets/js/10.eff3fc5d.js +++ b/docs/assets/js/10.2f1b2ba3.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{197:function(t,s,r){"use strict";r.r(s);var e=r(0),o=Object(e.a)({},function(){var t=this,s=t.$createElement,r=t._self._c||s;return r("div",{staticClass:"content"},[t._m(0),t._v(" "),r("p",[t._v("写CSS并不难,但是要写出可长期维护、不易被他人吐槽的CSS很难。")]),t._v(" "),t._m(1),t._v(" "),r("p",[t._v("在日常CSS的编写(也包括使用了预处理工具)的过程中,我们经常会遇到如下几个主要问题:")]),t._v(" "),t._m(2),t._v(" "),r("p",[t._v("这些问题在复杂性项目,特别是多人协作项目中尤为明显。Moo-CSS目的在于解决上述问题,以方便前端更好得开发CSS。")]),t._v(" "),t._m(3),t._v(" "),r("p",[t._v("多年以来,从BEM、SAMCSS等写法规范到近年来随着组件化框架发展而广泛使用的css modules和css in js,这些方案或者工具都旨在解决以上问题。Moo-CSS在这些基础上给出了一套CSS开发规范策略。")]),t._v(" "),r("hr"),t._v(" "),t._m(4),t._v(" "),r("ul",[r("li",[r("router-link",{attrs:{to:"./../saulte/"}},[t._v("致敬")]),t._v(":简单了解OOCSS、BEM、SMACSS等CSS写法策略、css modules以及CSS in jS;\n"),r("ul",[r("li",[r("router-link",{attrs:{to:"./../saulte/#oo-css"}},[t._v("OO-CSS")]),t._v(" "),r("ul",[r("li",[r("router-link",{attrs:{to:"./../saulte/#oo-css"}},[t._v("OOCSS")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../saulte/#bem"}},[t._v("BEM")])],1)])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../saulte/#m-css"}},[t._v("M-CSS")]),t._v(" "),r("ul",[r("li",[r("router-link",{attrs:{to:"./../saulte/#smacss"}},[t._v("SMACSS")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../saulte/#m-css"}},[t._v("MCSS")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../saulte/#itcss"}},[t._v("ITCSS")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../saulte/#atomic-design-atomic-css-acss"}},[t._v("ACSS")])],1)])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../saulte/#css-modules"}},[t._v("css modules")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../saulte/#css-in-js"}},[t._v("CSS in JS")])],1)])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../moocss/#m模块"}},[t._v("概念: Moo")]),t._v(":介绍Moo-CSS的样式分类分层、以及对象化的主要思想\n"),r("ul",[r("li",[r("router-link",{attrs:{to:"./../moocss/#m模块"}},[t._v("M模块")]),t._v(" "),r("ul",[r("li",[r("router-link",{attrs:{to:"./../moocss/#样式属性分类"}},[t._v("样式属性分类")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../moocss/#样式分层"}},[t._v("样式分层")])],1)])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../moocss/#oo面向对象"}},[t._v("OO面向对象")]),t._v(" "),r("ul",[r("li",[r("router-link",{attrs:{to:"./../moocss/#_2-1-组成"}},[t._v("组成")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../moocss/#_2-2-oo特征"}},[t._v("OO特征")])],1)])],1)])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../baseLayer/#moo-css-base"}},[t._v("核心:Base层")]),t._v(":介绍Base层的选择方式,以及说明moo-css-base及demo简介\n"),r("ul",[r("li",[r("router-link",{attrs:{to:"./../baseLayer/#moo-css-base"}},[t._v("moo-css-base")]),t._v(" "),r("ul",[r("li",[r("router-link",{attrs:{to:"./../baseLayer/#初始化注入"}},[t._v("初始化注入")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../baseLayer/#使用样式方法"}},[t._v("使用样式方法")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../baseLayer/#使用颜色变量"}},[t._v("使用颜色变量")])],1)])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../baseLayer/#demo及说明"}},[t._v("demo及说明")]),t._v(" "),r("ul",[r("li",[r("router-link",{attrs:{to:"./baseLayer/#移动demo1-zepto原生-less"}},[t._v("移动demo1 (zepto原生+less)")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../baseLayer/#移动demo2-vuejs-less"}},[t._v("移动demo2 (VueJs+less)")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../baseLayer/#pc-demo1-reactjs-sass"}},[t._v("PCdemo1 (ReactJS+sass)")])],1)])],1)])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../nameRule/#基本规则"}},[t._v("规则:命名")]),t._v(":介绍Moo-CSS的命名规则\n"),r("ul",[r("li",[r("router-link",{attrs:{to:"./../nameRule/#基本规则"}},[t._v("基本规则")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../nameRule/#module命名规则"}},[t._v("Module命名规则")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../nameRule/#样式属性及classname书写顺序"}},[t._v("样式属性及classname书写顺序")])],1)])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../nameDictionary/#module命名词典"}},[t._v("帮助:词典")]),t._v(":给出缩略命名参考,以及moo-css-base的样式/方法介绍\n"),r("ul",[r("li",[r("router-link",{attrs:{to:"./../nameDictionary/#module命名词典"}},[t._v("Module命名词典")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../nameDictionary/#样式属性命名"}},[t._v("样式属性命名")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../nameDictionary/#样式模块词典"}},[t._v("样式模块词典")]),t._v(" "),r("ul",[r("li",[r("router-link",{attrs:{to:"./../nameDictionary/#grid-g"}},[t._v("grid")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../nameDictionary/#function-f"}},[t._v("function")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../nameDictionary/#unit-u"}},[t._v("unit")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../nameDictionary/#status-z"}},[t._v("status")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../nameDictionary/#skin-s"}},[t._v("skin")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../nameDictionary/#animation-a"}},[t._v("animation")])],1)])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../nameDictionary/#moo-css-base词典"}},[t._v("moo-css-base词典")]),t._v(" "),r("ul",[r("li",[r("router-link",{attrs:{to:"./../nameDictionary/#颜色"}},[t._v("颜色变量")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../nameDictionary/#方法"}},[t._v("mixins方法")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../nameDictionary/#样式"}},[t._v("原子样式")])],1)])],1)])],1)])])},[function(){var t=this.$createElement,s=this._self._c||t;return s("h1",{attrs:{id:"引导"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#引导","aria-hidden":"true"}},[this._v("#")]),this._v(" 引导")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"抛出问题"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#抛出问题","aria-hidden":"true"}},[this._v("#")]),this._v(" 抛出问题")])},function(){var t=this,s=t.$createElement,r=t._self._c||s;return r("ul",[r("li",[r("strong",[t._v("难以复用")]),t._v(":很多样式相似,但往往就差那么点边距,差点大小跟字体颜色或者布局有区别,然后就需要C/V操作后再修改了,样式难以直接复用。")]),t._v(" "),r("li",[r("strong",[t._v("命名冲突")]),t._v(":由于CSS样式具有全局性,在复杂项目中,有时候会出现命名冲突,容易导致样式错乱的情况,并且这种情况较难debug。")]),t._v(" "),r("li",[r("strong",[t._v("选择器及层级结构混乱")]),t._v(":为了避免样式冲突,有些人会使用多层选择器来保证样式的依赖,但往往导致选择器层级过高而较难维护,同样也导致样式权重过高而难以调整;")]),t._v(" "),r("li",[r("strong",[t._v("权重混乱")]),t._v(":id、@important的使用,选择器的混乱往往容易导致样式权重混乱而难以维护;同样的,选择器的权重混乱和命名混乱也会导致代码的可读性很差。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"解决方案"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#解决方案","aria-hidden":"true"}},[this._v("#")]),this._v(" 解决方案")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"目录"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#目录","aria-hidden":"true"}},[this._v("#")]),this._v(" 目录")])}],!1,null,null,null);s.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{199:function(t,s,r){"use strict";r.r(s);var e=r(0),o=Object(e.a)({},function(){var t=this,s=t.$createElement,r=t._self._c||s;return r("div",{staticClass:"content"},[t._m(0),t._v(" "),r("p",[t._v("写CSS并不难,但是要写出可长期维护、不易被他人吐槽的CSS很难。")]),t._v(" "),t._m(1),t._v(" "),r("p",[t._v("在日常CSS的编写(也包括使用了预处理工具)的过程中,我们经常会遇到如下几个主要问题:")]),t._v(" "),t._m(2),t._v(" "),r("p",[t._v("这些问题在复杂性项目,特别是多人协作项目中尤为明显。Moo-CSS目的在于解决上述问题,以方便前端更好得开发CSS。")]),t._v(" "),t._m(3),t._v(" "),r("p",[t._v("多年以来,从BEM、SAMCSS等写法规范到近年来随着组件化框架发展而广泛使用的css modules和css in js,这些方案或者工具都旨在解决以上问题。Moo-CSS在这些基础上给出了一套CSS开发规范策略。")]),t._v(" "),r("hr"),t._v(" "),t._m(4),t._v(" "),r("ul",[r("li",[r("router-link",{attrs:{to:"./../saulte/"}},[t._v("致敬")]),t._v(":简单了解OOCSS、BEM、SMACSS等CSS写法策略、css modules以及CSS in jS;\n"),r("ul",[r("li",[r("router-link",{attrs:{to:"./../saulte/#oo-css"}},[t._v("OO-CSS")]),t._v(" "),r("ul",[r("li",[r("router-link",{attrs:{to:"./../saulte/#oo-css"}},[t._v("OOCSS")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../saulte/#bem"}},[t._v("BEM")])],1)])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../saulte/#m-css"}},[t._v("M-CSS")]),t._v(" "),r("ul",[r("li",[r("router-link",{attrs:{to:"./../saulte/#smacss"}},[t._v("SMACSS")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../saulte/#m-css"}},[t._v("MCSS")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../saulte/#itcss"}},[t._v("ITCSS")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../saulte/#atomic-design-atomic-css-acss"}},[t._v("ACSS")])],1)])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../saulte/#css-modules"}},[t._v("css modules")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../saulte/#css-in-js"}},[t._v("CSS in JS")])],1)])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../moocss/#m模块"}},[t._v("概念: Moo")]),t._v(":介绍Moo-CSS的样式分类分层、以及对象化的主要思想\n"),r("ul",[r("li",[r("router-link",{attrs:{to:"./../moocss/#m模块"}},[t._v("M模块")]),t._v(" "),r("ul",[r("li",[r("router-link",{attrs:{to:"./../moocss/#样式属性分类"}},[t._v("样式属性分类")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../moocss/#样式分层"}},[t._v("样式分层")])],1)])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../moocss/#oo面向对象"}},[t._v("OO面向对象")]),t._v(" "),r("ul",[r("li",[r("router-link",{attrs:{to:"./../moocss/#_2-1-组成"}},[t._v("组成")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../moocss/#_2-2-oo特征"}},[t._v("OO特征")])],1)])],1)])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../baseLayer/#moo-css-base"}},[t._v("核心:Base层")]),t._v(":介绍Base层的选择方式,以及说明moo-css-base及demo简介\n"),r("ul",[r("li",[r("router-link",{attrs:{to:"./../baseLayer/#moo-css-base"}},[t._v("moo-css-base")]),t._v(" "),r("ul",[r("li",[r("router-link",{attrs:{to:"./../baseLayer/#初始化注入"}},[t._v("初始化注入")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../baseLayer/#使用样式方法"}},[t._v("使用样式方法")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../baseLayer/#使用颜色变量"}},[t._v("使用颜色变量")])],1)])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../baseLayer/#demo及说明"}},[t._v("demo及说明")]),t._v(" "),r("ul",[r("li",[r("router-link",{attrs:{to:"./baseLayer/#移动demo1-zepto原生-less"}},[t._v("移动demo1 (zepto原生+less)")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../baseLayer/#移动demo2-vuejs-less"}},[t._v("移动demo2 (VueJs+less)")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../baseLayer/#pc-demo1-reactjs-sass"}},[t._v("PCdemo1 (ReactJS+sass)")])],1)])],1)])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../nameRule/#基本规则"}},[t._v("规则:命名")]),t._v(":介绍Moo-CSS的命名规则\n"),r("ul",[r("li",[r("router-link",{attrs:{to:"./../nameRule/#基本规则"}},[t._v("基本规则")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../nameRule/#module命名规则"}},[t._v("Module命名规则")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../nameRule/#样式属性及classname书写顺序"}},[t._v("样式属性及classname书写顺序")])],1)])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../nameDictionary/#module命名词典"}},[t._v("帮助:词典")]),t._v(":给出缩略命名参考,以及moo-css-base的样式/方法介绍\n"),r("ul",[r("li",[r("router-link",{attrs:{to:"./../nameDictionary/#module命名词典"}},[t._v("Module命名词典")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../nameDictionary/#样式属性命名"}},[t._v("样式属性命名")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../nameDictionary/#样式模块词典"}},[t._v("样式模块词典")]),t._v(" "),r("ul",[r("li",[r("router-link",{attrs:{to:"./../nameDictionary/#grid-g"}},[t._v("grid")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../nameDictionary/#function-f"}},[t._v("function")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../nameDictionary/#unit-u"}},[t._v("unit")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../nameDictionary/#status-z"}},[t._v("status")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../nameDictionary/#skin-s"}},[t._v("skin")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../nameDictionary/#animation-a"}},[t._v("animation")])],1)])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../nameDictionary/#moo-css-base词典"}},[t._v("moo-css-base词典")]),t._v(" "),r("ul",[r("li",[r("router-link",{attrs:{to:"./../nameDictionary/#颜色"}},[t._v("颜色变量")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../nameDictionary/#方法"}},[t._v("mixins方法")])],1),t._v(" "),r("li",[r("router-link",{attrs:{to:"./../nameDictionary/#样式"}},[t._v("原子样式")])],1)])],1)])],1)])])},[function(){var t=this.$createElement,s=this._self._c||t;return s("h1",{attrs:{id:"引导"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#引导","aria-hidden":"true"}},[this._v("#")]),this._v(" 引导")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"抛出问题"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#抛出问题","aria-hidden":"true"}},[this._v("#")]),this._v(" 抛出问题")])},function(){var t=this,s=t.$createElement,r=t._self._c||s;return r("ul",[r("li",[r("strong",[t._v("难以复用")]),t._v(":很多样式相似,但往往就差那么点边距,差点大小跟字体颜色或者布局有区别,然后就需要C/V操作后再修改了,样式难以直接复用。")]),t._v(" "),r("li",[r("strong",[t._v("命名冲突")]),t._v(":由于CSS样式具有全局性,在复杂项目中,有时候会出现命名冲突,容易导致样式错乱的情况,并且这种情况较难debug。")]),t._v(" "),r("li",[r("strong",[t._v("选择器及层级结构混乱")]),t._v(":为了避免样式冲突,有些人会使用多层选择器来保证样式的依赖,但往往导致选择器层级过高而较难维护,同样也导致样式权重过高而难以调整;")]),t._v(" "),r("li",[r("strong",[t._v("权重混乱")]),t._v(":id、@important的使用,选择器的混乱往往容易导致样式权重混乱而难以维护;同样的,选择器的权重混乱和命名混乱也会导致代码的可读性很差。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"解决方案"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#解决方案","aria-hidden":"true"}},[this._v("#")]),this._v(" 解决方案")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"目录"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#目录","aria-hidden":"true"}},[this._v("#")]),this._v(" 目录")])}],!1,null,null,null);s.default=o.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/11.10e56509.js b/docs/assets/js/11.bbd2b56d.js similarity index 99% rename from docs/assets/js/11.10e56509.js rename to docs/assets/js/11.bbd2b56d.js index 7be9350..bd77198 100644 --- a/docs/assets/js/11.10e56509.js +++ b/docs/assets/js/11.bbd2b56d.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{195:function(t,s,a){"use strict";a.r(s);var n=a(0),e=Object(n.a)({},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"content"},[t._m(0),t._v(" "),t._m(1),t._v(" "),a("p",[t._v("模块化面向对象思想的css写法规范策略。")]),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),a("p",[t._v("很多人都感觉,比起弱类型语言,强类型语言因为其严谨性特别在大型项目中会更容易维护。同样的,Moo-CSS将CSS样式属性进行分类,类似于底层变量使用,目的也是为了使项目具有更好的维护性。")]),t._v(" "),a("p",[t._v("根据样式属性的特征,Moo-CSS将样式属性分类样式划分为以下模块,并根据模块特征给定命名前缀("),a("router-link",{attrs:{to:"./../nameRule/#基本规则"}},[t._v("命名规则-标志前缀")]),t._v("):")],1),t._v(" "),t._m(5),t._v(" "),a("p",[t._v("另外两种特殊模块:")]),t._v(" "),t._m(6),t._v(" "),a("p",[t._v("更多样式属性归类可参考"),a("router-link",{attrs:{to:"./../nameDictionary/#样式模块词典"}},[t._v("样式模块词典>>")])],1),t._v(" "),t._m(7),t._v(" "),t._m(8),t._v(" "),a("p",[t._v("如:")]),t._v(" "),t._m(9),t._m(10),t._v(" "),t._m(11),t._v(" "),a("p",[t._v("根据样式属性的特征,将项目样式分层为以下模块层级:")]),t._v(" "),t._m(12),t._v(" "),a("p",[t._v("其中,Base、Component、Skin、Layout中样式作用域为全局,Module层样式保持私有性。各层级保持独立性,满足SRP(单一功能原则)。")]),t._v(" "),t._m(13),t._v(" "),a("p",[t._v("基础样式层,它是整个业务开发中变动最小的模块层级,并且考虑多页面的缓存复用。Base层首先负责浏览器默认样式的重置、高频样式的输出、以及提供预处理工具颜色单位变量。如:")]),t._v(" "),t._m(14),a("p",[t._v("Base层最为最底层,可供给其他各层的调用和匹配。并且由于Base为几乎所有项目共有,该层确立后便不建议进行删改、后续维护一般只作添加操作。更多Base层介绍及参考可访问"),a("router-link",{attrs:{to:"./../baseLayer/#moo-css-base"}},[t._v("moo-css-base >>")])],1),t._v(" "),t._m(15),t._v(" "),t._m(16),t._v(" "),t._m(17),t._v(" "),a("p",[t._v("样式组件库:")]),t._v(" "),t._m(18),t._v(" "),a("p",[t._v("方法组件库:")]),t._v(" "),t._m(19),t._v(" "),t._m(20),t._m(21),t._m(22),a("p"),t._v(" "),t._m(23),t._v(" "),t._m(24),t._v(" "),a("p",[t._v("皮肤层,为Component或Module提供私有/公共皮肤样式。主要为字体、边框以及背景等颜色、特殊情况下Skin也包含button等组件约定尺寸和屏幕设备媒体查询样式。Moo-CSS推荐该层的选择器权重尽可能低(除Base-reset外最低),故推荐使用attribute属性选择器进行Skin样式开发。如:")]),t._v(" "),t._m(25),t._m(26),t._v(" "),t._m(27),t._v(" "),a("p",[t._v("Skin推荐使用属性作为样式还避免了大量className导致HTML语意不直观,这样也让Skin变得更容易调整。(小程序环境目前不支持属性作为样式选择器,这种情况下Skin仍然需要使用className)")]),t._v(" "),t._m(28),t._v(" "),t._m(29),t._v(" "),a("p",[t._v("模块层,如头、导航、菜单、列表等与业务息息相关,该层的样式灵活性较大但建议样式具有独立性。通常Module层作为Component的容器并确认Component的私有样式。"),t._m(30),t._v(",常用命名单词可采取缩略命名方式,可参考"),a("router-link",{attrs:{to:"./../nameDictionary/#module命名词典"}},[t._v("Module命名词典>>")])],1),t._v(" "),a("p",[t._v("如:")]),t._v(" "),t._m(31),t._m(32),t._m(33),t._v(" "),a("p",[t._v("*很多时候容易分不清样式模块该归类于Component还是Module,以下有几条参考规则:")]),t._v(" "),t._m(34),t._v(" "),t._m(35),t._v(" "),t._m(36),t._v(" "),a("p",[t._v("结构层,该层提供控制Module或Component在页面中的布局样式。简单样式可根据gird命名格式命名其className;与业务关联较大的复杂样式属性名同Module/Component。如:")]),t._v(" "),t._m(37),t._m(38),t._m(39),t._v(" "),t._m(40),t._v(" "),t._m(41),t._v(" "),a("p",[t._v("最终通过Modules的拼凑形成最终的页面样式。")]),t._v(" "),t._m(42),t._v(" "),t._m(43),t._v(" "),t._m(44),t._v(" "),a("p",[t._v("同OOCSS,Moo-CSS中的CSS对象由以下4部分内容组成:")]),t._v(" "),t._m(45),t._v(" "),t._m(46),t._v(" "),a("p",[t._v("可以看以下这个例子,它是一个vue组件(components/toast.vue),它包含着上述CSS对象的四个组成内容:")]),t._v(" "),t._m(47),t._m(48),t._v(" "),a("p",[t._v("总得来说,就是满足SRP、OCP(开放封闭)。")]),t._v(" "),t._m(49),t._v(" "),a("p",[t._v("Moo-CSS的CSS对象也具备OO的三大特征,虽然并不明显。")]),t._v(" "),t._m(50),t._v(" "),a("p",[t._v("Moo-CSS的封装特性一方面体现在Module/Component中对象内容的封装,保持对象之间的独立性;\n另一方面,各样式属性/方法的封装以及各样式层级的封装均体现了其封闭性。")]),t._v(" "),t._m(51),t._v(" "),a("p",[t._v("页面Module层/Component层可由其他Component层进行样式继承和拓展,各模块符合开闭原则(The Open/Closed Principle)")]),t._v(" "),t._m(52),t._v(" "),a("p",[t._v("Moo-CSS所说的多态一方面是指对应平台的多态样式/方法。比如"),a("a",{attrs:{href:"https://www.npmjs.com/package/moo-css-base",target:"_blank",rel:"noopener noreferrer"}},[t._v("moo-css-base"),a("OutboundLink")],1),t._v("移动端和PC端的Component层分别提供了rem换算方法"),a("code",[t._v("torem")]),t._v(",调用方式相同而移动端进行了1:75的单位换算,而PC端进行了1:54的单位换算。")]),t._v(" "),a("hr"),t._v(" "),a("p",[t._v("至此Moo-CSS的概念基本在此已介绍完了,接下来将重点介绍"),a("router-link",{attrs:{to:"./../baseLayer/"}},[t._v("Base层的确认使用")]),t._v("以及"),a("router-link",{attrs:{to:"./../nameRule/#基本规则"}},[t._v("命名规则")]),t._v("。")],1)])},[function(){var t=this.$createElement,s=this._self._c||t;return s("h1",{attrs:{id:"moo-css"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#moo-css","aria-hidden":"true"}},[this._v("#")]),this._v(" Moo-css")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",{staticClass:"f-tc"},[s("img",{staticClass:"u-w70",attrs:{src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAAEH5aXCAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjE3OTI3Q0ZCODFFMjExRTk5MzE0RDU3MjcwMkY1NDI5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjE3OTI3Q0ZDODFFMjExRTk5MzE0RDU3MjcwMkY1NDI5Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTc5MjdDRjk4MUUyMTFFOTkzMTRENTcyNzAyRjU0MjkiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MTc5MjdDRkE4MUUyMTFFOTkzMTRENTcyNzAyRjU0MjkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6l4HWEAAAbqklEQVR42mL8//8/A6mABUx+fY4uLgjET4B4JhAXochwSzIwoSmuBmKQ1e+AmAuIC/99fv8fKgYHTGgaWtCtZOIFWsrMxoCsEVlTCwMbF1Y//F+iAGP6IGsSApO/vjE8dZVD0fA2QY6BMfIWjLsZRDCCQ+/r859ANhtM5qaoHMPf7xC21v9PQPkPyAHBCLNpNlyQgwOuAQQeG/Ax/PvwFMV2mE1wj17hkQK6mQWuQOvLIwa0IGdkwog4NmYGZm4gzQfEwIC7rYDiR0b00AMLiFVnMrCJM4AxOxQ/spJjeNdWxvhhRjdGkIM1ChVXhbFDNYEwq8gfBl4/P8b/f/6g+YlEABBAJGvClVg3ArENEAtj14CUUiDh8B+JjwgcdM///9EmhZ6IGf7e3os1gYIFfjxnwXDzn5PzUGxDCd7fX6UYXiZ4Iqz894/h793DuP0gOu8Ew+fNWxiu8cqBzWMVYGBQfYKSXPpg6Qvuxms8iKTBCswUAtZAg5bDNamw4Atz1VevgB77gSx0lwkj2DiBOZcH6FZ+YEIUE2P4z8iI0w86oBTPLgHUDTKGGUgD8WNzWQZGoCremFxG9DwCBt+2r/j/YUIZWDFIE6e1FwcDu+BPBk4h8tISQACRlWLJK12xJ1r0NIgPHAdiK6wyWEpjGLgDTfD/GYjw6Z9L6yyhjgFhNYzCGYfLlUHR+KVMEmgPI+Hg0A1g+H++G1664qsiUIPm/z9w5vo0KQ+/DexcDN+agLUBGx/OYEZE/NfnW4GkF7rK++rAbM/GwvAPmOj/vP7D8BdYzP0DZR0uRgZuTWYGTkVgSbPiPTBXfMbmBHtgnBxC9okNNlWKN58x/ONQY/gJTBd//7CA0wqoDvj7jZnh+31ger8NrKZSdXH50w09V/FjS0kPXIMZfl6/hT3Z/f7D8B/os7+PHuCypAZbEXoRiPWRBb4dP4UoChih6YAJwv73i4VB7vIboKJvWGMLVzltADXiL0yAme0vAzM/C8QeJoQlMPqeogi4PPn35Q+D0u1HDIxsQLP//WXEnuOxZ8b/DExMDI/MZFAMBvsIjQalCG7/BMa/n34wMItJwg0QKO5jYCFU7DAAi3i5U08Z3rekMPx7/8z175NbAYwcHF9Z5NTnMjCz3mQEN3KYga4BGoUj4wIEEF3KLiYGOgBiCkgYSIY2HKWB+BIQ5wPxMbw6uCWJinhfIN5ETJWBzxJ8EQ+x/SewyGAXxBHYoLT7jwGpBGYiJU7AFvw73oLbArCCf8AU9xTZN/+JtQSikJ2XgVE9knDKEZRm+DVdA28lh24JPKd/7zViYJQ0IC75/PiEWfrisQTO/3n9NsOPje3EWcIMjFomVmSRA7gsQSlqmdW9GD4v6gKqYMZr/qdqaHn67zfOAhLZElVkFbyFCxh+AzslT+yBlRY3H9aU9SJAmeH/t/cMzCbZ2Ox/ja2AxIgwUNP0obECuFb8++kPw5+PiEjjVmZh4ATWuty6Igy8LedwZUZGgsUKI9C1CjdeM/z5wMTw5xsLuBBkguIfwFqRUcoOtwUklV2/fzP8+fwPWAtiSn07cojhuQewGmDjoMySa9xSBJzJxPA+QYQCS0C11F8cRcI/UP0O6aEJLvmETckpbNXvJCBGbWRxsOMuUYBY6fozaLhhtcQcm0/yMTLysdMYZS2oqQ/qE7AA22L3zB3JqrSmoEhyc0J6KlyQ3go6/vviLsNtWTmCRT+2+gSRX7h5GW6LCiIaDbCGBKxRAWtIADG3mw+D2PRFQHO+7AGKuBJTacEtuq8jh7M5hN5qYeLifsYdnCSN3FLBV2mBjAE1C+U5TXQZft28jL0ZhGQhh4FlGJOE8mr8dTwmAA/cSCzY+v+pC7ADyMSIEjyw4GMWEj3Aqmvj+P8vIxENCTy5hds9kOH/13c8f1/cz/735YMqi7j0ESYx2QVgm5jYoKHLOLB9RoAA7FpbS1RRFP7OmTP3HEfNSssJq4fMrOgOQhctkgh6iOyl6CUJrOgq9FA9VBBhlA8F/YCwy0sPQkkQRQ9JRIGm3UyFgZLykpdsRufMnNY+M43HmTMzZ48mES3YA3OYs/f69t5rrW+tNdOyyHSIiH9E4u9WarKqJyybu02jOI13r9CoSUt7Z16Sq2UMCPlGDP6hEzUOTAOEV5GmiGkPq+9SYAm9vkbnapvEnTBjrOmO1luc0pD3gqm2kReRiddHw8C3FgTqt0FcdQKQ/ekDkQOwlO6F7/JSqPWAieKNrOuaLBBHZKK1E+iD9zl8Nypg3v8UmAqvR5zHfuIlxq56WO1B7xfsGnelC4R1F0binprtGLm+m+gk40ADU2YYoQHafLMIpWFrJCTqRk+FFwirvzYkoIxEuq0ERELvPprb4Zo8CosDvrpNYXVCcsrLyAPkTeJpRuGue49Ar4ygX0J3WSaGbxHjkSR+AI4MDJzbjsFDMyEQEUVAhlDZrG5WspyRxqXUkX2k+yB93jSihHcJJd92SbVRtW43IGPGrkrkXqiF4M7WJXFyRzu+Vu9D6EsrzLMlmLPCvSLL3FzYT7fxOA4bud/RZEC8PG4PVhs6F+ZT+hUgMAKUIKLAoiNmg9X2AGXKUkYQjg2b4Tp7nxL5Ed7zPE5A6pIBCSWlgAmDkwttoosmTO3RmS1L7nCzRDTJyLvXCEvRSrWsyCHXCciRZDbSzIthtO093grGQMQZqVNC37Ed6KnMR//+fPJeX3iCc1JjP8qjSLD/Oz6tK58StmLyLIKY7TH68/pUCckz49fJiXcxXWEjkn2oCrlnT6phQaDU6eeju7AuWw2psMSI+2VSbsRrJSzrxXninl58KFxOBmXi3n3FJKBY/k7rDfG++oRGWSxplFL462CyGcfaO2lHxfFALGjSe813CBHvIWjciKDgY6Yb5gIPCltbjAJqiYLgOJGUJ6P4/fg4b0E4mHGBGK9f/H6m+GRkHa5Gzvla0mFQb7mdiK2tp5GPFNLojI8hVnTMn4NoVz9WaWG8RpYQCPQBs+YYIyOW4qLu7JoL+Xqu2Va2J+3Eiv1RoXfCE7sDnR636kb1FNY9pZTgFJhy8x7bSiu2hIZ+TGhVaeV3MchoGUUrfZql2d8YHsD3Ewu6+uAtyYE4Q+KzFQ0oRWENv5xm65qyFYwdCBY7sQTjAVKahNt/GFVlbBSelj5nz4GNF+XPn6oQ8DtV7UQxUqxSxs2N+AorXwsZma/MnsVnRPesRoVNEwyxEma4Fivwq/W/HPS3yS8B2Ln22KbKKH7uq+3a3q6DAkNshoRgBnMqTHkERNBp5BGGEcHgHyT8IUExgX/Q+AQThzHBBFSCRviHjCyEGAyCDwIxECFsGBCdi/IogzEBYY+u3dreh+f7bkfXx32u6D87yUnT2/X2+33feZ9zN3wiw0CGgdgxv87KpblE5pNeQJ6DPAFZTMdsN9Kx0kHk/aBNoTon31gDZXcOZAvyRgff+wP5JSfJXC6QoYrW8XRQudHh9yuRz6bvUfd/6Eh9+sdnF1HMvwatBxr4r4CQAOiNTNbiwStxRytXo6gmgie7XqSVR9+7l0AGJmoz6SCPgd35nfjqc+aNAyHoP/ARRtCluR+9j9x0L4AQ65M90+0OgLRrCjBVq8HaRGehI1HAs2QjRNcHMbnIk6ga0FqyRQNCtvti1hXBC8n6IPCrzlktFuhTqh/ETa2Q2F5TaP6lAvlMsYD05l5QzjeAIrPaVFUxyBcC5e9WgGh7oU+nIm8eKpC/8q7gaST2rQUmPI8WtItCeCpsKAzygTptvCKf3kk7VkdAiIeemF866aVDQyqpeRaNUMd4N6idpEeiazi6nQIpOFYoXzsHSooDqfWU6UyXZeIEBBHR7GFCN3Ihpvl5u0Ce0d27WDcoCQZSl66gpfEXKSviQE1KWvLef9voL/fbBXJQ9wsjK0DpU0DBvDrx464igGCgf/dKrTZG4j6jacqM8lsCIqS5MJBwFUhdCAT1vGvLOjwV75B0Q7nTDqlzh9JyS4pVIbMv7bcK5C3D2yTRwowip4LLYHm4PitIJ6KckNJ5E7rWo//gNV1jKzH6T5qWTsdbBWL8KIEiw4itR0GOSpr1QhFrqxQh0XKWdq+s+Q0Reht3wD+rH6WtO0oJCdjndlvdg9FmQMhdTYWUcXvBu3AVBUKYjLR2vLwIIpVjoa/5NC7Un2Yxm0s80N2wByIPiNCzq17TC+pHJHBvwI1IRK0CWWFcRYl1kMmGk5ZuJbjg1toVED9x7G7vkEzOqikV5G6Z9g4VWYvLB9tPzziett3II1OkEcp5JSj94Hvgxj1kRyqPYGJVa3QiNda9cRJGfbYXgq+/C9Jt0qoGagCUJC5X4CkzfGYAljCDnGgnE7jaLytxCYLbf0MQVU4SMsMTIbOTr9rWWpcLIrOeoI+d3O3kGnRWyCwm65Zh4uU2YATBrK9eiOJ4Ij6jEylxZH6SSRDrloEcU+mpqLIF9+Hh4Mq0MNx6bakTq8eZKfsNR2Y0kYSOtzeB3a42g+KXbGmCjtlo9ZrQl7gs72OfGZBfbKPweKB1zCTbDdGsRfh46P38FejZMIHGXRbouhmQ03YXkWhC7NIQk6sBm0aeGGEsnerPZkDabP02ikZkwfKiFCxJ0Bio/xU3JWnlzxutePYT1mWCg1TnbUeL1h6gI5M4mmXwzF1uVaw0P1LAk+fSm+nCmylF9x2wrRsKSFDZewvUni4a7aoYu8Uat4F/3ccop31FLdBZOxGU5Ttf7XHwgxibLXgRWL+ISu4HriwEgTWb7YDYaScf+c70dui1+5vPOtq92NGfoPeHY07LSGsK7qtOEZvIS8rwdhgAtnAh/b0w6eIqqCeT2n4Hvixo1VIRaoGBIWmLRWzJtJ6EP45+nI5vDDxXwggak8F/yuS9S+OB92z6PSfycKFiCqSuXrNzGg87KT4YB5CyApybz16oK7NQK9e4ETxcnj4d7nyyFU/Y1Kt/CTqDmUaiNUDaUEDBaIeDS4/UgNTRYW08w2T6geFdUHH8NHDl5TR20xHWQcmZvf7IYV0gaP/9tfO0XRYyYkN3P+c9W0Dk2ByRY9gktM2ugkh1BfQ1ndQCSZd7cB3BWNItdqyuIOeNtqUuXoC2Z5/E02Gzd9joJCwN3qB/icnAeDkIffjpg1xpWd5j6YMHavQcYiEixeRI+jUToVRPRYeGuhJgnYmX7ggUGhI0IJ5pM6alIhf+TCn5+UouEDtB0vg8MYv3gLj4KX3lFnKuCTl/JxQ2AsBI4F+8rJzx+S1H43ajvYWgDYDdLdmO2dEAjCwVXqiRBdMByYkl7eLSlQzD8bZyIydh6zdpQWjWwCjgnT83f1FCjjIP3n0hGyT9jJPAM3VGXcn8JfeTYWi7NJQxp8eoNVHVb0d9caj2WrUPGD9vT7lJrs4y4Jr8+EpudLhBTaac5O+OTyTLcNGCd6ybue/w+Vq+LNDM8ArdXfLKCiplbdfxlZPpZ2wJF+fD4W2emU8HPHMWMezI8gZ1iMkZD0UixuU+4qqeeYQUt9T+2CQ13j1T6bw5WZVTI0lWz4rBq2xp6AzrFU+B4I7SbJD+HwG5KJ2v4TGnYSD3iP4VoL1rgW3qOsPf9b224zhOHEogFJLyKO8CGaXACgIGZWOCrYN2VQsMkFZtglIJjYKAQrtJ7YCta6Gs3QoSW0s3ulYdW6nYQEIt6+hLC0wDQtoSiAgiDwIhju3E9n3s/OfekMT4mXvtZFN+dOTg3Fxfn++c/3X+x//N0uoDpI/6AOkDxJoAR6uIzhEGQi+UREZusTEo/qLdjiQDmXJV64xx1Rj1iYz9rJN7UOb1LAuJnule6JEXVIhoIhtFFt2b0kUoypVyyI4ZZkikb4d0JZr4H7Hx3VQcJRki2j0UsbLXcBr12A7pCUAouJZi4b6B3k20i55h40Q2AcmW/k5JgxW6w4WfHt0Oxq0SPtnkD0KiqLlZ0Muq0TNXor0W0v+wQUVhdQeNL0Qlg8fGBMGeB632JLSrJ9M5H7EGDFVF+NRRyFX/ShYFONqQOfRdqMRTfsYeKwMsi4K1qc7rmPifyoAQnVCPP8EPh2zzfs24eGu3XVnmlqTIwQm++iikUdPh+PZmoM2PFE4DqdwvOVy/7K0sa5CxtasSguHIh3pmPyI7CiGULoDtgVepTHbPgEFE3jRFRu669yFIdgSeKoDWUIF4teg7EUVCf2EAU9LbWNafDH1/dGJ+LSFyYDYih7awXbEdwtglzHJoQa+g1puwz98A+4xVaNs9D8qHP+VpGCnQCOjxLoesEIJmASE7gQJIHknMGHWBHd4/F3JlObSiuyFOWg6E/L1Lr4q0MkDWQLjDDeXkLqgfPR2rFnc8orww1azwNwPITkMLSX4Phxvhw+shXzjLowOFgVMAl7fn2FQC9iV47oSQP5ibp+qp3dAuM1kupRVgTsJ/V7YBoZihjak5POzQ6isRKT/Ea34TIMr1BvNJTJnSvEI+JtSbdeZD6+XMHnQj3IfK4nzenfm1deN6KkA3I3UPlB1KQxWUG0GoYZGBIiLynxNQqsujkw57nuy5kCsOQ22q5/KOe8+azgDBWv3/6REdqlIkkphJQEhwTU3vTzSeaEk18dQ2jWf/KH4F/tfW8qQwyzLlTIPBnrGmnLHWrRAcnUrtqHJqEdixqcwwATICyAuGvylNL1EYUulEZkqVciB4ZoYiIfzVF7i+diq0YAuvGtKjlFuAyOdvwb99ju7Waq99pLDFVMTknXuIGRb7LejFpi0FhKpNr++2nu+5A64lWxkgRiIGD/sXIdfWoe7BkfD//jm9xnpWd4vGu5pozAj0bZ6OwL7VEHKkDs2VFA6nC8K058zskHZ60nDFWAbITnM6vh/OuUvhXrYFcqPMs8qouxZPyGK82ffGy7hSloebu7aCew5y3ZnDQWQs3e1FpOosrj8+CddXjoJy9TwEZycZQWAIEqTFRwDvKPawYSs+eYdVrpMZSCc2PiFr8KDt+Lu4vmkV49kipcfpmq9qaMDsUdSAzNOX3A8+hvzlP4Z9/ET9l9RMSk1TTSatiap3Ug5KwIfAsffQ8sZuyNXnIRUKEN0ibDl6Hyr+SsMmwz5hFhxL3zEK8ypWLgdysn5gxv0+xFBvn7R0hTJq3LAKgSN/g+CWOgDpBIxebFNlAKlcT7HfNQw5k+9Dzr1T2N/kQwsZiQ0yJdPpg1wg/FXVoLS0IPTvUwifPQW12QexgN3GK/FqFO2TL7YD4dJrXIr9vMhd/TZsQ6cbWYOWOzv38p3iHnSpu4BQgjW1PPqa9VqNA1o4hMaNa+B796+MfwtMloocEA6KYlQ/jgYrxvtc3ibYPJRPZy/S2wLyIMROgAga2xEjhsKz7gBspWXxGlhZRefYeJ4BcrC7gDwPPQGxIHPeVibGXHkIlX+Gxp89i8Dxf+pdDexSbECiX9PgXoJTr/rqLNaQM7w/8patg2vh47pWRSp45s9j6LyfqsZui3dBMmuHggjyM/qIJBcYf3eOGYvBb73D5QypwtWzF6K1/DSTJ2IXVtZ9K1yfd43J51C9gEhdPUJ1e+BtsyPvoRVADlMk2oKZBoRSL7xmtCxaNtkLAmDaVfCDD1GRX4JWym7SRN4/h8tVi6OVKF1eudGApl9swpWpA1A7pz98r21jsomB4vJk6rBMRZLol2SA0PlGQ1bAYIK6bs16VM1dBEEx6/dMHxz6uNajr+PasrvR+D0P/C8tg1J/gQkfp5Uf1cRGjRlAyBdzNvNguHFlyXI0/mYfU6h6NjKJZBcZiJHKf6Bl6yzI5YeY0Mmz6va0wE+ZAYQKch3OLBge1K56AjcP/cVUurjldnyrDNcjWyBNe9TKcxsKNfrUDCAkP95GkmJJZsC48cLLaHz9zd4DBql2zP7xbPwjnN/ZxPiYz6o7UzeCg4ZcRne1LG7DsfEKG1ss/eIOO+QLF9DwzHbGpjIfbSIVD4SNLHNJgeDQjKQoFTYnFXgOQvM3c4+0WOJF4YvHYRsw1Ah2sIyotUZd0udM8WYU2Ea1OIdZZxi6cH3PPsit/izsDhXyzWYMP3IUzkkT2ERHJceTPkxppqRZRcK8khMiISsfgAT5Niudi/R0DyFJ5f50jEHN14SW949lKTSOfV6wDV+VzcCNHS8xm8Oj15JoHzLjzEG2GwItvBC5xQYiKezfR4xaLWYAIToNkwVeO3YH02IuXUa4+jL76hart53TGW3oqAsgkhtNQt3mZ/HlgLsQvswWbW6uNd2pEhOB8VnqSyd9LeFhKxyMyrVGZn2Hb1+NsSa006TyggtS18IL0Vm9sbJ+25NlRWp9FGhC1bhpqJ4yE5GGa1ztzhAwy5CgTqEVgMD4gLmmNRkm1G2MZ9+a2KjSAtGp1UKclOrbrouRuRzrOvL8Ri5V4uK4MlwcPgrBTz7h5yTt3mgLaAGieuuktMFNhJKSw5FyLUrTZ1lMw6qpwcXps6H6/Wzli103itDVKRj9Xqyfhc7vJ7hWiH5f6PCpqX4V7jnTUbTzl3BMmMzkSZC3QE6TaNKozlz8CusZTkf4OfSaSGksA4GDUrNwEYIffQqbS4o/kbEmPMG1cSc8HtAxwVGgBjTYB/dH/tIV8Dz8GKSRo/SdnfigjJq2JD/qzkJ+CJWfpDyK1MsoMqPQ97t9qFv7E9g80u2rONnkJ5vU7u6eWL8ngNo0zl7tw4cjZ8rX4Zo2E46x90AcUMyev+A8RGkWA6wxNQ7RL+OAtBOVUKLIvTuT7xIb1whrFs1D+FxFx5m2YNHEWwlSrGupMZBkb3TNnP9N+9CRpzU5ddZWuPkV04ZhqkQnYpSUSQHIf4aeHxhHsKu8v1Xx7t/iyuL5eoFTai5kdjV3VwalcC/+syzD5u1X6br/gcVqIFApkKteknhjJEs8ChnSvSklYZKhxVGfiNhhp6EQ7PdMQvGevahbvVJ3YwhC6qs0GwqAoLMsjf1zjBi/2zH+vg1ahEl6CpH1NVtu2GbeZ6F3HKHR33DBrO5yRTAA14LFGLRXQP3aFbDlilEopLGKoyZcS8LG2n/UYoGu6rXQpSEj9jvGTH6ayYg63lWOh8aogJiZCeupLFz6OlTjmbpgl/F3nDmQqypQ/8OF0II+Zk+It09onNWupcDCBMOHEXMX3QKAbWmP95xUOvpXYnHpm2w5RTSFnJE5eos/6hzodEELhfnBlVxfC1teIcTiwWmFKHXuoJftHRKPyCf2B2MY7KvtfqlkxA8Gn6he0LR15dDA399j6rDezK6djQkp8v+Y1/E2jEYHdB4Ix+SVy10jevsfEweUHBAKi05wDkvF+SjNjRYqr52a3UTU3lQ44GM2CR/ThHifepGxrlxmqPmgKaESzd88XmvzT9DaguO0UOswTQ4PghIpYBOby4aTIWJ8D41JXFuYCdgAYzE+we6sZSv6kpDjOi+4C86wlX6WAXGZVjz1rNcbWRqA88k3G0mRaZbVR32A9AHSB0gfIH0Un/4LKcBT51Sz5g0AAAAASUVORK5CYII="}})])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"m模块"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#m模块","aria-hidden":"true"}},[this._v("#")]),this._v(" M模块")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("Moo-CSS中的M(Module),模块化。Moo-CSS的模块化主要体现在"),s("strong",[this._v("样式属性的模块化")]),this._v("以及"),s("strong",[this._v("样式层级的模块化")]),this._v("两个方面。")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"样式属性分类"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#样式属性分类","aria-hidden":"true"}},[this._v("#")]),this._v(" 样式属性分类")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[a("strong",[t._v("grid")]),t._v(":"),a("strong",[t._v("布局样式")]),t._v("。布局、位置相关样式。如margin, position, line-height等;")]),t._v(" "),a("li",[a("strong",[t._v("function")]),t._v(":"),a("strong",[t._v("功能样式")]),t._v("。文字居中、溢出隐藏等功能性样式。如clear, text-align, overflow, font-style, font-weight, font-family, vertical-align, white-space, text-decoration, text-indent等;")]),t._v(" "),a("li",[a("strong",[t._v("unit")]),t._v(":"),a("strong",[t._v("单元样式")]),t._v("。宽高、padding等影响块或元素的常用单元样式。如width, height, padding, display, border, flex等;")]),t._v(" "),a("li",[a("strong",[t._v("status")]),t._v(":"),a("strong",[t._v("状态样式")]),t._v("。透明度、是否隐藏、层级等显示状态样式(是唯一可设置!important的部分)。如visibility, opacity, z-index, transform等;")]),t._v(" "),a("li",[a("strong",[t._v("skin")]),t._v(":"),a("strong",[t._v("皮肤样式")]),t._v("。主题颜色背景色等。如color, background-color, box-shadow等;")]),t._v(" "),a("li",[a("strong",[t._v("animation")]),t._v(":"),a("strong",[t._v("动画样式")]),t._v("。过渡和动画。如animtaion, transition。")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[a("strong",[t._v("JavaScript DOM")]),t._v(":"),a("strong",[t._v("DOM操作样式")]),t._v("。供js操作DOM节点,"),a("strong",[t._v("建议不带有样式属性")]),t._v(";")]),t._v(" "),a("li",[a("strong",[t._v("React/Vue/Angular sepcial")]),t._v(":"),a("strong",[t._v("框架独有样式")]),t._v("。供专有框架使用,如过渡动画。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("blockquote",[s("p",[this._v("注意,Moo-CSS推荐其中\ngrid, module, unit, component, status, animation通常由类(className)选择器实现;\nskin通常由属性(attribute)选择器实现,*小程序通过className实现;\nfunction大部分由className实现,部分低权重样式由attribute实现。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("blockquote",[s("p",[this._v("使用className以及attribute来确认样式可以较好避免权重问题,且从中我们可以得知skin作为辅助样式而样式权重相比较低。Moo-CSS推荐避免ID以及!important进行样式开发,有且仅有一个!important样式用于元素隐藏("),s("code",[this._v(".z-hide { display: none !important }")]),this._v(")。")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-css extra-class"},[a("pre",{pre:!0,attrs:{class:"language-css"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* reset */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v("*")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" \n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("margin")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("padding")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("border")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v("a,\na:hover")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-decoration")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" none"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* module */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".m-menu")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 100%"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 100px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("overflow-y")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" auto"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".m-menu .m-menu__item")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("heigth")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 60px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("line-height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 60px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* grid */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".g-pr")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("position")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" relative"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".g-mt10")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("margin-top")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0.133rem"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* function */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".f-unl")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-decoration")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" underline"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".f-ellipsis")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("white-space")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" nowrap"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-overflow")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ellipsis"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("-o-text-overflow")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ellipsis"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("overflow")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" hidden"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".f-tc")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-align")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" center"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* unit */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-w10")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-h10")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-pt30")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("padding-top")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 30px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* component */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-btn")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("padding")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-align")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" center"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("cursor")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" pointer"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("border-radius")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 4px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-win_bg")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("position")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" fixed"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("z-index")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 18"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("top")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("bottom")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("left")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("right")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 100%"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-icon-circle")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 6px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 6px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("border-radius")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 50%"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* status */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".z-hide")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("display")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" none "),a("span",{pre:!0,attrs:{class:"token important"}},[t._v("!important")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".z-index_999")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("z-index")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 999"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".z-hide_60per")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("opacity")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 60"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("filter")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("alpha")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("opacity=60"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* animation */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".a-fadein")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("animation")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" fadein 1s 1 ease"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token atrule"}},[a("span",{pre:!0,attrs:{class:"token rule"}},[t._v("@keyframes")]),t._v(" fadein")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v("from")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("opacity")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v("to")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("opacity")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 1"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* skin theme */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".s-bgc_red")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("background-color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" red"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v("[s-cr_blue]")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" blue"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-icon-circle[s-big]")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 60px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 60px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"样式分层"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#样式分层","aria-hidden":"true"}},[this._v("#")]),this._v(" 样式分层")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("img",{attrs:{src:"http://blog.michealwayne.cn/images/notes/oocss/p-part.jpg",alt:"Moo-CSS structure"}})])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[a("strong",[t._v("Base")]),t._v(":基础层。样式最底层,包含样式重置reset、提供样式变量及方法、供给极常出现的样式库。(通常所有页面共用且不做修改操作)。")]),t._v(" "),a("li",[a("strong",[t._v("Component")]),t._v(":组件层。包含样式组件和方法组件,简单组件样式。如按钮、蒙层;方法组件包括动画方法和mixins方法。可依赖于Base层和Skin层。")]),t._v(" "),a("li",[a("strong",[t._v("Skin")]),t._v(":皮肤层。设置颜色、背景色、屏幕媒体查询设置等皮肤,且提供项目独有颜色变量。常供应于Component层和Module层;")]),t._v(" "),a("li",[a("strong",[t._v("Module")]),t._v(":模块层。根据业务划分的模块,常作为Component的容器。依赖于上面几个模块以及Layout层;")]),t._v(" "),a("li",[a("strong",[t._v("Layout")]),t._v(": 结构层。提供Module层和其中的Component布局样式,构成最终页面。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"base"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#base","aria-hidden":"true"}},[this._v("#")]),this._v(" Base")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-less extra-class"},[a("pre",{pre:!0,attrs:{class:"language-less"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/*\n * base less demo \n */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// reset")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v("*")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("margin")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("padding")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// common style")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".f-tc")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-align")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" center"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".g-mt20")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("margin-top")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 20px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// variates")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("@red"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")])]),t._v(" #f00"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("blockquote",[s("p",[this._v("Base可包含的样式属性模块:reset、高频grid样式、高频function样式、高频unit样式、高频status样式、高频skin样式、component样式基础、颜色/尺寸变量(预处理工具)、高频mixins方法(预处理工具)。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"component"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#component","aria-hidden":"true"}},[this._v("#")]),this._v(" Component")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("组件库层,可分为"),s("strong",[this._v("样式组件库")]),this._v("和"),s("strong",[this._v("方法组件库")]),this._v(",该层也考虑多模块或多页面间的缓存复用。这里包含着业务开发中可重复样式模块的最小单位和mixins方法。")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[t._v("按钮、图标、蒙层等轻量样式等元件样式集合(标识前缀"),a("code",[t._v("u-")]),t._v("),不涉及到grid布局样式。特别的,Moo-CSS推荐Component不写死width、height、font-size等样式,作为组件样式的核心单元(Component unit)保留组件特征。如下"),a("code",[t._v(".u-btn, .u-btn_il")]),t._v(",具有按钮组件的核心特征但不包含宽高颜色等样式,要展示具体样式需要其他层的配合;")]),t._v(" "),a("li",[t._v("渐变过渡等动画样式集合(标识前缀"),a("code",[t._v("a-")]),t._v(")。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("如下"),s("code",[this._v(".hh()")]),this._v(" mixins方法。")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-less extra-class"},[a("pre",{pre:!0,attrs:{class:"language-less"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/*\n * component less demo\n */")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// style")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-btn,\n.u-btn_il")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-align")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" center"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("border-radius")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 4px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("border")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" thin solid transparent"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// animation style")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".a-fadein")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("animation")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" fadein 1s 1 ease"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// functions")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".hh("),a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("@height")]),t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("@height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("line-height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("@height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("其"),s("code",[this._v(".u-btn")]),this._v("已具有按钮的核心特征:\n")])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"u-p50"},[s("button",{staticClass:"u-btn"},[this._v(".u-btn")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("blockquote",[s("p",[this._v("Component可包含的样式属性模块:component样式、animation样式、mixins方法。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"skin"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#skin","aria-hidden":"true"}},[this._v("#")]),this._v(" Skin")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-less extra-class"},[a("pre",{pre:!0,attrs:{class:"language-less"}},[a("code",[a("span",{pre:!0,attrs:{class:"token selector"}},[t._v("[s-bgc_white]")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("backgound")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" #fff\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v('[s-cr_red],\n[s-color="red"]')]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" red"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("background")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("rgba")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("255"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" 0.1"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("border-color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("rgba")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("255"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" 0.3"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v('p[s-size="big"]')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("font-size")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 30px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("line-height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 2"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v('.u-btn_il[s-size="big"]')]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("font-size")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 18px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("line-height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 2"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v('[s-type="default"]')]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("border")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" thin solid #e2e2e2"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("结合"),s("code",[this._v(".u-btn")]),this._v("可形成具体颜色的组件样式:")])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"u-p50"},[s("button",{staticClass:"u-btn",attrs:{"s-color":"red","s-size":"big"}},[this._v(".u-btn")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("blockquote",[s("p",[this._v("Skin可包含的样式属性模块:skin样式、项目颜色变量。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"module"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#module","aria-hidden":"true"}},[this._v("#")]),this._v(" Module")])},function(){var t=this.$createElement,s=this._self._c||t;return s("strong",[this._v("Module命名可带有标识前缀"),s("code",[this._v("m-")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-less extra-class"},[a("pre",{pre:!0,attrs:{class:"language-less"}},[a("code",[a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".m-login")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("padding")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 20px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".login__btn")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 65px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".login__input")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 30vw"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token mixin-usage function"}},[t._v(".hh")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("30px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("section")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-login f-tc"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-bgc_white")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("p")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-size")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("big"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("The login content"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("p")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("input")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("login__input f-tc g-fs20"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("placeholder")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("***"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("text"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-type")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("default"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("p")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("button")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("login__btn u-btn_il"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-color")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("red"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-size")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("big"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("login"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("效果:\n"),s("section",{staticClass:"m-login f-tc",attrs:{"s-bgc_white":""}},[s("p",{attrs:{"s-size":"big"}},[this._v("The login content")]),this._v(" "),s("p",[s("input",{staticClass:"login__input f-tc g-fs20",attrs:{placeholder:"***",type:"text","s-type":"default"}})]),this._v(" "),s("p",[s("button",{staticClass:"login__btn u-btn_il",attrs:{"s-color":"red","s-size":"big"}},[this._v("login")])])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("不能再细分下去的模块一定是Component,比如button或icon;")]),this._v(" "),s("li",[this._v("包含多个组件的样式模块基本是Module,比如login,它包含input和button组件;")]),this._v(" "),s("li",[this._v("与业务紧密相连的是Module,Component由其功能命名,与业务耦合较低。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("blockquote",[s("p",[this._v("Module可包含的样式属性模块:除skin/status/layout外的所有样式。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"layout"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#layout","aria-hidden":"true"}},[this._v("#")]),this._v(" Layout")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-less extra-class"},[a("pre",{pre:!0,attrs:{class:"language-less"}},[a("code",[a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".g-login")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("bottom")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 1px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("left")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("right")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("z-index")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 2"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".g-mt20")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("margin-top")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 20px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("section")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-login f-tc g-pf g-login"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-bgc_white")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("p")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-size")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("big"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("The login content"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("p")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("g-mt20"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("input")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("login__input f-tc g-fs20"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("placeholder")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("***"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("text"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-type")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("default"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("p")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("g-mt20"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("button")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("login__btn u-btn_il"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-color")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("red"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-size")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("big"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("login"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("section",{staticClass:"m-login f-tc g-pf g-login",staticStyle:{display:"none"},attrs:{id:"loginCtn","s-bgc_white":"",onclick:"document.getElementById('loginCtn').style.display = 'none'",title:"点击隐藏"}},[s("p",{attrs:{"s-size":"big"}},[this._v("The login content")]),this._v(" "),s("p",{staticClass:"g-mt20"},[s("input",{staticClass:"login__input f-tc g-fs20",attrs:{placeholder:"***",type:"text","s-type":"default"}})]),this._v(" "),s("p",{staticClass:"g-mt20"},[s("button",{staticClass:"login__btn u-btn_il",attrs:{"s-color":"red","s-size":"big"}},[this._v("login")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",{staticClass:"u-pt20 u-pb50"},[s("button",{staticClass:"u-btn g-lh200per u-w150",attrs:{onclick:"document.getElementById('loginCtn').style.display = ''","s-color":"yellow"}},[this._v("点击查看.m-login")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("blockquote",[s("p",[this._v("Layout可包含的样式属性模块:grid样式、status样式。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"oo面向对象"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#oo面向对象","aria-hidden":"true"}},[this._v("#")]),this._v(" OO面向对象")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("Moo-CSS中的OO(Object-Oriented),面向对象。Moo-CSS的面向对象主要体现在"),s("a",{attrs:{href:"#component"}},[this._v("Component")]),this._v("和"),s("a",{attrs:{href:"#module"}},[this._v("Module层")]),this._v("。")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"_2-1-组成"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-1-组成","aria-hidden":"true"}},[this._v("#")]),this._v(" 2.1 组成")])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("HTML,可以是DOM的一个或多个节点;")]),this._v(" "),s("li",[this._v("CSS声明,关于这些DOM节点样式的CSS声明,其中部分CSS声明满足私立性;")]),this._v(" "),s("li",[this._v("资源组件,如背景图片,sprites等用于展示资源的;")]),this._v(" "),s("li",[this._v("事件,与对象关联的javascript行为、侦听器或方法。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("这么说可能难以理解,简单来说VueJS/ReactJS/Angular项目中components目录下各单位为一个"),s("strong",[this._v("组件对象")]),this._v(",views目录下各单位为一个"),s("strong",[this._v("模块对象")]),this._v("。")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-vue extra-class"},[a("pre",{pre:!0,attrs:{class:"language-vue"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("\x3c!-- \n toast\n --\x3e")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("template")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("\x3c!-- 组件对象的HTML --\x3e")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("transition")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("name")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("va-toast f-tc g-fs24 g-lh150per g-pf"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("v-if")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("show"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v(":class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("[$style['u-toast'], $tyle['g-toast'], $style['z-' + type]]"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-bgc_white")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("em")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("u-icon_il u-icon-info"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("f-bg_cover")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n {{ message }}\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("script")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token script"}},[a("span",{pre:!0,attrs:{class:"token language-javascript"}},[t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("default")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"toast"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("data")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n show"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n props"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" String"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("default")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'bottom'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n message"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" String"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("default")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("''")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n show"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Boolean"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("default")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n methods"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("handleClose")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 组件对象的JavaScript事件")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("show "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("style")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("lang")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("less"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("module")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token style"}},[a("span",{pre:!0,attrs:{class:"token language-css"}},[t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* 组件对象的CSS声明(私有) */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-toast")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("padding")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 5px 7px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("max-width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 80%"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("min-width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 30%"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("min-height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 18px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("word-break")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" break-all"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("border-radius")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 8px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("-webkit-transform")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("translate")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("-50%"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("transform")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("translate")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("-50%"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".g-toast")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("z-index")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 29"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("left")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 50%"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".z-top")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("top")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10%"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".z-middle")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("top")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 35%"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("font-size")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 14px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("line-height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 20px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".z-bottom")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("bottom")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 15%"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("style")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("lang")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("less"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token style"}},[a("span",{pre:!0,attrs:{class:"token language-css"}},[t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* 组件对象的CSS声明 */")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token atrule"}},[a("span",{pre:!0,attrs:{class:"token rule"}},[t._v("@import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'~moo-css-base/mobileColors.less'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")])]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/*\n * v-toast\n */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-icon-info")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("background-image")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token url"}},[t._v("url(../images/i-info.png)")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" // 组件对象的组件资源\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".va-toast-enter-active, \n.va-fade-toast-leave-active")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("-webkit-transition")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" opacity .5s"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("transition")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" opacity .5s"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".va-toast-enter, \n.va-toast-leave-to")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("opacity")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("z-index")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" -1"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("可以理解,CSS对象中它的部分CSS声明需要有它的独立性,因此该组件便使用了css modules来保证"),s("code",[this._v(".u-toast")]),this._v("不受其他样式影响且不影响全局。")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"_2-2-oo特征"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-2-oo特征","aria-hidden":"true"}},[this._v("#")]),this._v(" 2.2 OO特征")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"_2-2-1-封装"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-2-1-封装","aria-hidden":"true"}},[this._v("#")]),this._v(" 2.2.1 封装")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"_2-2-2-继承"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-2-2-继承","aria-hidden":"true"}},[this._v("#")]),this._v(" 2.2.2 继承")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"_2-2-3-多态"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-2-3-多态","aria-hidden":"true"}},[this._v("#")]),this._v(" 2.2.3 多态")])}],!1,null,null,null);s.default=e.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{197:function(t,s,a){"use strict";a.r(s);var n=a(0),e=Object(n.a)({},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"content"},[t._m(0),t._v(" "),t._m(1),t._v(" "),a("p",[t._v("模块化面向对象思想的css写法规范策略。")]),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),a("p",[t._v("很多人都感觉,比起弱类型语言,强类型语言因为其严谨性特别在大型项目中会更容易维护。同样的,Moo-CSS将CSS样式属性进行分类,类似于底层变量使用,目的也是为了使项目具有更好的维护性。")]),t._v(" "),a("p",[t._v("根据样式属性的特征,Moo-CSS将样式属性分类样式划分为以下模块,并根据模块特征给定命名前缀("),a("router-link",{attrs:{to:"./../nameRule/#基本规则"}},[t._v("命名规则-标志前缀")]),t._v("):")],1),t._v(" "),t._m(5),t._v(" "),a("p",[t._v("另外两种特殊模块:")]),t._v(" "),t._m(6),t._v(" "),a("p",[t._v("更多样式属性归类可参考"),a("router-link",{attrs:{to:"./../nameDictionary/#样式模块词典"}},[t._v("样式模块词典>>")])],1),t._v(" "),t._m(7),t._v(" "),t._m(8),t._v(" "),a("p",[t._v("如:")]),t._v(" "),t._m(9),t._m(10),t._v(" "),t._m(11),t._v(" "),a("p",[t._v("根据样式属性的特征,将项目样式分层为以下模块层级:")]),t._v(" "),t._m(12),t._v(" "),a("p",[t._v("其中,Base、Component、Skin、Layout中样式作用域为全局,Module层样式保持私有性。各层级保持独立性,满足SRP(单一功能原则)。")]),t._v(" "),t._m(13),t._v(" "),a("p",[t._v("基础样式层,它是整个业务开发中变动最小的模块层级,并且考虑多页面的缓存复用。Base层首先负责浏览器默认样式的重置、高频样式的输出、以及提供预处理工具颜色单位变量。如:")]),t._v(" "),t._m(14),a("p",[t._v("Base层最为最底层,可供给其他各层的调用和匹配。并且由于Base为几乎所有项目共有,该层确立后便不建议进行删改、后续维护一般只作添加操作。更多Base层介绍及参考可访问"),a("router-link",{attrs:{to:"./../baseLayer/#moo-css-base"}},[t._v("moo-css-base >>")])],1),t._v(" "),t._m(15),t._v(" "),t._m(16),t._v(" "),t._m(17),t._v(" "),a("p",[t._v("样式组件库:")]),t._v(" "),t._m(18),t._v(" "),a("p",[t._v("方法组件库:")]),t._v(" "),t._m(19),t._v(" "),t._m(20),t._m(21),t._m(22),a("p"),t._v(" "),t._m(23),t._v(" "),t._m(24),t._v(" "),a("p",[t._v("皮肤层,为Component或Module提供私有/公共皮肤样式。主要为字体、边框以及背景等颜色、特殊情况下Skin也包含button等组件约定尺寸和屏幕设备媒体查询样式。Moo-CSS推荐该层的选择器权重尽可能低(除Base-reset外最低),故推荐使用attribute属性选择器进行Skin样式开发。如:")]),t._v(" "),t._m(25),t._m(26),t._v(" "),t._m(27),t._v(" "),a("p",[t._v("Skin推荐使用属性作为样式还避免了大量className导致HTML语意不直观,这样也让Skin变得更容易调整。(小程序环境目前不支持属性作为样式选择器,这种情况下Skin仍然需要使用className)")]),t._v(" "),t._m(28),t._v(" "),t._m(29),t._v(" "),a("p",[t._v("模块层,如头、导航、菜单、列表等与业务息息相关,该层的样式灵活性较大但建议样式具有独立性。通常Module层作为Component的容器并确认Component的私有样式。"),t._m(30),t._v(",常用命名单词可采取缩略命名方式,可参考"),a("router-link",{attrs:{to:"./../nameDictionary/#module命名词典"}},[t._v("Module命名词典>>")])],1),t._v(" "),a("p",[t._v("如:")]),t._v(" "),t._m(31),t._m(32),t._m(33),t._v(" "),a("p",[t._v("*很多时候容易分不清样式模块该归类于Component还是Module,以下有几条参考规则:")]),t._v(" "),t._m(34),t._v(" "),t._m(35),t._v(" "),t._m(36),t._v(" "),a("p",[t._v("结构层,该层提供控制Module或Component在页面中的布局样式。简单样式可根据gird命名格式命名其className;与业务关联较大的复杂样式属性名同Module/Component。如:")]),t._v(" "),t._m(37),t._m(38),t._m(39),t._v(" "),t._m(40),t._v(" "),t._m(41),t._v(" "),a("p",[t._v("最终通过Modules的拼凑形成最终的页面样式。")]),t._v(" "),t._m(42),t._v(" "),t._m(43),t._v(" "),t._m(44),t._v(" "),a("p",[t._v("同OOCSS,Moo-CSS中的CSS对象由以下4部分内容组成:")]),t._v(" "),t._m(45),t._v(" "),t._m(46),t._v(" "),a("p",[t._v("可以看以下这个例子,它是一个vue组件(components/toast.vue),它包含着上述CSS对象的四个组成内容:")]),t._v(" "),t._m(47),t._m(48),t._v(" "),a("p",[t._v("总得来说,就是满足SRP、OCP(开放封闭)。")]),t._v(" "),t._m(49),t._v(" "),a("p",[t._v("Moo-CSS的CSS对象也具备OO的三大特征,虽然并不明显。")]),t._v(" "),t._m(50),t._v(" "),a("p",[t._v("Moo-CSS的封装特性一方面体现在Module/Component中对象内容的封装,保持对象之间的独立性;\n另一方面,各样式属性/方法的封装以及各样式层级的封装均体现了其封闭性。")]),t._v(" "),t._m(51),t._v(" "),a("p",[t._v("页面Module层/Component层可由其他Component层进行样式继承和拓展,各模块符合开闭原则(The Open/Closed Principle)")]),t._v(" "),t._m(52),t._v(" "),a("p",[t._v("Moo-CSS所说的多态一方面是指对应平台的多态样式/方法。比如"),a("a",{attrs:{href:"https://www.npmjs.com/package/moo-css-base",target:"_blank",rel:"noopener noreferrer"}},[t._v("moo-css-base"),a("OutboundLink")],1),t._v("移动端和PC端的Component层分别提供了rem换算方法"),a("code",[t._v("torem")]),t._v(",调用方式相同而移动端进行了1:75的单位换算,而PC端进行了1:54的单位换算。")]),t._v(" "),a("hr"),t._v(" "),a("p",[t._v("至此Moo-CSS的概念基本在此已介绍完了,接下来将重点介绍"),a("router-link",{attrs:{to:"./../baseLayer/"}},[t._v("Base层的确认使用")]),t._v("以及"),a("router-link",{attrs:{to:"./../nameRule/#基本规则"}},[t._v("命名规则")]),t._v("。")],1)])},[function(){var t=this.$createElement,s=this._self._c||t;return s("h1",{attrs:{id:"moo-css"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#moo-css","aria-hidden":"true"}},[this._v("#")]),this._v(" Moo-css")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",{staticClass:"f-tc"},[s("img",{staticClass:"u-w70",attrs:{src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAAEH5aXCAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjE3OTI3Q0ZCODFFMjExRTk5MzE0RDU3MjcwMkY1NDI5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjE3OTI3Q0ZDODFFMjExRTk5MzE0RDU3MjcwMkY1NDI5Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTc5MjdDRjk4MUUyMTFFOTkzMTRENTcyNzAyRjU0MjkiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MTc5MjdDRkE4MUUyMTFFOTkzMTRENTcyNzAyRjU0MjkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6l4HWEAAAbqklEQVR42mL8//8/A6mA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"}})])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"m模块"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#m模块","aria-hidden":"true"}},[this._v("#")]),this._v(" M模块")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("Moo-CSS中的M(Module),模块化。Moo-CSS的模块化主要体现在"),s("strong",[this._v("样式属性的模块化")]),this._v("以及"),s("strong",[this._v("样式层级的模块化")]),this._v("两个方面。")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"样式属性分类"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#样式属性分类","aria-hidden":"true"}},[this._v("#")]),this._v(" 样式属性分类")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[a("strong",[t._v("grid")]),t._v(":"),a("strong",[t._v("布局样式")]),t._v("。布局、位置相关样式。如margin, position, line-height等;")]),t._v(" "),a("li",[a("strong",[t._v("function")]),t._v(":"),a("strong",[t._v("功能样式")]),t._v("。文字居中、溢出隐藏等功能性样式。如clear, text-align, overflow, font-style, font-weight, font-family, vertical-align, white-space, text-decoration, text-indent等;")]),t._v(" "),a("li",[a("strong",[t._v("unit")]),t._v(":"),a("strong",[t._v("单元样式")]),t._v("。宽高、padding等影响块或元素的常用单元样式。如width, height, padding, display, border, flex等;")]),t._v(" "),a("li",[a("strong",[t._v("status")]),t._v(":"),a("strong",[t._v("状态样式")]),t._v("。透明度、是否隐藏、层级等显示状态样式(是唯一可设置!important的部分)。如visibility, opacity, z-index, transform等;")]),t._v(" "),a("li",[a("strong",[t._v("skin")]),t._v(":"),a("strong",[t._v("皮肤样式")]),t._v("。主题颜色背景色等。如color, background-color, box-shadow等;")]),t._v(" "),a("li",[a("strong",[t._v("animation")]),t._v(":"),a("strong",[t._v("动画样式")]),t._v("。过渡和动画。如animtaion, transition。")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[a("strong",[t._v("JavaScript DOM")]),t._v(":"),a("strong",[t._v("DOM操作样式")]),t._v("。供js操作DOM节点,"),a("strong",[t._v("建议不带有样式属性")]),t._v(";")]),t._v(" "),a("li",[a("strong",[t._v("React/Vue/Angular sepcial")]),t._v(":"),a("strong",[t._v("框架独有样式")]),t._v("。供专有框架使用,如过渡动画。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("blockquote",[s("p",[this._v("注意,Moo-CSS推荐其中\ngrid, module, unit, component, status, animation通常由类(className)选择器实现;\nskin通常由属性(attribute)选择器实现,*小程序通过className实现;\nfunction大部分由className实现,部分低权重样式由attribute实现。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("blockquote",[s("p",[this._v("使用className以及attribute来确认样式可以较好避免权重问题,且从中我们可以得知skin作为辅助样式而样式权重相比较低。Moo-CSS推荐避免ID以及!important进行样式开发,有且仅有一个!important样式用于元素隐藏("),s("code",[this._v(".z-hide { display: none !important }")]),this._v(")。")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-css extra-class"},[a("pre",{pre:!0,attrs:{class:"language-css"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* reset */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v("*")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" \n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("margin")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("padding")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("border")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v("a,\na:hover")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-decoration")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" none"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* module */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".m-menu")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 100%"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 100px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("overflow-y")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" auto"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".m-menu .m-menu__item")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("heigth")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 60px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("line-height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 60px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* grid */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".g-pr")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("position")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" relative"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".g-mt10")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("margin-top")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0.133rem"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* function */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".f-unl")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-decoration")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" underline"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".f-ellipsis")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("white-space")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" nowrap"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-overflow")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ellipsis"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("-o-text-overflow")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ellipsis"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("overflow")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" hidden"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".f-tc")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-align")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" center"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* unit */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-w10")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-h10")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-pt30")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("padding-top")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 30px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* component */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-btn")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("padding")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-align")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" center"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("cursor")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" pointer"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("border-radius")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 4px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-win_bg")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("position")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" fixed"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("z-index")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 18"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("top")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("bottom")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("left")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("right")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 100%"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-icon-circle")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 6px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 6px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("border-radius")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 50%"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* status */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".z-hide")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("display")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" none "),a("span",{pre:!0,attrs:{class:"token important"}},[t._v("!important")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".z-index_999")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("z-index")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 999"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".z-hide_60per")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("opacity")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 60"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("filter")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("alpha")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("opacity=60"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* animation */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".a-fadein")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("animation")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" fadein 1s 1 ease"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token atrule"}},[a("span",{pre:!0,attrs:{class:"token rule"}},[t._v("@keyframes")]),t._v(" fadein")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v("from")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("opacity")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v("to")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("opacity")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 1"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* skin theme */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".s-bgc_red")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("background-color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" red"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v("[s-cr_blue]")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" blue"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-icon-circle[s-big]")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 60px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 60px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"样式分层"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#样式分层","aria-hidden":"true"}},[this._v("#")]),this._v(" 样式分层")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("img",{attrs:{src:"http://blog.michealwayne.cn/images/notes/oocss/p-part.jpg",alt:"Moo-CSS structure"}})])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[a("strong",[t._v("Base")]),t._v(":基础层。样式最底层,包含样式重置reset、提供样式变量及方法、供给极常出现的样式库。(通常所有页面共用且不做修改操作)。")]),t._v(" "),a("li",[a("strong",[t._v("Component")]),t._v(":组件层。包含样式组件和方法组件,简单组件样式。如按钮、蒙层;方法组件包括动画方法和mixins方法。可依赖于Base层和Skin层。")]),t._v(" "),a("li",[a("strong",[t._v("Skin")]),t._v(":皮肤层。设置颜色、背景色、屏幕媒体查询设置等皮肤,且提供项目独有颜色变量。常供应于Component层和Module层;")]),t._v(" "),a("li",[a("strong",[t._v("Module")]),t._v(":模块层。根据业务划分的模块,常作为Component的容器。依赖于上面几个模块以及Layout层;")]),t._v(" "),a("li",[a("strong",[t._v("Layout")]),t._v(": 结构层。提供Module层和其中的Component布局样式,构成最终页面。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"base"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#base","aria-hidden":"true"}},[this._v("#")]),this._v(" Base")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-less extra-class"},[a("pre",{pre:!0,attrs:{class:"language-less"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/*\n * base less demo \n */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// reset")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v("*")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("margin")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("padding")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// common style")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".f-tc")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-align")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" center"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".g-mt20")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("margin-top")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 20px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// variates")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("@red"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")])]),t._v(" #f00"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("blockquote",[s("p",[this._v("Base可包含的样式属性模块:reset、高频grid样式、高频function样式、高频unit样式、高频status样式、高频skin样式、component样式基础、颜色/尺寸变量(预处理工具)、高频mixins方法(预处理工具)。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"component"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#component","aria-hidden":"true"}},[this._v("#")]),this._v(" Component")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("组件库层,可分为"),s("strong",[this._v("样式组件库")]),this._v("和"),s("strong",[this._v("方法组件库")]),this._v(",该层也考虑多模块或多页面间的缓存复用。这里包含着业务开发中可重复样式模块的最小单位和mixins方法。")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[t._v("按钮、图标、蒙层等轻量样式等元件样式集合(标识前缀"),a("code",[t._v("u-")]),t._v("),不涉及到grid布局样式。特别的,Moo-CSS推荐Component不写死width、height、font-size等样式,作为组件样式的核心单元(Component unit)保留组件特征。如下"),a("code",[t._v(".u-btn, .u-btn_il")]),t._v(",具有按钮组件的核心特征但不包含宽高颜色等样式,要展示具体样式需要其他层的配合;")]),t._v(" "),a("li",[t._v("渐变过渡等动画样式集合(标识前缀"),a("code",[t._v("a-")]),t._v(")。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("如下"),s("code",[this._v(".hh()")]),this._v(" mixins方法。")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-less extra-class"},[a("pre",{pre:!0,attrs:{class:"language-less"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/*\n * component less demo\n */")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// style")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-btn,\n.u-btn_il")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-align")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" center"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("border-radius")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 4px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("border")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" thin solid transparent"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// animation style")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".a-fadein")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("animation")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" fadein 1s 1 ease"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// functions")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".hh("),a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("@height")]),t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("@height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("line-height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("@height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("其"),s("code",[this._v(".u-btn")]),this._v("已具有按钮的核心特征:\n")])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"u-p50"},[s("button",{staticClass:"u-btn"},[this._v(".u-btn")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("blockquote",[s("p",[this._v("Component可包含的样式属性模块:component样式、animation样式、mixins方法。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"skin"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#skin","aria-hidden":"true"}},[this._v("#")]),this._v(" Skin")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-less extra-class"},[a("pre",{pre:!0,attrs:{class:"language-less"}},[a("code",[a("span",{pre:!0,attrs:{class:"token selector"}},[t._v("[s-bgc_white]")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("backgound")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" #fff\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v('[s-cr_red],\n[s-color="red"]')]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" red"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("background")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("rgba")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("255"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" 0.1"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("border-color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("rgba")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("255"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" 0.3"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v('p[s-size="big"]')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("font-size")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 30px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("line-height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 2"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v('.u-btn_il[s-size="big"]')]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("font-size")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 18px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("line-height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 2"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v('[s-type="default"]')]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("border")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" thin solid #e2e2e2"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("结合"),s("code",[this._v(".u-btn")]),this._v("可形成具体颜色的组件样式:")])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"u-p50"},[s("button",{staticClass:"u-btn",attrs:{"s-color":"red","s-size":"big"}},[this._v(".u-btn")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("blockquote",[s("p",[this._v("Skin可包含的样式属性模块:skin样式、项目颜色变量。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"module"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#module","aria-hidden":"true"}},[this._v("#")]),this._v(" Module")])},function(){var t=this.$createElement,s=this._self._c||t;return s("strong",[this._v("Module命名可带有标识前缀"),s("code",[this._v("m-")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-less extra-class"},[a("pre",{pre:!0,attrs:{class:"language-less"}},[a("code",[a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".m-login")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("padding")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 20px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".login__btn")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 65px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".login__input")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 30vw"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token mixin-usage function"}},[t._v(".hh")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("30px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("section")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-login f-tc"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-bgc_white")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("p")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-size")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("big"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("The login content"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("p")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("input")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("login__input f-tc g-fs20"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("placeholder")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("***"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("text"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-type")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("default"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("p")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("button")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("login__btn u-btn_il"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-color")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("red"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-size")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("big"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("login"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("效果:\n"),s("section",{staticClass:"m-login f-tc",attrs:{"s-bgc_white":""}},[s("p",{attrs:{"s-size":"big"}},[this._v("The login content")]),this._v(" "),s("p",[s("input",{staticClass:"login__input f-tc g-fs20",attrs:{placeholder:"***",type:"text","s-type":"default"}})]),this._v(" "),s("p",[s("button",{staticClass:"login__btn u-btn_il",attrs:{"s-color":"red","s-size":"big"}},[this._v("login")])])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("不能再细分下去的模块一定是Component,比如button或icon;")]),this._v(" "),s("li",[this._v("包含多个组件的样式模块基本是Module,比如login,它包含input和button组件;")]),this._v(" "),s("li",[this._v("与业务紧密相连的是Module,Component由其功能命名,与业务耦合较低。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("blockquote",[s("p",[this._v("Module可包含的样式属性模块:除skin/status/layout外的所有样式。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"layout"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#layout","aria-hidden":"true"}},[this._v("#")]),this._v(" Layout")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-less extra-class"},[a("pre",{pre:!0,attrs:{class:"language-less"}},[a("code",[a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".g-login")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("bottom")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 1px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("left")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("right")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("z-index")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 2"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".g-mt20")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("margin-top")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 20px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("section")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-login f-tc g-pf g-login"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-bgc_white")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("p")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-size")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("big"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("The login content"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("p")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("g-mt20"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("input")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("login__input f-tc g-fs20"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("placeholder")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("***"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("type")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("text"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-type")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("default"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("p")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("g-mt20"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("button")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("login__btn u-btn_il"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-color")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("red"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-size")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("big"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("login"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("section",{staticClass:"m-login f-tc g-pf g-login",staticStyle:{display:"none"},attrs:{id:"loginCtn","s-bgc_white":"",onclick:"document.getElementById('loginCtn').style.display = 'none'",title:"点击隐藏"}},[s("p",{attrs:{"s-size":"big"}},[this._v("The login content")]),this._v(" "),s("p",{staticClass:"g-mt20"},[s("input",{staticClass:"login__input f-tc g-fs20",attrs:{placeholder:"***",type:"text","s-type":"default"}})]),this._v(" "),s("p",{staticClass:"g-mt20"},[s("button",{staticClass:"login__btn u-btn_il",attrs:{"s-color":"red","s-size":"big"}},[this._v("login")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",{staticClass:"u-pt20 u-pb50"},[s("button",{staticClass:"u-btn g-lh200per u-w150",attrs:{onclick:"document.getElementById('loginCtn').style.display = ''","s-color":"yellow"}},[this._v("点击查看.m-login")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("blockquote",[s("p",[this._v("Layout可包含的样式属性模块:grid样式、status样式。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"oo面向对象"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#oo面向对象","aria-hidden":"true"}},[this._v("#")]),this._v(" OO面向对象")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("Moo-CSS中的OO(Object-Oriented),面向对象。Moo-CSS的面向对象主要体现在"),s("a",{attrs:{href:"#component"}},[this._v("Component")]),this._v("和"),s("a",{attrs:{href:"#module"}},[this._v("Module层")]),this._v("。")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"_2-1-组成"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-1-组成","aria-hidden":"true"}},[this._v("#")]),this._v(" 2.1 组成")])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("HTML,可以是DOM的一个或多个节点;")]),this._v(" "),s("li",[this._v("CSS声明,关于这些DOM节点样式的CSS声明,其中部分CSS声明满足私立性;")]),this._v(" "),s("li",[this._v("资源组件,如背景图片,sprites等用于展示资源的;")]),this._v(" "),s("li",[this._v("事件,与对象关联的javascript行为、侦听器或方法。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("这么说可能难以理解,简单来说VueJS/ReactJS/Angular项目中components目录下各单位为一个"),s("strong",[this._v("组件对象")]),this._v(",views目录下各单位为一个"),s("strong",[this._v("模块对象")]),this._v("。")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-vue extra-class"},[a("pre",{pre:!0,attrs:{class:"language-vue"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("\x3c!-- \n toast\n --\x3e")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("template")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("\x3c!-- 组件对象的HTML --\x3e")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("transition")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("name")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("va-toast f-tc g-fs24 g-lh150per g-pf"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("v-if")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("show"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v(":class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("[$style['u-toast'], $tyle['g-toast'], $style['z-' + type]]"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-bgc_white")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("em")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("u-icon_il u-icon-info"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("f-bg_cover")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n {{ message }}\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("script")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token script"}},[a("span",{pre:!0,attrs:{class:"token language-javascript"}},[t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("default")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"toast"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("data")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n show"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n props"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" String"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("default")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'bottom'")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n message"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" String"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("default")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("''")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n show"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n type"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Boolean"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("default")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n methods"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("handleClose")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 组件对象的JavaScript事件")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("show "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("style")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("lang")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("less"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("module")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token style"}},[a("span",{pre:!0,attrs:{class:"token language-css"}},[t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* 组件对象的CSS声明(私有) */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-toast")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("padding")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 5px 7px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("max-width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 80%"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("min-width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 30%"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("min-height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 18px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("word-break")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" break-all"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("border-radius")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 8px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("-webkit-transform")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("translate")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("-50%"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("transform")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("translate")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("-50%"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".g-toast")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("z-index")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 29"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("left")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 50%"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".z-top")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("top")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10%"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".z-middle")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("top")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 35%"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("font-size")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 14px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("line-height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 20px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".z-bottom")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("bottom")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 15%"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("style")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("lang")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("less"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token style"}},[a("span",{pre:!0,attrs:{class:"token language-css"}},[t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* 组件对象的CSS声明 */")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token atrule"}},[a("span",{pre:!0,attrs:{class:"token rule"}},[t._v("@import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'~moo-css-base/mobileColors.less'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")])]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/*\n * v-toast\n */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-icon-info")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("background-image")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token url"}},[t._v("url(../images/i-info.png)")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" // 组件对象的组件资源\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".va-toast-enter-active, \n.va-fade-toast-leave-active")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("-webkit-transition")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" opacity .5s"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("transition")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" opacity .5s"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".va-toast-enter, \n.va-toast-leave-to")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("opacity")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("z-index")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" -1"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("可以理解,CSS对象中它的部分CSS声明需要有它的独立性,因此该组件便使用了css modules来保证"),s("code",[this._v(".u-toast")]),this._v("不受其他样式影响且不影响全局。")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"_2-2-oo特征"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-2-oo特征","aria-hidden":"true"}},[this._v("#")]),this._v(" 2.2 OO特征")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"_2-2-1-封装"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-2-1-封装","aria-hidden":"true"}},[this._v("#")]),this._v(" 2.2.1 封装")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"_2-2-2-继承"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-2-2-继承","aria-hidden":"true"}},[this._v("#")]),this._v(" 2.2.2 继承")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"_2-2-3-多态"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-2-3-多态","aria-hidden":"true"}},[this._v("#")]),this._v(" 2.2.3 多态")])}],!1,null,null,null);s.default=e.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/12.c66d8e70.js b/docs/assets/js/12.78d27001.js similarity index 84% rename from docs/assets/js/12.c66d8e70.js rename to docs/assets/js/12.78d27001.js index bceb1fa..e9f15c6 100644 --- a/docs/assets/js/12.c66d8e70.js +++ b/docs/assets/js/12.78d27001.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{194:function(v,_,t){"use strict";t.r(_);var d=t(0),e=Object(d.a)({},function(){this.$createElement;this._self._c;return this._m(0)},[function(){var v=this,_=v.$createElement,t=v._self._c||_;return t("div",{staticClass:"content"},[t("h1",{attrs:{id:"命名词典"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#命名词典","aria-hidden":"true"}},[v._v("#")]),v._v(" 命名词典")]),v._v(" "),t("h2",{attrs:{id:"module命名词典"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#module命名词典","aria-hidden":"true"}},[v._v("#")]),v._v(" Module命名词典")]),v._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[v._v("a - link ( tag)\nac - action\nadd - additional\nadv - advertise\naft - after\naux - auxillary\n\nbtn - button\n\ncat - catalog | category\ncnt - content | container\ncnts - contents\ncol - column\n\ndec - decorate\ndef - default\ndel - delete\ndescr - description\ndm - delim\ndoc - document\ndyn - dynamic\n\nel - element\nerr - error\next - external\n\nf - footer\nfr - friend\n\ngen - general\n\nhl - highlight\nhv - hover\nhld - holder\n\nimg - image\nitx - textarea\n\nlbl - label\nlk - link\nlr - layer\n\nmod - module | modifier\n\nn - name\nntf - notification\nnum - number\n\nopt - options\novr - overlay\n\nph - placeholder\npht - photo\npriv - privacy\n\nrfr - refresh\n\nscr - screen | scroll\nsel - select\nsett - settings\nsm - small\nspr - sprite\n\ntit - title\n\nwrap - wrapper\n")])])]),t("h2",{attrs:{id:"样式属性命名"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#样式属性命名","aria-hidden":"true"}},[v._v("#")]),v._v(" 样式属性命名")]),v._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[v._v("b - bottom\nbd - border\nbdc - border-color\nbdr - border-radius\nbg - background\nbgc - background-color\nbgi - background-image\nbgp - background-position\nbs - box-shadow\n\nc - clear\ncr - color\n\nf - float | front\nfs - font-size\nfw - font-weight\n\nh - height\nil - inline-block\n\nlh - line-height\nm - margin\nmb - margin-bottom\nml - margin-left\nmr - margin-right\nmt - margin-top\n\no - opacity\nov - overflow\n\np - padding | position\nper - %\npb - padding-bottom\npl - padding-left\npr - padding-right\npt - padding-top\n\nt - text-align\nti - text-indent\n\nunl - underline\nv - vertical-align | visibility\nw - width\n")])])]),t("h2",{attrs:{id:"样式模块词典"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#样式模块词典","aria-hidden":"true"}},[v._v("#")]),v._v(" 样式模块词典")]),v._v(" "),t("h3",{attrs:{id:"grid-g"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#grid-g","aria-hidden":"true"}},[v._v("#")]),v._v(" grid(g-)")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("属性")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("CSS版本")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("box-sizing")]),v._v(" "),t("td",[v._v("设置要应用盒子尺寸相关属性的元素")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("margin")]),v._v(" "),t("td",[v._v("设置元素盒子四个外边距宽度的简写属性")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("margin-bottom")]),v._v(" "),t("td",[v._v("设置盒子下外边距的宽度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("margin-left")]),v._v(" "),t("td",[v._v("设置盒子左外边距的宽度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("margin-right")]),v._v(" "),t("td",[v._v("设置盒子右外边距的宽度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("margin-top")]),v._v(" "),t("td",[v._v("设置盒子上外边距的宽度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("bottom")]),v._v(" "),t("td",[v._v("设置元素下外边距边界与包含块下边界之间的偏移")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("left")]),v._v(" "),t("td",[v._v("设置元素左外边距边界与包含块左边界之间的偏移")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("position")]),v._v(" "),t("td",[v._v("设置元素的定位方法")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("right")]),v._v(" "),t("td",[v._v("设置元素右外边距边界与包含块右边界之间的偏移")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("top")]),v._v(" "),t("td",[v._v("设置元素上外边距边界与包含块上边界之间的偏移")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("font")]),v._v(" "),t("td",[v._v("在一条声明中设置文本字体、大小和颜色的简写属性")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("line-height")]),v._v(" "),t("td",[v._v("设置行高")]),v._v(" "),t("td",[v._v("1")])])])]),v._v(" "),t("h3",{attrs:{id:"function-f"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#function-f","aria-hidden":"true"}},[v._v("#")]),v._v(" function(f-)")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("属性")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("CSS版本")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("background-attachment")]),v._v(" "),t("td",[v._v("设置元素的背景附着属性,决定背景图片是否随页面一起滚动")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("background-clip")]),v._v(" "),t("td",[v._v("设置元素背景颜色和图像的裁剪区域")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("background-origin")]),v._v(" "),t("td",[v._v("设置背景图像绘制的起始位置")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("background-position")]),v._v(" "),t("td",[v._v("设置背景图像在元素盒子中的位置")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("background-repeat")]),v._v(" "),t("td",[v._v("设置背景图像的重复方式")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("background-size")]),v._v(" "),t("td",[v._v("设置背景图像的绘制尺寸")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("border")]),v._v(" "),t("td",[v._v("为所有边界设置所有边框宽度的简写属性")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-bottom")]),v._v(" "),t("td",[v._v("为所有下边框设置宽度的简写属性")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-bottom-left-radius")]),v._v(" "),t("td",[v._v("将边框左下角设置为圆角")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("border-bottom-right-radius")]),v._v(" "),t("td",[v._v("将边框右下角设置为圆角")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("border-bottom-style")]),v._v(" "),t("td",[v._v("设置元素下边框的样式")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-image-repeat")]),v._v(" "),t("td",[v._v("指定边框图像的缩放和重复方式")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("border-image-slice")]),v._v(" "),t("td",[v._v("指定边框图像的切割方式")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("border-left")]),v._v(" "),t("td",[v._v("设置元素左边框的简写属性")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-left-style")]),v._v(" "),t("td",[v._v("设置左边框的样式")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-radius")]),v._v(" "),t("td",[v._v("指定圆角边框的简写属性")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("border-right")]),v._v(" "),t("td",[v._v("设置元素右边框的简写属性")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-right-style")]),v._v(" "),t("td",[v._v("设置右边框的样式")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-style")]),v._v(" "),t("td",[v._v("设置所有边框样式的简写属性")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-top")]),v._v(" "),t("td",[v._v("为所有上边框设置宽度的简写属性")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-top-left-radius")]),v._v(" "),t("td",[v._v("将边框左上角设置为圆角")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("border-top-right-radius")]),v._v(" "),t("td",[v._v("将边框右上角设置为圆角")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("border-top-style")]),v._v(" "),t("td",[v._v("设置元素上边框的样式")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("outline-offset")]),v._v(" "),t("td",[v._v("设置轮廓距离元素边框边缘的偏移量")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("outline-style")]),v._v(" "),t("td",[v._v("设置轮廓的样式")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("outline")]),v._v(" "),t("td",[v._v("在一条声明中设置轮廓的简写属性")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("clear")]),v._v(" "),t("td",[v._v("设置盒子的左边界、右边界或左右两个边界不允许出现浮动元素")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("float")]),v._v(" "),t("td",[v._v("将元素移动到其包含块的左边界或者右边界,或者另一个浮动元素的边界")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("overflow")]),v._v(" "),t("td",[v._v("设置内容横向和竖向溢出盒子时处理方式的简写属性")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("overflow-x")]),v._v(" "),t("td",[v._v("设置内容横向溢出盒子时的处理方式")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("overflow-y")]),v._v(" "),t("td",[v._v("设置内容纵向溢出盒子时的处理方式")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("font")]),v._v(" "),t("td",[v._v("在一条声明中设置文本字体、大小和颜色的简写属性")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("font-family")]),v._v(" "),t("td",[v._v("指定文本所用的字体系列,排在前面的优先使用")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("font-style")]),v._v(" "),t("td",[v._v("指定采用正常字体、斜体还是倾斜字体")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("font-variant")]),v._v(" "),t("td",[v._v("指定字体是否以小型大写字母显示")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("font-weight")]),v._v(" "),t("td",[v._v("指定文本粗细")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("letter-spacing")]),v._v(" "),t("td",[v._v("设置字母间距")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("text-align")]),v._v(" "),t("td",[v._v("设置文本对齐方式")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("text-decoration")]),v._v(" "),t("td",[v._v("规定添加到文本的修饰(如下划线)")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("text-indent")]),v._v(" "),t("td",[v._v("规定文本块中首行文本的缩进")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("text-justify")]),v._v(" "),t("td",[v._v("设置文本对齐方式")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("word-spacing")]),v._v(" "),t("td",[v._v("指定单词间距")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-collapse")]),v._v(" "),t("td",[v._v("指定表格相邻单元格边框的显示样式")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("border-spacing")]),v._v(" "),t("td",[v._v("指定相邻单元格的边框的距离")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("cursor")]),v._v(" "),t("td",[v._v("指定光标的形状")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("empty-cells")]),v._v(" "),t("td",[v._v("指定是否显示表格中的空单元格")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("list-style")]),v._v(" "),t("td",[v._v("设置列表样式的简写属性")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("list-style-type")]),v._v(" "),t("td",[v._v("指定列表项标记的类型")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("transform")]),v._v(" "),t("td",[v._v("指定应用于元素的变换")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("transform-origin")]),v._v(" "),t("td",[v._v("指定元素变换的起点")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("text-transform")]),v._v(" "),t("td",[v._v("属性控制文本的大小写")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("direction")]),v._v(" "),t("td",[v._v("指定文本方向")]),v._v(" "),t("td",[v._v("2")])])])]),v._v(" "),t("h3",{attrs:{id:"unit-u"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#unit-u","aria-hidden":"true"}},[v._v("#")]),v._v(" unit(u-)")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("属性")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("CSS版本")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("align-items")]),v._v(" "),t("td",[v._v("flex子项在flex容器的当前行的侧轴(纵轴)方向上的对齐方式")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("justify-content")]),v._v(" "),t("td",[v._v("用于设置或检索弹性盒子元素在主轴(横轴)方向上的对齐方式")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("caption-side")]),v._v(" "),t("td",[v._v("指定表格标题的位置")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("list-style-position")]),v._v(" "),t("td",[v._v("指定列表项标记相对于列表项内容的位置")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("table-layout")]),v._v(" "),t("td",[v._v("指定表格单元格、行和列的算法规则")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("border-bottom-width")]),v._v(" "),t("td",[v._v("设置元素下边框的宽度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-image-width")]),v._v(" "),t("td",[v._v("设置边框图像的宽度")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("border-left-width")]),v._v(" "),t("td",[v._v("设置左边框的宽度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-right-width")]),v._v(" "),t("td",[v._v("设置右边框的宽度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-top-width")]),v._v(" "),t("td",[v._v("设置元素上边框的宽度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-width")]),v._v(" "),t("td",[v._v("设置四个边框的宽度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("outline-width")]),v._v(" "),t("td",[v._v("设置轮廓的宽度")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("outline")]),v._v(" "),t("td",[v._v("在一条声明中设置轮廓的简写属性")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("display")]),v._v(" "),t("td",[v._v("设置元素盒子的类型")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("height")]),v._v(" "),t("td",[v._v("设置元素盒子的高度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("max-height")]),v._v(" "),t("td",[v._v("设置元素的最大高度")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("max-width")]),v._v(" "),t("td",[v._v("设置元素的最大宽度")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("min-height")]),v._v(" "),t("td",[v._v("设置元素的最小高度")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("min-width")]),v._v(" "),t("td",[v._v("设置元素的最小宽度")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("padding")]),v._v(" "),t("td",[v._v("设置元素盒子四个内边距宽度的简写属性")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("padding-bottom")]),v._v(" "),t("td",[v._v("设置盒子下内边距的宽度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("padding-left")]),v._v(" "),t("td",[v._v("设置盒子左内边距的宽度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("padding-right")]),v._v(" "),t("td",[v._v("设置盒子右内边距的宽度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("padding-top")]),v._v(" "),t("td",[v._v("设置盒子上内边距的宽度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("width")]),v._v(" "),t("td",[v._v("设置元素的宽度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("column-count")]),v._v(" "),t("td",[v._v("指定多列布局的列数")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("column-fill")]),v._v(" "),t("td",[v._v("多列布局中列与列之间的内容如何发布")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("column-gap")]),v._v(" "),t("td",[v._v("指定多列布局中列与列之间的间隔")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("column-rule")]),v._v(" "),t("td",[v._v("多列布局中定义列与列之间的规则的简写属性")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("column-rule-color")]),v._v(" "),t("td",[v._v("设置多列布局中的颜色规划")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("column-rule-style")]),v._v(" "),t("td",[v._v("设置多列布局中的样式规则")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("column-rule-width")]),v._v(" "),t("td",[v._v("设置多列布局中的宽度规则")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("columns")]),v._v(" "),t("td",[v._v("在多列布局中设置列数和列宽度的简写属性")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("column-span")]),v._v(" "),t("td",[v._v("指定多列布局中元素能跨多少列")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("column-width")]),v._v(" "),t("td",[v._v("设置多列布局中列的宽度")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("flex-align、flex-direction、flex-order、flex-pack")]),v._v(" "),t("td",[v._v("它们都是由弹性盒子布局定义的")]),v._v(" "),t("td",[v._v("3")])])])]),v._v(" "),t("h3",{attrs:{id:"status-z"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#status-z","aria-hidden":"true"}},[v._v("#")]),v._v(" status(z-)")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("属性")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("CSS版本")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("visibility")]),v._v(" "),t("td",[v._v("设置元素的可见性")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("z-index")]),v._v(" "),t("td",[v._v("设置定位元素的堆叠顺序")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("opacity")]),v._v(" "),t("td",[v._v("设置元素的透明度")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("display")]),v._v(" "),t("td",[v._v("指定元素在页面上的显示方式")]),v._v(" "),t("td",[v._v("1")])])])]),v._v(" "),t("h3",{attrs:{id:"skin-s"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#skin-s","aria-hidden":"true"}},[v._v("#")]),v._v(" skin(s-)")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("属性")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("CSS版本")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("color")]),v._v(" "),t("td",[v._v("设置元素的前景色")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("list-style-image")]),v._v(" "),t("td",[v._v("指定列表项标记使用的图像")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("text-shadow")]),v._v(" "),t("td",[v._v("指定文本块的阴影效果")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("box-shadow")]),v._v(" "),t("td",[v._v("设置元素的一个或者多个阴影效果")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("outline-color")]),v._v(" "),t("td",[v._v("设置元素边框外围轮廓线的颜色")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("border-top-color")]),v._v(" "),t("td",[v._v("为所有上边框设置颜色")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-right-color")]),v._v(" "),t("td",[v._v("设置右边框的颜色")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-left-color")]),v._v(" "),t("td",[v._v("设置左边框的颜色")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-bottom-color")]),v._v(" "),t("td",[v._v("为所有下边框设置颜色")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("background-color")]),v._v(" "),t("td",[v._v("设置背景颜色")]),v._v(" "),t("td",[v._v("1")])])])]),v._v(" "),t("h3",{attrs:{id:"animation-a"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#animation-a","aria-hidden":"true"}},[v._v("#")]),v._v(" animation(a-)")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("属性")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("CSS版本")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("transition")]),v._v(" "),t("td",[v._v("指定CSS属性过渡效果的简写属性")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("transition-delay")]),v._v(" "),t("td",[v._v("指定触发过渡的延迟时间")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("transition-duration")]),v._v(" "),t("td",[v._v("指定过渡的持续时间")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("transition-property")]),v._v(" "),t("td",[v._v("指定带有过渡效果的属性")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("transition-timing-function")]),v._v(" "),t("td",[v._v("指定过渡期间计算中间属性值的函数")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("animation")]),v._v(" "),t("td",[v._v("设置动画的简写属性")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("animation-deplay")]),v._v(" "),t("td",[v._v("指定动画开始前的延迟时间")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("animation-direction")]),v._v(" "),t("td",[v._v("指定动画重复播放时的播放方向")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("animation-duration")]),v._v(" "),t("td",[v._v("指定动画的持续时间")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("animation-iteration-count")]),v._v(" "),t("td",[v._v("指定动画的循环次数")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("animation-name")]),v._v(" "),t("td",[v._v("指定用于动画的关键帧集合的名称")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("animation-play-state")]),v._v(" "),t("td",[v._v("指定动画状态(播放或暂停)")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("animation-timing-function")]),v._v(" "),t("td",[v._v("指定关键帧之间计算属性值的函数")]),v._v(" "),t("td",[v._v("3")])])])]),v._v(" "),t("h2",{attrs:{id:"moo-css-base词典"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#moo-css-base词典","aria-hidden":"true"}},[v._v("#")]),v._v(" moo-css-base词典")]),v._v(" "),t("h3",{attrs:{id:"颜色"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#颜色","aria-hidden":"true"}},[v._v("#")]),v._v(" 颜色")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("变量")]),v._v(" "),t("th",[v._v("十六进制色值")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("效果")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("body_bg")]),v._v(" "),t("td",[v._v("#efeef5")]),v._v(" "),t("td",[v._v("灰-页面背景")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#efeef5"}})])]),v._v(" "),t("tr",[t("td",[v._v("part_bg")]),v._v(" "),t("td",[v._v("#fff")]),v._v(" "),t("td",[v._v("白-模块背景")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#fff"}})])]),v._v(" "),t("tr",[t("td",[v._v("font-base")]),v._v(" "),t("td",[v._v("#323232")]),v._v(" "),t("td",[v._v("黑,正文-1")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#323232"}})])]),v._v(" "),t("tr",[t("td",[v._v("font-base_")]),v._v(" "),t("td",[v._v("#333")]),v._v(" "),t("td",[v._v("黑,正文-2")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#333"}})])]),v._v(" "),t("tr",[t("td",[v._v("font-sub")]),v._v(" "),t("td",[v._v("#666")]),v._v(" "),t("td",[v._v("灰色-正文")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#666"}})])]),v._v(" "),t("tr",[t("td",[v._v("font-sub_")]),v._v(" "),t("td",[v._v("#999")]),v._v(" "),t("td",[v._v("浅灰-次要文字")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#999"}})])]),v._v(" "),t("tr",[t("td",[v._v("font-link")]),v._v(" "),t("td",[v._v("#11a6fc")]),v._v(" "),t("td",[v._v("蓝色-链接")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#11a6fc"}})])]),v._v(" "),t("tr",[t("td",[v._v("font-up")]),v._v(" "),t("td",[v._v("#fe5d4e")]),v._v(" "),t("td",[v._v("红色-涨")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#fe5d4e"}})])]),v._v(" "),t("tr",[t("td",[v._v("font-down")]),v._v(" "),t("td",[v._v("#009801")]),v._v(" "),t("td",[v._v("绿色-跌")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#009801"}})])]),v._v(" "),t("tr",[t("td",[v._v("button-red")]),v._v(" "),t("td",[v._v("#cf0e0f")]),v._v(" "),t("td",[v._v("红色,按钮")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#cf0e0f"}})])]),v._v(" "),t("tr",[t("td",[v._v("button-orange")]),v._v(" "),t("td",[v._v("#ff7010")]),v._v(" "),t("td",[v._v("橙色,按钮")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#ff7010"}})])]),v._v(" "),t("tr",[t("td",[v._v("button-yellow")]),v._v(" "),t("td",[v._v("#f1ae3f")]),v._v(" "),t("td",[v._v("黄色,按钮")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#f1ae3f"}})])]),v._v(" "),t("tr",[t("td",[v._v("button-gray")]),v._v(" "),t("td",[v._v("#ccc")]),v._v(" "),t("td",[v._v("灰色,按钮")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#ccc"}})])]),v._v(" "),t("tr",[t("td",[v._v("button-disable")]),v._v(" "),t("td",[v._v("#d6d6d6")]),v._v(" "),t("td",[v._v("灰色,按钮不可用")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#d6d6d6"}})])]),v._v(" "),t("tr",[t("td",[v._v("border-gray")]),v._v(" "),t("td",[v._v("#e2e2e2")]),v._v(" "),t("td",[v._v("边框-灰")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#e2e2e2"}})])]),v._v(" "),t("tr",[t("td",[v._v("red")]),v._v(" "),t("td",[v._v("#fe5d4e")]),v._v(" "),t("td",[v._v("红色-涨、按钮")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#fe5d4e"}})])]),v._v(" "),t("tr",[t("td",[v._v("orange-light")]),v._v(" "),t("td",[v._v("#ff8f2e")]),v._v(" "),t("td",[v._v("浅橙")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#ff8f2e"}})])]),v._v(" "),t("tr",[t("td",[v._v("orange")]),v._v(" "),t("td",[v._v("#ff7010")]),v._v(" "),t("td",[v._v("橙色")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#ff7010"}})])]),v._v(" "),t("tr",[t("td",[v._v("yellow")]),v._v(" "),t("td",[v._v("#f1ae3f")]),v._v(" "),t("td",[v._v("黄色")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#f1ae3f"}})])]),v._v(" "),t("tr",[t("td",[v._v("green")]),v._v(" "),t("td",[v._v("#009801")]),v._v(" "),t("td",[v._v("绿色")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#009801"}})])]),v._v(" "),t("tr",[t("td",[v._v("blue")]),v._v(" "),t("td",[v._v("#01a2fc")]),v._v(" "),t("td",[v._v("蓝色")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#01a2fc"}})])]),v._v(" "),t("tr",[t("td",[v._v("gray")]),v._v(" "),t("td",[v._v("#d3d6d8")]),v._v(" "),t("td",[v._v("灰色")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#d3d6d8"}})])]),v._v(" "),t("tr",[t("td",[v._v("gray-light")]),v._v(" "),t("td",[v._v("#999")]),v._v(" "),t("td",[v._v("浅灰色")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#999"}})])]),v._v(" "),t("tr",[t("td",[v._v("white")]),v._v(" "),t("td",[v._v("#fff")]),v._v(" "),t("td",[v._v("白色")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#fff"}})])])])]),v._v(" "),t("h3",{attrs:{id:"方法"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#方法","aria-hidden":"true"}},[v._v("#")]),v._v(" 方法")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("方法名")]),v._v(" "),t("th",[v._v("参数")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("平台")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("unit")]),v._v(" "),t("td",[v._v("name, px")]),v._v(" "),t("td",[v._v("设置vw属性,name为属性名,px为像素值,如less:.unit(width, 100)")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v("wh")]),v._v(" "),t("td",[v._v("width, height")]),v._v(" "),t("td",[v._v("设置宽高")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("square")]),v._v(" "),t("td",[v._v("width")]),v._v(" "),t("td",[v._v("设置正方形(宽高相等)")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("hh")]),v._v(" "),t("td",[v._v("height")]),v._v(" "),t("td",[v._v("设置高度同时设置行高,height=line-height")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("font")]),v._v(" "),t("td",[v._v("font-size, line-height")]),v._v(" "),t("td",[v._v("设置字体大小及行高,如less:.font(24px, 40px)")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("sc")]),v._v(" "),t("td",[v._v("font-size, color")]),v._v(" "),t("td",[v._v("设置字体大小及颜色,如less:.sc(26px, #ccc)")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("mulit-ellipsis")]),v._v(" "),t("td",[v._v("maxline")]),v._v(" "),t("td",[v._v('多行文字溢出展示"...",如less: .mulit-ellipsis(2)')]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("pseudo-class")]),v._v(" "),t("td",[v._v("-")]),v._v(" "),t("td",[v._v("设置伪元素布局,通常用作css图形、边框1px")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("font-DIN")]),v._v(" "),t("td",[v._v("-")]),v._v(" "),t("td",[v._v("font-family使用DIN字体")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v("position")]),v._v(" "),t("td",[v._v("top, left")]),v._v(" "),t("td",[v._v("设置top及left,如less:.position(10%, 15vh)")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("bis")]),v._v(" "),t("td",[v._v("url")]),v._v(" "),t("td",[v._v("设置背景图且填充整个容器,如.bis('https://github.com/MichealWayne/Moo-CSS/raw/master/docs/logo.png')")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("blur")]),v._v(" "),t("td",[v._v("range")]),v._v(" "),t("td",[v._v("设置模糊,range为模糊半径")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("center")]),v._v(" "),t("td",[v._v("-")]),v._v(" "),t("td",[v._v("水平垂直居中定位")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("fixed-mask")]),v._v(" "),t("td",[v._v("-")]),v._v(" "),t("td",[v._v("设置fixed全屏布局样式")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("border-top-radius")]),v._v(" "),t("td",[v._v("radius")]),v._v(" "),t("td",[v._v("单边圆角,上边")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("border-right-radius")]),v._v(" "),t("td",[v._v("radius")]),v._v(" "),t("td",[v._v("单边圆角,右边")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("border-bottom-radius")]),v._v(" "),t("td",[v._v("radius")]),v._v(" "),t("td",[v._v("单边圆角,下边")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("border-left-radius")]),v._v(" "),t("td",[v._v("radius")]),v._v(" "),t("td",[v._v("单边圆角,左边")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("set-scroll")]),v._v(" "),t("td",[v._v("color")]),v._v(" "),t("td",[v._v("设置滚动条颜色,需要hsl颜色,如less:.setScroll(hsla(200, 100%, 54%, 1))")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v("set-scroll-elastic")]),v._v(" "),t("td",[v._v("-")]),v._v(" "),t("td",[v._v("设置滚动区域带弹性效果(IOS)")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v("min-width")]),v._v(" "),t("td",[v._v("min-width")]),v._v(" "),t("td",[v._v("设置最小宽度且兼容IE6")]),v._v(" "),t("td",[v._v("PC")])]),v._v(" "),t("tr",[t("td",[v._v("min-height")]),v._v(" "),t("td",[v._v("min-height")]),v._v(" "),t("td",[v._v("设置最小高度且兼容IE6")]),v._v(" "),t("td",[v._v("PC")])]),v._v(" "),t("tr",[t("td",[v._v("dib")]),v._v(" "),t("td",[v._v("-")]),v._v(" "),t("td",[v._v("内联块级元素, 兼容IE6")]),v._v(" "),t("td",[v._v("PC")])]),v._v(" "),t("tr",[t("td",[v._v("fixed")]),v._v(" "),t("td",[v._v("-")]),v._v(" "),t("td",[v._v("固定定位, 兼容IE6")]),v._v(" "),t("td",[v._v("PC")])]),v._v(" "),t("tr",[t("td",[v._v("fl")]),v._v(" "),t("td",[v._v("-")]),v._v(" "),t("td",[v._v("左浮动, 兼容 IE6")]),v._v(" "),t("td",[v._v("PC")])]),v._v(" "),t("tr",[t("td",[v._v("fr")]),v._v(" "),t("td",[v._v("-")]),v._v(" "),t("td",[v._v("右浮动, 兼容 IE6")]),v._v(" "),t("td",[v._v("PC")])]),v._v(" "),t("tr",[t("td",[v._v("clearfix")]),v._v(" "),t("td",[v._v("-")]),v._v(" "),t("td",[v._v("清除浮动")]),v._v(" "),t("td",[v._v("PC")])]),v._v(" "),t("tr",[t("td",[v._v("no-select")]),v._v(" "),t("td",[v._v("-")]),v._v(" "),t("td",[v._v("禁止文字选中")]),v._v(" "),t("td",[v._v("PC")])]),v._v(" "),t("tr",[t("td",[v._v("bg-variant")]),v._v(" "),t("td",[v._v("color")]),v._v(" "),t("td",[v._v("按钮颜色设置(hover及focus颜色加深)")]),v._v(" "),t("td",[v._v("PC")])]),v._v(" "),t("tr",[t("td",[v._v("opacity")]),v._v(" "),t("td",[v._v("opacity")]),v._v(" "),t("td",[v._v("设置透明度,兼容 IE6")]),v._v(" "),t("td",[v._v("PC")])])])]),v._v(" "),t("h3",{attrs:{id:"样式"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#样式","aria-hidden":"true"}},[v._v("#")]),v._v(" 样式")]),v._v(" "),t("h4",{attrs:{id:"grid"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#grid","aria-hidden":"true"}},[v._v("#")]),v._v(" grid")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("类/属性名")]),v._v(" "),t("th",[v._v("属性")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("平台")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v(".g-box_b")]),v._v(" "),t("td",[t("code",[v._v("-webkit-box-sizing: border-box; box-sizing: border-box;")])]),v._v(" "),t("td",[v._v("对元素指定宽度和高度包括了 padding 和 border 。")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".g-box_c")]),v._v(" "),t("td",[t("code",[v._v("-webkit-box-sizing: content-box; box-sizing: content-box;")])]),v._v(" "),t("td",[v._v("指定元素的宽度和高度(最小/最大属性)适用于box的宽度和高度。元素的填充和边框布局和绘制指定宽度和高度除外。")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".g-center")]),v._v(" "),t("td",[t("code",[v._v("margin-left: auto;margin-right: auto;")])]),v._v(" "),t("td",[v._v("块元素居中。")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".g-pf")]),v._v(" "),t("td",[t("code",[v._v("position: fixed;")])]),v._v(" "),t("td",[v._v("设置固定定位")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".g-pr")]),v._v(" "),t("td",[t("code",[v._v("position: relative;")])]),v._v(" "),t("td",[v._v("设置相对定位")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".g-pa")]),v._v(" "),t("td",[t("code",[v._v("position: absolute;")])]),v._v(" "),t("td",[v._v("设置绝对定位")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs10")]),v._v(" "),t("td",[t("code",[v._v("font-size: 1.3333vw;")])]),v._v(" "),t("td",[v._v("字体大小为10px(750px设计稿,1vw=7.5px响应式,后续移动长度单位同此)")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs12")]),v._v(" "),t("td",[t("code",[v._v("font-size: 1.6vw;")])]),v._v(" "),t("td",[v._v("字体大小为12px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs14")]),v._v(" "),t("td",[t("code",[v._v("font-size: 1.8667vw;")])]),v._v(" "),t("td",[v._v("字体大小为14px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs16")]),v._v(" "),t("td",[t("code",[v._v("font-size: 2.1333vw;")])]),v._v(" "),t("td",[v._v("字体大小为16px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs18")]),v._v(" "),t("td",[t("code",[v._v("font-size: 2.4vw;")])]),v._v(" "),t("td",[v._v("字体大小为18px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs20")]),v._v(" "),t("td",[t("code",[v._v("font-size: 2.6667vw;")])]),v._v(" "),t("td",[v._v("字体大小为20px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs22")]),v._v(" "),t("td",[t("code",[v._v("font-size: 2.9333vw;")])]),v._v(" "),t("td",[v._v("字体大小为22px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs24")]),v._v(" "),t("td",[t("code",[v._v("font-size: 3.2vw;")])]),v._v(" "),t("td",[v._v("字体大小为24px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs26")]),v._v(" "),t("td",[t("code",[v._v("font-size: 3.4667vw;")])]),v._v(" "),t("td",[v._v("字体大小为26px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs28")]),v._v(" "),t("td",[t("code",[v._v("font-size: 3.7333vw;")])]),v._v(" "),t("td",[v._v("字体大小为28px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs30")]),v._v(" "),t("td",[t("code",[v._v("font-size: 4vw;")])]),v._v(" "),t("td",[v._v("字体大小为30px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs32")]),v._v(" "),t("td",[t("code",[v._v("font-size: 4.2667vw;")])]),v._v(" "),t("td",[v._v("字体大小为32px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs34")]),v._v(" "),t("td",[t("code",[v._v("font-size: 4.5333vw;")])]),v._v(" "),t("td",[v._v("字体大小为34px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs36")]),v._v(" "),t("td",[t("code",[v._v("font-size: 4.8vw;")])]),v._v(" "),t("td",[v._v("字体大小为36px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs38")]),v._v(" "),t("td",[t("code",[v._v("font-size: 5.0667vw;")])]),v._v(" "),t("td",[v._v("字体大小为38px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs40")]),v._v(" "),t("td",[t("code",[v._v("font-size: 5.3333vw;")])]),v._v(" "),t("td",[v._v("字体大小为40px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-lh150per")]),v._v(" "),t("td",[t("code",[v._v("line-height: 1.5;")])]),v._v(" "),t("td",[v._v("行高1.5")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".g-lh180per")]),v._v(" "),t("td",[t("code",[v._v("line-height: 1.8;")])]),v._v(" "),t("td",[v._v("行高1.8")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".g-lh200per")]),v._v(" "),t("td",[t("code",[v._v("line-height: 2;")])]),v._v(" "),t("td",[v._v("行高2")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".g-m20")]),v._v(" "),t("td",[t("code",[v._v("margin: 2.6667vw;")])]),v._v(" "),t("td",[v._v("margin四边均为20px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-m30")]),v._v(" "),t("td",[t("code",[v._v("margin: 4vw;")])]),v._v(" "),t("td",[v._v("margin四边均为30px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-m40")]),v._v(" "),t("td",[t("code",[v._v("margin: 5.3333vw;")])]),v._v(" "),t("td",[v._v("margin四边均为40px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-m50")]),v._v(" "),t("td",[t("code",[v._v("margin: 6.6667vw;")])]),v._v(" "),t("td",[v._v("margin四边均为60px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mt10")]),v._v(" "),t("td",[t("code",[v._v("margin-top: 1.3333vw;")])]),v._v(" "),t("td",[v._v("上边距10px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mt20")]),v._v(" "),t("td",[t("code",[v._v("margin-top: 2.6667vw;")])]),v._v(" "),t("td",[v._v("上边距20px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mt30")]),v._v(" "),t("td",[t("code",[v._v("margin-top: 4vw;")])]),v._v(" "),t("td",[v._v("上边距30px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mt40")]),v._v(" "),t("td",[t("code",[v._v("margin-top: 5.3333vw;")])]),v._v(" "),t("td",[v._v("上边距40px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mt50")]),v._v(" "),t("td",[t("code",[v._v("margin-top: 6.6667vw;")])]),v._v(" "),t("td",[v._v("上边距50px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mt60")]),v._v(" "),t("td",[t("code",[v._v("margin-top: 8vw;")])]),v._v(" "),t("td",[v._v("上边距60px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mt70")]),v._v(" "),t("td",[t("code",[v._v("margin-top: 9.3333vw;")])]),v._v(" "),t("td",[v._v("上边距70px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mt80")]),v._v(" "),t("td",[t("code",[v._v("margin-top: 10.6667vw;")])]),v._v(" "),t("td",[v._v("上边距80px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mt90")]),v._v(" "),t("td",[t("code",[v._v("margin-top: 12vw;")])]),v._v(" "),t("td",[v._v("上边距90px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mt100")]),v._v(" "),t("td",[t("code",[v._v("margin-top: 13.3333vw;")])]),v._v(" "),t("td",[v._v("上边距100px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mr10")]),v._v(" "),t("td",[t("code",[v._v("margin-right: 1.3333vw;")])]),v._v(" "),t("td",[v._v("右边距10px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mr20")]),v._v(" "),t("td",[t("code",[v._v("margin-right: 2.6667vw;")])]),v._v(" "),t("td",[v._v("右边距20px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mr30")]),v._v(" "),t("td",[t("code",[v._v("margin-right: 4vw;")])]),v._v(" "),t("td",[v._v("右边距30px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mr40")]),v._v(" "),t("td",[t("code",[v._v("margin-right: 5.3333vw;")])]),v._v(" "),t("td",[v._v("右边距40px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mr50")]),v._v(" "),t("td",[t("code",[v._v("margin-right: 6.6667vw;")])]),v._v(" "),t("td",[v._v("右边距50px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mr60")]),v._v(" "),t("td",[t("code",[v._v("margin-right: 8vw;")])]),v._v(" "),t("td",[v._v("右边距60px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mr70")]),v._v(" "),t("td",[t("code",[v._v("margin-right: 9.3333vw;")])]),v._v(" "),t("td",[v._v("右边距70px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mr80")]),v._v(" "),t("td",[t("code",[v._v("margin-right: 10.6667vw;")])]),v._v(" "),t("td",[v._v("右边距80px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mr90")]),v._v(" "),t("td",[t("code",[v._v("margin-right: 12vw;")])]),v._v(" "),t("td",[v._v("右边距90px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mr100")]),v._v(" "),t("td",[t("code",[v._v("margin-right: 13.3333vw;")])]),v._v(" "),t("td",[v._v("右边距100px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mb10")]),v._v(" "),t("td",[t("code",[v._v("margin-bottom: 1.3333vw;")])]),v._v(" "),t("td",[v._v("下边距10px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mb20")]),v._v(" "),t("td",[t("code",[v._v("margin-bottom: 2.6667vw;")])]),v._v(" "),t("td",[v._v("下边距20px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mb30")]),v._v(" "),t("td",[t("code",[v._v("margin-bottom: 4vw;")])]),v._v(" "),t("td",[v._v("下边距30px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mb40")]),v._v(" "),t("td",[t("code",[v._v("margin-bottom: 5.3333vw;")])]),v._v(" "),t("td",[v._v("下边距40px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mb50")]),v._v(" "),t("td",[t("code",[v._v("margin-bottom: 6.6667vw;")])]),v._v(" "),t("td",[v._v("下边距50px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mb60")]),v._v(" "),t("td",[t("code",[v._v("margin-bottom: 8vw;")])]),v._v(" "),t("td",[v._v("下边距60px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mb70")]),v._v(" "),t("td",[t("code",[v._v("margin-bottom: 9.3333vw;")])]),v._v(" "),t("td",[v._v("下边距70px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mb80")]),v._v(" "),t("td",[t("code",[v._v("margin-bottom: 10.6667vw;")])]),v._v(" "),t("td",[v._v("下边距80px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mb90")]),v._v(" "),t("td",[t("code",[v._v("margin-bottom: 12vw;")])]),v._v(" "),t("td",[v._v("下边距90px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mb100")]),v._v(" "),t("td",[t("code",[v._v("margin-bottom: 13.3333vw;")])]),v._v(" "),t("td",[v._v("下边距100px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-ml10")]),v._v(" "),t("td",[t("code",[v._v("margin-left: 1.3333vw;")])]),v._v(" "),t("td",[v._v("左边距10px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-ml20")]),v._v(" "),t("td",[t("code",[v._v("margin-left: 2.6667vw;")])]),v._v(" "),t("td",[v._v("左边距20px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-ml30")]),v._v(" "),t("td",[t("code",[v._v("margin-left: 4vw;")])]),v._v(" "),t("td",[v._v("左边距30px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-ml40")]),v._v(" "),t("td",[t("code",[v._v("margin-left: 5.3333vw;")])]),v._v(" "),t("td",[v._v("左边距40px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-ml50")]),v._v(" "),t("td",[t("code",[v._v("margin-left: 6.6667vw;")])]),v._v(" "),t("td",[v._v("左边距50px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-ml60")]),v._v(" "),t("td",[t("code",[v._v("margin-left: 8vw;")])]),v._v(" "),t("td",[v._v("左边距60px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-ml70")]),v._v(" "),t("td",[t("code",[v._v("margin-left: 9.3333vw;")])]),v._v(" "),t("td",[v._v("左边距70px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-ml80")]),v._v(" "),t("td",[t("code",[v._v("margin-left: 10.6667vw;")])]),v._v(" "),t("td",[v._v("左边距80px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-ml90")]),v._v(" "),t("td",[t("code",[v._v("margin-left: 12vw;")])]),v._v(" "),t("td",[v._v("左边距90px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-ml100")]),v._v(" "),t("td",[t("code",[v._v("margin-left: 13.3333vw;")])]),v._v(" "),t("td",[v._v("左边距100px")]),v._v(" "),t("td",[v._v("mobile")])])])]),v._v(" "),t("ul",[t("li",[v._v("注意:PC版.g-fs"),t("em",[v._v("单位跨度从10px到40px,如.g-fs10, ... , .g-fs40;..g-mt")]),v._v("/.g-mr*/.g-mb*/.g-ml*单位跨度从10px到200px,如.g-mt10, ... , .g-mt200")])]),v._v(" "),t("h4",{attrs:{id:"unit"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#unit","aria-hidden":"true"}},[v._v("#")]),v._v(" unit")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("类/属性名")]),v._v(" "),t("th",[v._v("属性")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("平台")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v(".u-block")]),v._v(" "),t("td",[t("code",[v._v("display: block")])]),v._v(" "),t("td",[v._v("设置为块元素")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-block_il")]),v._v(" "),t("td",[t("code",[v._v("display: inline-block")])]),v._v(" "),t("td",[v._v("设置为行内块元素")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-inline")]),v._v(" "),t("td",[t("code",[v._v("display: inline")])]),v._v(" "),t("td",[v._v("设置为行内元素")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w")]),v._v(" "),t("td",[t("code",[v._v("display: block; width: 100%;")])]),v._v(" "),t("td",[v._v("块元素宽度100%")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w92per")]),v._v(" "),t("td",[t("code",[v._v("display: block; width: 92%;")])]),v._v(" "),t("td",[v._v("块元素宽度92%")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w50per")]),v._v(" "),t("td",[t("code",[v._v("display: block; width: 50%;")])]),v._v(" "),t("td",[v._v("块元素宽度50%")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w10")]),v._v(" "),t("td",[t("code",[v._v("width: 1.3333vw;")])]),v._v(" "),t("td",[v._v("宽度10px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w20")]),v._v(" "),t("td",[t("code",[v._v("width: 2.6667vw;")])]),v._v(" "),t("td",[v._v("宽度20px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w30")]),v._v(" "),t("td",[t("code",[v._v("width: 4vw;")])]),v._v(" "),t("td",[v._v("宽度30px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w40")]),v._v(" "),t("td",[t("code",[v._v("width: 5.3333vw;")])]),v._v(" "),t("td",[v._v("宽度40px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w50")]),v._v(" "),t("td",[t("code",[v._v("width: 6.6667vw;")])]),v._v(" "),t("td",[v._v("宽度50px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w60")]),v._v(" "),t("td",[t("code",[v._v("width: 8vw;")])]),v._v(" "),t("td",[v._v("宽度60px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w70")]),v._v(" "),t("td",[t("code",[v._v("width: 9.3333vw;")])]),v._v(" "),t("td",[v._v("宽度70px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w80")]),v._v(" "),t("td",[t("code",[v._v("width: 10.6667vw;")])]),v._v(" "),t("td",[v._v("宽度80px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w90")]),v._v(" "),t("td",[t("code",[v._v("width: 12vw;")])]),v._v(" "),t("td",[v._v("宽度90px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w100")]),v._v(" "),t("td",[t("code",[v._v("width: 13.3333vw;")])]),v._v(" "),t("td",[v._v("宽度100px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w150")]),v._v(" "),t("td",[t("code",[v._v("width: 19.9995vw")])]),v._v(" "),t("td",[v._v("宽度150px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w200")]),v._v(" "),t("td",[t("code",[v._v("width: 26.6667vw")])]),v._v(" "),t("td",[v._v("宽度200px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-h")]),v._v(" "),t("td",[t("code",[v._v("height: 100%")])]),v._v(" "),t("td",[v._v("高度100%")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-h10")]),v._v(" "),t("td",[t("code",[v._v("height: 1.3333vw;")])]),v._v(" "),t("td",[v._v("高度10px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-h20")]),v._v(" "),t("td",[t("code",[v._v("height: 2.6667vw;")])]),v._v(" "),t("td",[v._v("高度20px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-h30")]),v._v(" "),t("td",[t("code",[v._v("height: 4vw;")])]),v._v(" "),t("td",[v._v("高度30px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-h40")]),v._v(" "),t("td",[t("code",[v._v("height: 5.3333vw;")])]),v._v(" "),t("td",[v._v("高度40px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-h50")]),v._v(" "),t("td",[t("code",[v._v("height: 6.6667vw;")])]),v._v(" "),t("td",[v._v("高度50px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-h60")]),v._v(" "),t("td",[t("code",[v._v("height: 8vw;")])]),v._v(" "),t("td",[v._v("高度60px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-h70")]),v._v(" "),t("td",[t("code",[v._v("height: 9.3333vw;")])]),v._v(" "),t("td",[v._v("高度70px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-h80")]),v._v(" "),t("td",[t("code",[v._v("height: 10.6667vw;")])]),v._v(" "),t("td",[v._v("高度80px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-h90")]),v._v(" "),t("td",[t("code",[v._v("height: 12vw;")])]),v._v(" "),t("td",[v._v("高度90px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-h100")]),v._v(" "),t("td",[t("code",[v._v("height: 13.3333vw;")])]),v._v(" "),t("td",[v._v("高度100px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-h150")]),v._v(" "),t("td",[t("code",[v._v("height: 19.9995vw")])]),v._v(" "),t("td",[v._v("高度150px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-h200")]),v._v(" "),t("td",[t("code",[v._v("height: 26.6667vw")])]),v._v(" "),t("td",[v._v("高度200px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-p10")]),v._v(" "),t("td",[t("code",[v._v("padding: 1.3333vw;")])]),v._v(" "),t("td",[v._v("padding四边均为10px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-p15")]),v._v(" "),t("td",[t("code",[v._v("padding: 1.99995vw;")])]),v._v(" "),t("td",[v._v("padding四边均为10px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-p20")]),v._v(" "),t("td",[t("code",[v._v("padding: 2.6667vw;")])]),v._v(" "),t("td",[v._v("padding四边均为20px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-p30")]),v._v(" "),t("td",[t("code",[v._v("padding: 4vw;")])]),v._v(" "),t("td",[v._v("padding四边均为30px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pt10")]),v._v(" "),t("td",[t("code",[v._v("padding-top: 1.3333vw;")])]),v._v(" "),t("td",[v._v("上内边距10px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pt15")]),v._v(" "),t("td",[t("code",[v._v("padding-top: 1.3333vw;")])]),v._v(" "),t("td",[v._v("上内边距15px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pt20")]),v._v(" "),t("td",[t("code",[v._v("padding-top: 2.6667vw;")])]),v._v(" "),t("td",[v._v("上内边距20px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pt30")]),v._v(" "),t("td",[t("code",[v._v("padding-top: 4vw;")])]),v._v(" "),t("td",[v._v("上内边距30px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pt40")]),v._v(" "),t("td",[t("code",[v._v("padding-top: 5.3333vw;")])]),v._v(" "),t("td",[v._v("上内边距40px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pt50")]),v._v(" "),t("td",[t("code",[v._v("padding-top: 6.6667vw;")])]),v._v(" "),t("td",[v._v("上内边距50px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pt60")]),v._v(" "),t("td",[t("code",[v._v("padding-top: 8vw;")])]),v._v(" "),t("td",[v._v("上内边距60px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pt70")]),v._v(" "),t("td",[t("code",[v._v("padding-top: 9.3333vw;")])]),v._v(" "),t("td",[v._v("上内边距70px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pt80")]),v._v(" "),t("td",[t("code",[v._v("padding-top: 10.6667vw;")])]),v._v(" "),t("td",[v._v("上内边距80px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pt90")]),v._v(" "),t("td",[t("code",[v._v("padding-top: 12vw;")])]),v._v(" "),t("td",[v._v("上内边距90px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pt100")]),v._v(" "),t("td",[t("code",[v._v("padding-top: 13.3333vw;")])]),v._v(" "),t("td",[v._v("上内边距100px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pr4per")]),v._v(" "),t("td",[t("code",[v._v("padding-right: 4%;")])]),v._v(" "),t("td",[v._v("右内边距4%")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pr10")]),v._v(" "),t("td",[t("code",[v._v("padding-right: 1.3333vw;")])]),v._v(" "),t("td",[v._v("右内边距10px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pr15")]),v._v(" "),t("td",[t("code",[v._v("padding-right: 1.3333vw;")])]),v._v(" "),t("td",[v._v("右内边距15px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pr20")]),v._v(" "),t("td",[t("code",[v._v("padding-right: 2.6667vw;")])]),v._v(" "),t("td",[v._v("右内边距20px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pr30")]),v._v(" "),t("td",[t("code",[v._v("padding-right: 4vw;")])]),v._v(" "),t("td",[v._v("右内边距30px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pr40")]),v._v(" "),t("td",[t("code",[v._v("padding-right: 5.3333vw;")])]),v._v(" "),t("td",[v._v("右内边距40px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pr50")]),v._v(" "),t("td",[t("code",[v._v("padding-right: 6.6667vw;")])]),v._v(" "),t("td",[v._v("右内边距50px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pr60")]),v._v(" "),t("td",[t("code",[v._v("padding-right: 8vw;")])]),v._v(" "),t("td",[v._v("右内边距60px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pr70")]),v._v(" "),t("td",[t("code",[v._v("padding-right: 9.3333vw;")])]),v._v(" "),t("td",[v._v("右内边距70px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pr80")]),v._v(" "),t("td",[t("code",[v._v("padding-right: 10.6667vw;")])]),v._v(" "),t("td",[v._v("右内边距80px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pr90")]),v._v(" "),t("td",[t("code",[v._v("padding-right: 12vw;")])]),v._v(" "),t("td",[v._v("右内边距90px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pr100")]),v._v(" "),t("td",[t("code",[v._v("padding-right: 13.3333vw;")])]),v._v(" "),t("td",[v._v("右内边距100px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pb10")]),v._v(" "),t("td",[t("code",[v._v("padding-bottom: 1.3333vw;")])]),v._v(" "),t("td",[v._v("下内边距10px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pb15")]),v._v(" "),t("td",[t("code",[v._v("padding-bottom: 1.3333vw;")])]),v._v(" "),t("td",[v._v("下内边距15px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pb20")]),v._v(" "),t("td",[t("code",[v._v("padding-bottom: 2.6667vw;")])]),v._v(" "),t("td",[v._v("下内边距20px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pb30")]),v._v(" "),t("td",[t("code",[v._v("padding-bottom: 4vw;")])]),v._v(" "),t("td",[v._v("下内边距30px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pb40")]),v._v(" "),t("td",[t("code",[v._v("padding-bottom: 5.3333vw;")])]),v._v(" "),t("td",[v._v("下内边距40px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pb50")]),v._v(" "),t("td",[t("code",[v._v("padding-bottom: 6.6667vw;")])]),v._v(" "),t("td",[v._v("下内边距50px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pb60")]),v._v(" "),t("td",[t("code",[v._v("padding-bottom: 8vw;")])]),v._v(" "),t("td",[v._v("下内边距60px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pb70")]),v._v(" "),t("td",[t("code",[v._v("padding-bottom: 9.3333vw;")])]),v._v(" "),t("td",[v._v("下内边距70px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pb80")]),v._v(" "),t("td",[t("code",[v._v("padding-bottom: 10.6667vw;")])]),v._v(" "),t("td",[v._v("下内边距80px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pb90")]),v._v(" "),t("td",[t("code",[v._v("padding-bottom: 12vw;")])]),v._v(" "),t("td",[v._v("下内边距90px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pb100")]),v._v(" "),t("td",[t("code",[v._v("padding-bottom: 13.3333vw;")])]),v._v(" "),t("td",[v._v("下内边距100px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pl4per")]),v._v(" "),t("td",[t("code",[v._v("padding-left: 4%;")])]),v._v(" "),t("td",[v._v("左内边距4%")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pl10")]),v._v(" "),t("td",[t("code",[v._v("padding-left: 1.3333vw;")])]),v._v(" "),t("td",[v._v("左内边距10px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pl15")]),v._v(" "),t("td",[t("code",[v._v("padding-left: 1.3333vw;")])]),v._v(" "),t("td",[v._v("左内边距15px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pl20")]),v._v(" "),t("td",[t("code",[v._v("padding-left: 2.6667vw;")])]),v._v(" "),t("td",[v._v("左内边距20px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pl30")]),v._v(" "),t("td",[t("code",[v._v("padding-left: 4vw;")])]),v._v(" "),t("td",[v._v("左内边距30px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pl40")]),v._v(" "),t("td",[t("code",[v._v("padding-left: 5.3333vw;")])]),v._v(" "),t("td",[v._v("左内边距40px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pl50")]),v._v(" "),t("td",[t("code",[v._v("padding-left: 6.6667vw;")])]),v._v(" "),t("td",[v._v("左内边距50px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pl60")]),v._v(" "),t("td",[t("code",[v._v("padding-left: 8vw;")])]),v._v(" "),t("td",[v._v("左内边距60px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pl70")]),v._v(" "),t("td",[t("code",[v._v("padding-left: 9.3333vw;")])]),v._v(" "),t("td",[v._v("左内边距70px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pl80")]),v._v(" "),t("td",[t("code",[v._v("padding-left: 10.6667vw;")])]),v._v(" "),t("td",[v._v("左内边距80px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pl90")]),v._v(" "),t("td",[t("code",[v._v("padding-left: 12vw;")])]),v._v(" "),t("td",[v._v("左内边距90px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pl100")]),v._v(" "),t("td",[t("code",[v._v("padding-left: 13.3333vw;")])]),v._v(" "),t("td",[v._v("左内边距100px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-flex")]),v._v(" "),t("td",[t("code",[v._v("display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;")])]),v._v(" "),t("td",[v._v("设置flex布局")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-s-middle")]),v._v(" "),t("td",[t("code",[v._v("display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;-webkit-justify-content: space-around; justify-content: space-around; -webkit-align-items: center; align-items: center;")])]),v._v(" "),t("td",[v._v("垂直居中,水平距两端留白平铺")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-l-middle")]),v._v(" "),t("td",[t("code",[v._v("display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;-webkit-box-align: center; -webkit-align-items: center; align-items: center;")])]),v._v(" "),t("td",[v._v("垂直居中,水平靠左")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-c-middle")]),v._v(" "),t("td",[t("code",[v._v("display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;-webkit-box-align: center; -webkit-align-items: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; justify-content: center;")])]),v._v(" "),t("td",[v._v("垂直居中,水平居中")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-j-middle")]),v._v(" "),t("td",[t("code",[v._v("display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;-webkit-box-align: center; -webkit-align-items: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; justify-content: space-between;")])]),v._v(" "),t("td",[v._v("垂直居中,水平贴两端平铺")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-r-middle")]),v._v(" "),t("td",[t("code",[v._v("display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;-webkit-box-align: center; -webkit-align-items: center; align-items: center; -webkit-box-pack: end; -webkit-justify-content: flex-end; justify-content: flex-end;")])]),v._v(" "),t("td",[v._v("垂直居中,水平靠右")]),v._v(" "),t("td",[v._v("mobile/PC")])])])]),v._v(" "),t("ul",[t("li",[v._v("注意:PC版.u-w*/.u-h*/.u-pt*/.u-pr*/.u-pb*/.u-pl*单位跨度从10px到200px,如.u-w10, ... , .u-w200")])]),v._v(" "),t("h4",{attrs:{id:"function"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#function","aria-hidden":"true"}},[v._v("#")]),v._v(" function")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("类/属性名")]),v._v(" "),t("th",[v._v("属性")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("平台")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v(".f-wk_reset")]),v._v(" "),t("td",[t("code",[v._v("-webkit-appearance: none;")])]),v._v(" "),t("td",[v._v("清除webkit默认样式")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-bg_cover, [f-bg_cover]")]),v._v(" "),t("td",[t("code",[v._v("background-repeat: no-repeat; background-position: 0 0; background-size: 100% 100%;")])]),v._v(" "),t("td",[v._v("背景图片填充整个容器")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-ovhidden")]),v._v(" "),t("td",[t("code",[v._v("overflow: hidden;")])]),v._v(" "),t("td",[v._v("溢出隐藏")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-scroll_y")]),v._v(" "),t("td",[t("code",[v._v("overflow-y: auto;")])]),v._v(" "),t("td",[v._v("竖向滚动条自动")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-ellipsis")]),v._v(" "),t("td",[t("code",[v._v("white-space: nowrap; text-overflow: ellipsis; overflow: hidden;")])]),v._v(" "),t("td",[v._v("单行文字超出显示'...'")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-equal")]),v._v(" "),t("td",[t("code",[v._v("margin-bottom: -9999px; padding-bottom: 9999px;")])]),v._v(" "),t("td",[v._v("多列等高")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-tl")]),v._v(" "),t("td",[t("code",[v._v("text-align: left;")])]),v._v(" "),t("td",[v._v("文字左对齐")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-tc")]),v._v(" "),t("td",[t("code",[v._v("text-align: center;")])]),v._v(" "),t("td",[v._v("文字居中对齐")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-tr")]),v._v(" "),t("td",[t("code",[v._v("text-align: right;")])]),v._v(" "),t("td",[v._v("文字右对齐")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-tj")]),v._v(" "),t("td",[t("code",[v._v("-webkit-margin-start: 0; -webkit-margin-end: 0; text-align: justify;")])]),v._v(" "),t("td",[v._v("文字两端对齐")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-vt")]),v._v(" "),t("td",[t("code",[v._v("vertical-align: top;")])]),v._v(" "),t("td",[v._v("行元素垂直对齐方式为顶部")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-vm")]),v._v(" "),t("td",[t("code",[v._v("vertical-align: middle;")])]),v._v(" "),t("td",[v._v("行元素垂直对齐方式为居中")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-vb")]),v._v(" "),t("td",[t("code",[v._v("vertical-align: bottom;")])]),v._v(" "),t("td",[v._v("行元素垂直对齐方式为居底")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-fl")]),v._v(" "),t("td",[t("code",[v._v("float: left; display: inline;")])]),v._v(" "),t("td",[v._v("左浮动")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-fr")]),v._v(" "),t("td",[t("code",[v._v("float: right; display: inline;")])]),v._v(" "),t("td",[v._v("右浮动")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-cb")]),v._v(" "),t("td",[t("code",[v._v("clear: both;")])]),v._v(" "),t("td",[v._v("两侧请浮动")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-cl")]),v._v(" "),t("td",[t("code",[v._v("clear: left;")])]),v._v(" "),t("td",[v._v("左侧请浮动")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-cr")]),v._v(" "),t("td",[t("code",[v._v("clear: right;")])]),v._v(" "),t("td",[v._v("右侧请浮动")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-nowrap")]),v._v(" "),t("td",[t("code",[v._v("white-space: nowrap;")])]),v._v(" "),t("td",[v._v("保持文字不换行")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-normal")]),v._v(" "),t("td",[t("code",[v._v("font-weight: normal;")])]),v._v(" "),t("td",[v._v("字体大小为普通")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-bold")]),v._v(" "),t("td",[t("code",[v._v("font-weight: bold;")])]),v._v(" "),t("td",[v._v("文字大小为粗体")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-ti2")]),v._v(" "),t("td",[t("code",[v._v("text-indent: 2em;")])]),v._v(" "),t("td",[v._v("段落首行缩进2个字符")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-ft_italic")]),v._v(" "),t("td",[t("code",[v._v("font-style: italic;")])]),v._v(" "),t("td",[v._v("文字斜体")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-unl")]),v._v(" "),t("td",[t("code",[v._v("text-decoration: underline;")])]),v._v(" "),t("td",[v._v("文字加下划线")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-unl_none")]),v._v(" "),t("td",[t("code",[v._v("text-decoration: none;")])]),v._v(" "),t("td",[v._v("文字取消下划线")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-bdr10")]),v._v(" "),t("td",[t("code",[v._v("border-radius: 5px;")])]),v._v(" "),t("td",[v._v("圆角5px,移动为10px")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-bdr8")]),v._v(" "),t("td",[t("code",[v._v("border-radius: 4px;")])]),v._v(" "),t("td",[v._v("圆角4px,移动为8px")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-clear")]),v._v(" "),t("td",[t("code",[v._v("height: 0px; line-height: 0px; font-size: 0px; clear: both; overflow: hidden; zoom: 1;")])]),v._v(" "),t("td",[v._v("清浮动")]),v._v(" "),t("td",[v._v("PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-tap_reset")]),v._v(" "),t("td",[t("code",[v._v("-webkit-tap-highlight-color: rgba(0, 0, 0, 0);")])]),v._v(" "),t("td",[v._v("取消移动端触控蒙层")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".f-song_font")]),v._v(" "),t("td",[t("code",[v._v('font-family: "宋体";')])]),v._v(" "),t("td",[v._v("使用宋体文字")]),v._v(" "),t("td",[v._v("PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-yahei_font")]),v._v(" "),t("td",[t("code",[v._v('font-family: "Microsoft Yahei";')])]),v._v(" "),t("td",[v._v("使用微软雅黑文字")]),v._v(" "),t("td",[v._v("PC")])])])]),v._v(" "),t("h4",{attrs:{id:"component"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#component","aria-hidden":"true"}},[v._v("#")]),v._v(" component")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("类/属性名")]),v._v(" "),t("th",[v._v("属性")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("平台")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v(".u-icon, .u-btn")]),v._v(" "),t("td",[t("code",[v._v("display: block;")])]),v._v(" "),t("td",[v._v("按钮/图标设置为块元素")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-icon_il, .u-btn_il")]),v._v(" "),t("td",[t("code",[v._v("display: inline-block;")])]),v._v(" "),t("td",[v._v("按钮/图标设置为行内块元素")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-pclass")]),v._v(" "),t("td",[t("code",[v._v("position: relative;&:before,&:after {position: absolute;content: '';}")])]),v._v(" "),t("td",[v._v("设置伪元素,通常用作图形或1px边框")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-b_1px")]),v._v(" "),t("td",[t("code",[v._v("position: relative; &:after{ position: absolute; content: ''; background-color: @border-gray;}")])]),v._v(" "),t("td",[v._v("设置retina屏幕边框1px,需要配合.bt_1px/.br_1px/.bb_1px/.bl_1px使用")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".bt_1px")]),v._v(" "),t("td",[t("code",[v._v("left: 0; width: 100%; height: 1px; -webkit-transform: scale(1, 0.5); transform: scale(1, 0.5); top: 0;")])]),v._v(" "),t("td",[v._v("设置上边框1px")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".bb_1px")]),v._v(" "),t("td",[t("code",[v._v("left: 0; width: 100%; height: 1px; -webkit-transform: scale(1, 0.5); transform: scale(1, 0.5); bottom: 0;")])]),v._v(" "),t("td",[v._v("设置下边框1px")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".br_1px")]),v._v(" "),t("td",[t("code",[v._v("top: 0; width: 1px; height: 100%; -webkit-transform: scale(0.5, 1); transform: scale(0.5, 1); right: 0;")])]),v._v(" "),t("td",[v._v("设置右边框1px")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".bl_1px")]),v._v(" "),t("td",[t("code",[v._v("top: 0; width: 1px; height: 100%; -webkit-transform: scale(0.5, 1); transform: scale(0.5, 1); left: 0;")])]),v._v(" "),t("td",[v._v("设置左边框1px")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-btn, .u-btn_il")]),v._v(" "),t("td",[t("code",[v._v("padding: 0; text-align: center; border-radius: 4px;")])]),v._v(" "),t("td",[v._v("设置按钮基础样式,赋值样式见下表button")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-mask")]),v._v(" "),t("td",[t("code",[v._v("z-index: 18; position: fixed; top: 0; bottom: 0; left: 0; right: 0; width: 100%; background-color: rgba(0, 0, 0, 0.3);")])]),v._v(" "),t("td",[v._v("固定黑色蒙层")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-win, .u-dialog")]),v._v(" "),t("td",[t("code",[v._v("position: fixed; z-index: 19; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);")])]),v._v(" "),t("td",[v._v("弹窗基础样式")]),v._v(" "),t("td",[v._v("mobile/PC")])])])]),v._v(" "),t("h5",{attrs:{id:"button-component"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#button-component","aria-hidden":"true"}},[v._v("#")]),v._v(" button(component)")]),v._v(" "),t("p",[v._v("*为.u-btn/.u-btn_il的附加样式")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("类/属性名")]),v._v(" "),t("th",[v._v("属性")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("平台")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("[no-bdr]")]),v._v(" "),t("td",[t("code",[v._v("border-radius: 0")])]),v._v(" "),t("td",[v._v("按钮无圆角")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-color="yellow"]')]),v._v(" "),t("td",[t("code",[v._v("background-color: #f1ae3f; color: #fff;")])]),v._v(" "),t("td",[v._v("黄色按钮")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-color="orange"]')]),v._v(" "),t("td",[t("code",[v._v("background-color: #ff7010; color: #fff;")])]),v._v(" "),t("td",[v._v("橙色按钮")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-color="red"]')]),v._v(" "),t("td",[t("code",[v._v("background-color: #cf0e0f; color: #fff;")])]),v._v(" "),t("td",[v._v("红色按钮")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-color="gray"]')]),v._v(" "),t("td",[t("code",[v._v("background-color: #ccc; color: #fff;")])]),v._v(" "),t("td",[v._v("灰色按钮")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-color="bd_gray"]')]),v._v(" "),t("td",[t("code",[v._v("border: thin solid #999; color: #999;")])]),v._v(" "),t("td",[v._v("灰色边框按钮")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-color="bd_white"]')]),v._v(" "),t("td",[t("code",[v._v("border: thin solid #fff; color: #999;")])]),v._v(" "),t("td",[v._v("白色边框按钮")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-color="bd_yellow"]')]),v._v(" "),t("td",[t("code",[v._v("border: thin solid #f1ae3f; color: #f1ae3f;")])]),v._v(" "),t("td",[v._v("黄色边框按钮")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-color="bd_red"]')]),v._v(" "),t("td",[t("code",[v._v("border: thin solid #cf0e0f; color: #cf0e0f;")])]),v._v(" "),t("td",[v._v("红色边框按钮")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-color="small"]')]),v._v(" "),t("td",[t("code",[v._v("line-height: 26px; font-size: 12px;")])]),v._v(" "),t("td",[v._v("小号按钮")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-color="medium"]')]),v._v(" "),t("td",[t("code",[v._v("line-height: 42px; font-size: 16px;")])]),v._v(" "),t("td",[v._v("中号按钮")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-color="big"]')]),v._v(" "),t("td",[t("code",[v._v("line-height: 50px; font-size: 17px;")])]),v._v(" "),t("td",[v._v("大号按钮")]),v._v(" "),t("td",[v._v("mobile/PC")])])])]),v._v(" "),t("h4",{attrs:{id:"skin"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#skin","aria-hidden":"true"}},[v._v("#")]),v._v(" skin")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("类/属性名")]),v._v(" "),t("th",[v._v("属性")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("平台")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("[s-cr_red]")]),v._v(" "),t("td",[t("code",[v._v("color: #fe5d4e;")])]),v._v(" "),t("td",[v._v("字体颜色为红色")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("[s-cr_green]")]),v._v(" "),t("td",[t("code",[v._v("color: #009801;")])]),v._v(" "),t("td",[v._v("字体颜色为绿色")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("[s-cr_blue]")]),v._v(" "),t("td",[t("code",[v._v("color: #01a2fc;")])]),v._v(" "),t("td",[v._v("字体颜色为蓝色")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("[s-cr_gray]")]),v._v(" "),t("td",[t("code",[v._v("color: #999;")])]),v._v(" "),t("td",[v._v("字体颜色为灰色")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("[s-cr_white]")]),v._v(" "),t("td",[t("code",[v._v("color: #fff;")])]),v._v(" "),t("td",[v._v("字体颜色为白色")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("[s-ft_base]")]),v._v(" "),t("td",[t("code",[v._v("color: #323232;")])]),v._v(" "),t("td",[v._v("字体颜色为文本基础颜色")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("[s-ft_base_]")]),v._v(" "),t("td",[t("code",[v._v("color: #333;")])]),v._v(" "),t("td",[v._v("字体颜色为文本第二种基础颜色")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("[s-ft_sub]")]),v._v(" "),t("td",[t("code",[v._v("color: #666;")])]),v._v(" "),t("td",[v._v("字体颜色为次文字颜色")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("[s-ft_sub_]")]),v._v(" "),t("td",[t("code",[v._v("color: #999;")])]),v._v(" "),t("td",[v._v("字体颜色为第二种次文字颜色")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("[s-bgc_red]")]),v._v(" "),t("td",[t("code",[v._v("background-color: #fe5d4e;")])]),v._v(" "),t("td",[v._v("背景颜色为红色")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("[s-bgc_green]")]),v._v(" "),t("td",[t("code",[v._v("background-color: #009801;")])]),v._v(" "),t("td",[v._v("背景颜色为绿色")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("[s-bgc_blue]")]),v._v(" "),t("td",[t("code",[v._v("background-color: #01a2fc;")])]),v._v(" "),t("td",[v._v("背景颜色为蓝色")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("[s-bgc_gray]")]),v._v(" "),t("td",[t("code",[v._v("background-color: #999;")])]),v._v(" "),t("td",[v._v("背景颜色为灰色")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("[s-bgc_white]")]),v._v(" "),t("td",[t("code",[v._v("background-color: #fff;")])]),v._v(" "),t("td",[v._v("背景颜色为白色")]),v._v(" "),t("td",[v._v("mobile/PC")])])])]),v._v(" "),t("h4",{attrs:{id:"status"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#status","aria-hidden":"true"}},[v._v("#")]),v._v(" status")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("类/属性名")]),v._v(" "),t("th",[v._v("属性")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("平台")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v(".z-hide")]),v._v(" "),t("td",[t("code",[v._v("display: none !important;")])]),v._v(" "),t("td",[v._v("元素隐藏,"),t("strong",[v._v("最高优先级")])]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".z-v_hidden")]),v._v(" "),t("td",[t("code",[v._v("visibility: hidden;")])]),v._v(" "),t("td",[v._v("元素视觉隐藏")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".z-v_visible")]),v._v(" "),t("td",[t("code",[v._v("visibility: visible;")])]),v._v(" "),t("td",[v._v("元素视觉显示")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".z-hide_0")]),v._v(" "),t("td",[t("code",[v._v("opacity: 0;")])]),v._v(" "),t("td",[v._v("透明度为0")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".z-hide_30")]),v._v(" "),t("td",[t("code",[v._v("opacity: 30;")])]),v._v(" "),t("td",[v._v("透明度为30%(PC带有filter:aplpha(opacity=透明度)兼容处理,下面的相同)")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".z-hide_60")]),v._v(" "),t("td",[t("code",[v._v("opacity: 60;")])]),v._v(" "),t("td",[v._v("透明度为60%")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".z-hide_90")]),v._v(" "),t("td",[t("code",[v._v("opacity: 90;")])]),v._v(" "),t("td",[v._v("透明度为90%")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".z-index_")]),v._v(" "),t("td",[t("code",[v._v("z-index: -1;")])]),v._v(" "),t("td",[v._v("z轴层级为-1")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".z-index_999")]),v._v(" "),t("td",[t("code",[v._v("z-index: 999;")])]),v._v(" "),t("td",[v._v("z轴层级为999")]),v._v(" "),t("td",[v._v("mobile/PC")])])])])])}],!1,null,null,null);_.default=e.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{196:function(v,_,t){"use strict";t.r(_);var d=t(0),e=Object(d.a)({},function(){this.$createElement;this._self._c;return this._m(0)},[function(){var v=this,_=v.$createElement,t=v._self._c||_;return t("div",{staticClass:"content"},[t("h1",{attrs:{id:"命名词典"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#命名词典","aria-hidden":"true"}},[v._v("#")]),v._v(" 命名词典")]),v._v(" "),t("h2",{attrs:{id:"module命名词典"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#module命名词典","aria-hidden":"true"}},[v._v("#")]),v._v(" Module命名词典")]),v._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[v._v("a - link ( tag)\nac - action\nadd - additional\nadv - advertise\naft - after\naux - auxillary\n\nbtn - button\n\ncat - catalog | category\ncnt - content | container\ncnts - contents\ncol - column\n\ndec - decorate\ndef - default\ndel - delete\ndescr - description\ndm - delim\ndoc - document\ndyn - dynamic\n\nel - element\nerr - error\next - external\n\nf - footer\nfr - friend\n\ngen - general\n\nhl - highlight\nhv - hover\nhld - holder\n\nimg - image\nitx - textarea\n\nlbl - label\nlk - link\nlr - layer\n\nmod - module | modifier\n\nn - name\nntf - notification\nnum - number\n\nopt - options\novr - overlay\n\nph - placeholder\npht - photo\npriv - privacy\n\nrfr - refresh\n\nscr - screen | scroll\nsel - select\nsett - settings\nsm - small\nspr - sprite\n\ntit - title\n\nwrap - wrapper\n")])])]),t("h2",{attrs:{id:"样式属性命名"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#样式属性命名","aria-hidden":"true"}},[v._v("#")]),v._v(" 样式属性命名")]),v._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[v._v("b - bottom\nbd - border\nbdc - border-color\nbdr - border-radius\nbg - background\nbgc - background-color\nbgi - background-image\nbgp - background-position\nbs - box-shadow\n\nc - clear\ncr - color\n\nf - float | front\nfs - font-size\nfw - font-weight\n\nh - height\nil - inline-block\n\nlh - line-height\nm - margin\nmb - margin-bottom\nml - margin-left\nmr - margin-right\nmt - margin-top\n\no - opacity\nov - overflow\n\np - padding | position\nper - %\npb - padding-bottom\npl - padding-left\npr - padding-right\npt - padding-top\n\nt - text-align\nti - text-indent\n\nunl - underline\nv - vertical-align | visibility\nw - width\n")])])]),t("h2",{attrs:{id:"样式模块词典"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#样式模块词典","aria-hidden":"true"}},[v._v("#")]),v._v(" 样式模块词典")]),v._v(" "),t("h3",{attrs:{id:"grid-g"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#grid-g","aria-hidden":"true"}},[v._v("#")]),v._v(" grid(g-)")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("属性")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("CSS版本")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("box-sizing")]),v._v(" "),t("td",[v._v("设置要应用盒子尺寸相关属性的元素")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("margin")]),v._v(" "),t("td",[v._v("设置元素盒子四个外边距宽度的简写属性")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("margin-bottom")]),v._v(" "),t("td",[v._v("设置盒子下外边距的宽度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("margin-left")]),v._v(" "),t("td",[v._v("设置盒子左外边距的宽度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("margin-right")]),v._v(" "),t("td",[v._v("设置盒子右外边距的宽度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("margin-top")]),v._v(" "),t("td",[v._v("设置盒子上外边距的宽度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("bottom")]),v._v(" "),t("td",[v._v("设置元素下外边距边界与包含块下边界之间的偏移")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("left")]),v._v(" "),t("td",[v._v("设置元素左外边距边界与包含块左边界之间的偏移")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("position")]),v._v(" "),t("td",[v._v("设置元素的定位方法")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("right")]),v._v(" "),t("td",[v._v("设置元素右外边距边界与包含块右边界之间的偏移")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("top")]),v._v(" "),t("td",[v._v("设置元素上外边距边界与包含块上边界之间的偏移")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("font")]),v._v(" "),t("td",[v._v("在一条声明中设置文本字体、大小和颜色的简写属性")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("line-height")]),v._v(" "),t("td",[v._v("设置行高")]),v._v(" "),t("td",[v._v("1")])])])]),v._v(" "),t("h3",{attrs:{id:"function-f"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#function-f","aria-hidden":"true"}},[v._v("#")]),v._v(" function(f-)")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("属性")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("CSS版本")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("background-attachment")]),v._v(" "),t("td",[v._v("设置元素的背景附着属性,决定背景图片是否随页面一起滚动")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("background-clip")]),v._v(" "),t("td",[v._v("设置元素背景颜色和图像的裁剪区域")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("background-origin")]),v._v(" "),t("td",[v._v("设置背景图像绘制的起始位置")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("background-position")]),v._v(" "),t("td",[v._v("设置背景图像在元素盒子中的位置")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("background-repeat")]),v._v(" "),t("td",[v._v("设置背景图像的重复方式")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("background-size")]),v._v(" "),t("td",[v._v("设置背景图像的绘制尺寸")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("border")]),v._v(" "),t("td",[v._v("为所有边界设置所有边框宽度的简写属性")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-bottom")]),v._v(" "),t("td",[v._v("为所有下边框设置宽度的简写属性")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-bottom-left-radius")]),v._v(" "),t("td",[v._v("将边框左下角设置为圆角")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("border-bottom-right-radius")]),v._v(" "),t("td",[v._v("将边框右下角设置为圆角")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("border-bottom-style")]),v._v(" "),t("td",[v._v("设置元素下边框的样式")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-image-repeat")]),v._v(" "),t("td",[v._v("指定边框图像的缩放和重复方式")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("border-image-slice")]),v._v(" "),t("td",[v._v("指定边框图像的切割方式")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("border-left")]),v._v(" "),t("td",[v._v("设置元素左边框的简写属性")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-left-style")]),v._v(" "),t("td",[v._v("设置左边框的样式")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-radius")]),v._v(" "),t("td",[v._v("指定圆角边框的简写属性")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("border-right")]),v._v(" "),t("td",[v._v("设置元素右边框的简写属性")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-right-style")]),v._v(" "),t("td",[v._v("设置右边框的样式")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-style")]),v._v(" "),t("td",[v._v("设置所有边框样式的简写属性")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-top")]),v._v(" "),t("td",[v._v("为所有上边框设置宽度的简写属性")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-top-left-radius")]),v._v(" "),t("td",[v._v("将边框左上角设置为圆角")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("border-top-right-radius")]),v._v(" "),t("td",[v._v("将边框右上角设置为圆角")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("border-top-style")]),v._v(" "),t("td",[v._v("设置元素上边框的样式")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("outline-offset")]),v._v(" "),t("td",[v._v("设置轮廓距离元素边框边缘的偏移量")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("outline-style")]),v._v(" "),t("td",[v._v("设置轮廓的样式")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("outline")]),v._v(" "),t("td",[v._v("在一条声明中设置轮廓的简写属性")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("clear")]),v._v(" "),t("td",[v._v("设置盒子的左边界、右边界或左右两个边界不允许出现浮动元素")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("float")]),v._v(" "),t("td",[v._v("将元素移动到其包含块的左边界或者右边界,或者另一个浮动元素的边界")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("overflow")]),v._v(" "),t("td",[v._v("设置内容横向和竖向溢出盒子时处理方式的简写属性")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("overflow-x")]),v._v(" "),t("td",[v._v("设置内容横向溢出盒子时的处理方式")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("overflow-y")]),v._v(" "),t("td",[v._v("设置内容纵向溢出盒子时的处理方式")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("font")]),v._v(" "),t("td",[v._v("在一条声明中设置文本字体、大小和颜色的简写属性")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("font-family")]),v._v(" "),t("td",[v._v("指定文本所用的字体系列,排在前面的优先使用")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("font-style")]),v._v(" "),t("td",[v._v("指定采用正常字体、斜体还是倾斜字体")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("font-variant")]),v._v(" "),t("td",[v._v("指定字体是否以小型大写字母显示")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("font-weight")]),v._v(" "),t("td",[v._v("指定文本粗细")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("letter-spacing")]),v._v(" "),t("td",[v._v("设置字母间距")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("text-align")]),v._v(" "),t("td",[v._v("设置文本对齐方式")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("text-decoration")]),v._v(" "),t("td",[v._v("规定添加到文本的修饰(如下划线)")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("text-indent")]),v._v(" "),t("td",[v._v("规定文本块中首行文本的缩进")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("text-justify")]),v._v(" "),t("td",[v._v("设置文本对齐方式")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("word-spacing")]),v._v(" "),t("td",[v._v("指定单词间距")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-collapse")]),v._v(" "),t("td",[v._v("指定表格相邻单元格边框的显示样式")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("border-spacing")]),v._v(" "),t("td",[v._v("指定相邻单元格的边框的距离")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("cursor")]),v._v(" "),t("td",[v._v("指定光标的形状")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("empty-cells")]),v._v(" "),t("td",[v._v("指定是否显示表格中的空单元格")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("list-style")]),v._v(" "),t("td",[v._v("设置列表样式的简写属性")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("list-style-type")]),v._v(" "),t("td",[v._v("指定列表项标记的类型")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("transform")]),v._v(" "),t("td",[v._v("指定应用于元素的变换")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("transform-origin")]),v._v(" "),t("td",[v._v("指定元素变换的起点")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("text-transform")]),v._v(" "),t("td",[v._v("属性控制文本的大小写")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("direction")]),v._v(" "),t("td",[v._v("指定文本方向")]),v._v(" "),t("td",[v._v("2")])])])]),v._v(" "),t("h3",{attrs:{id:"unit-u"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#unit-u","aria-hidden":"true"}},[v._v("#")]),v._v(" unit(u-)")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("属性")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("CSS版本")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("align-items")]),v._v(" "),t("td",[v._v("flex子项在flex容器的当前行的侧轴(纵轴)方向上的对齐方式")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("justify-content")]),v._v(" "),t("td",[v._v("用于设置或检索弹性盒子元素在主轴(横轴)方向上的对齐方式")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("caption-side")]),v._v(" "),t("td",[v._v("指定表格标题的位置")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("list-style-position")]),v._v(" "),t("td",[v._v("指定列表项标记相对于列表项内容的位置")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("table-layout")]),v._v(" "),t("td",[v._v("指定表格单元格、行和列的算法规则")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("border-bottom-width")]),v._v(" "),t("td",[v._v("设置元素下边框的宽度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-image-width")]),v._v(" "),t("td",[v._v("设置边框图像的宽度")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("border-left-width")]),v._v(" "),t("td",[v._v("设置左边框的宽度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-right-width")]),v._v(" "),t("td",[v._v("设置右边框的宽度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-top-width")]),v._v(" "),t("td",[v._v("设置元素上边框的宽度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-width")]),v._v(" "),t("td",[v._v("设置四个边框的宽度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("outline-width")]),v._v(" "),t("td",[v._v("设置轮廓的宽度")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("outline")]),v._v(" "),t("td",[v._v("在一条声明中设置轮廓的简写属性")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("display")]),v._v(" "),t("td",[v._v("设置元素盒子的类型")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("height")]),v._v(" "),t("td",[v._v("设置元素盒子的高度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("max-height")]),v._v(" "),t("td",[v._v("设置元素的最大高度")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("max-width")]),v._v(" "),t("td",[v._v("设置元素的最大宽度")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("min-height")]),v._v(" "),t("td",[v._v("设置元素的最小高度")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("min-width")]),v._v(" "),t("td",[v._v("设置元素的最小宽度")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("padding")]),v._v(" "),t("td",[v._v("设置元素盒子四个内边距宽度的简写属性")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("padding-bottom")]),v._v(" "),t("td",[v._v("设置盒子下内边距的宽度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("padding-left")]),v._v(" "),t("td",[v._v("设置盒子左内边距的宽度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("padding-right")]),v._v(" "),t("td",[v._v("设置盒子右内边距的宽度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("padding-top")]),v._v(" "),t("td",[v._v("设置盒子上内边距的宽度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("width")]),v._v(" "),t("td",[v._v("设置元素的宽度")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("column-count")]),v._v(" "),t("td",[v._v("指定多列布局的列数")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("column-fill")]),v._v(" "),t("td",[v._v("多列布局中列与列之间的内容如何发布")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("column-gap")]),v._v(" "),t("td",[v._v("指定多列布局中列与列之间的间隔")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("column-rule")]),v._v(" "),t("td",[v._v("多列布局中定义列与列之间的规则的简写属性")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("column-rule-color")]),v._v(" "),t("td",[v._v("设置多列布局中的颜色规划")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("column-rule-style")]),v._v(" "),t("td",[v._v("设置多列布局中的样式规则")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("column-rule-width")]),v._v(" "),t("td",[v._v("设置多列布局中的宽度规则")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("columns")]),v._v(" "),t("td",[v._v("在多列布局中设置列数和列宽度的简写属性")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("column-span")]),v._v(" "),t("td",[v._v("指定多列布局中元素能跨多少列")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("column-width")]),v._v(" "),t("td",[v._v("设置多列布局中列的宽度")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("flex-align、flex-direction、flex-order、flex-pack")]),v._v(" "),t("td",[v._v("它们都是由弹性盒子布局定义的")]),v._v(" "),t("td",[v._v("3")])])])]),v._v(" "),t("h3",{attrs:{id:"status-z"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#status-z","aria-hidden":"true"}},[v._v("#")]),v._v(" status(z-)")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("属性")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("CSS版本")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("visibility")]),v._v(" "),t("td",[v._v("设置元素的可见性")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("z-index")]),v._v(" "),t("td",[v._v("设置定位元素的堆叠顺序")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("opacity")]),v._v(" "),t("td",[v._v("设置元素的透明度")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("display")]),v._v(" "),t("td",[v._v("指定元素在页面上的显示方式")]),v._v(" "),t("td",[v._v("1")])])])]),v._v(" "),t("h3",{attrs:{id:"skin-s"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#skin-s","aria-hidden":"true"}},[v._v("#")]),v._v(" skin(s-)")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("属性")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("CSS版本")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("color")]),v._v(" "),t("td",[v._v("设置元素的前景色")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("list-style-image")]),v._v(" "),t("td",[v._v("指定列表项标记使用的图像")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("text-shadow")]),v._v(" "),t("td",[v._v("指定文本块的阴影效果")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("box-shadow")]),v._v(" "),t("td",[v._v("设置元素的一个或者多个阴影效果")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("outline-color")]),v._v(" "),t("td",[v._v("设置元素边框外围轮廓线的颜色")]),v._v(" "),t("td",[v._v("2")])]),v._v(" "),t("tr",[t("td",[v._v("border-top-color")]),v._v(" "),t("td",[v._v("为所有上边框设置颜色")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-right-color")]),v._v(" "),t("td",[v._v("设置右边框的颜色")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-left-color")]),v._v(" "),t("td",[v._v("设置左边框的颜色")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("border-bottom-color")]),v._v(" "),t("td",[v._v("为所有下边框设置颜色")]),v._v(" "),t("td",[v._v("1")])]),v._v(" "),t("tr",[t("td",[v._v("background-color")]),v._v(" "),t("td",[v._v("设置背景颜色")]),v._v(" "),t("td",[v._v("1")])])])]),v._v(" "),t("h3",{attrs:{id:"animation-a"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#animation-a","aria-hidden":"true"}},[v._v("#")]),v._v(" animation(a-)")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("属性")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("CSS版本")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("transition")]),v._v(" "),t("td",[v._v("指定CSS属性过渡效果的简写属性")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("transition-delay")]),v._v(" "),t("td",[v._v("指定触发过渡的延迟时间")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("transition-duration")]),v._v(" "),t("td",[v._v("指定过渡的持续时间")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("transition-property")]),v._v(" "),t("td",[v._v("指定带有过渡效果的属性")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("transition-timing-function")]),v._v(" "),t("td",[v._v("指定过渡期间计算中间属性值的函数")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("animation")]),v._v(" "),t("td",[v._v("设置动画的简写属性")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("animation-deplay")]),v._v(" "),t("td",[v._v("指定动画开始前的延迟时间")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("animation-direction")]),v._v(" "),t("td",[v._v("指定动画重复播放时的播放方向")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("animation-duration")]),v._v(" "),t("td",[v._v("指定动画的持续时间")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("animation-iteration-count")]),v._v(" "),t("td",[v._v("指定动画的循环次数")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("animation-name")]),v._v(" "),t("td",[v._v("指定用于动画的关键帧集合的名称")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("animation-play-state")]),v._v(" "),t("td",[v._v("指定动画状态(播放或暂停)")]),v._v(" "),t("td",[v._v("3")])]),v._v(" "),t("tr",[t("td",[v._v("animation-timing-function")]),v._v(" "),t("td",[v._v("指定关键帧之间计算属性值的函数")]),v._v(" "),t("td",[v._v("3")])])])]),v._v(" "),t("h2",{attrs:{id:"moo-css-base词典"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#moo-css-base词典","aria-hidden":"true"}},[v._v("#")]),v._v(" moo-css-base词典")]),v._v(" "),t("h3",{attrs:{id:"颜色"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#颜色","aria-hidden":"true"}},[v._v("#")]),v._v(" 颜色")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("变量")]),v._v(" "),t("th",[v._v("十六进制色值")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("效果")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("body_bg")]),v._v(" "),t("td",[v._v("#efeef5")]),v._v(" "),t("td",[v._v("灰-页面背景")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#efeef5"}})])]),v._v(" "),t("tr",[t("td",[v._v("part_bg")]),v._v(" "),t("td",[v._v("#fff")]),v._v(" "),t("td",[v._v("白-模块背景")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#fff"}})])]),v._v(" "),t("tr",[t("td",[v._v("font-base")]),v._v(" "),t("td",[v._v("#323232")]),v._v(" "),t("td",[v._v("黑,正文-1")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#323232"}})])]),v._v(" "),t("tr",[t("td",[v._v("font-base_")]),v._v(" "),t("td",[v._v("#333")]),v._v(" "),t("td",[v._v("黑,正文-2")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#333"}})])]),v._v(" "),t("tr",[t("td",[v._v("font-sub")]),v._v(" "),t("td",[v._v("#666")]),v._v(" "),t("td",[v._v("灰色-正文")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#666"}})])]),v._v(" "),t("tr",[t("td",[v._v("font-sub_")]),v._v(" "),t("td",[v._v("#999")]),v._v(" "),t("td",[v._v("浅灰-次要文字")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#999"}})])]),v._v(" "),t("tr",[t("td",[v._v("font-link")]),v._v(" "),t("td",[v._v("#11a6fc")]),v._v(" "),t("td",[v._v("蓝色-链接")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#11a6fc"}})])]),v._v(" "),t("tr",[t("td",[v._v("font-up")]),v._v(" "),t("td",[v._v("#fe5d4e")]),v._v(" "),t("td",[v._v("红色-涨")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#fe5d4e"}})])]),v._v(" "),t("tr",[t("td",[v._v("font-down")]),v._v(" "),t("td",[v._v("#009801")]),v._v(" "),t("td",[v._v("绿色-跌")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#009801"}})])]),v._v(" "),t("tr",[t("td",[v._v("button-red")]),v._v(" "),t("td",[v._v("#cf0e0f")]),v._v(" "),t("td",[v._v("红色,按钮")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#cf0e0f"}})])]),v._v(" "),t("tr",[t("td",[v._v("button-orange")]),v._v(" "),t("td",[v._v("#ff7010")]),v._v(" "),t("td",[v._v("橙色,按钮")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#ff7010"}})])]),v._v(" "),t("tr",[t("td",[v._v("button-yellow")]),v._v(" "),t("td",[v._v("#f1ae3f")]),v._v(" "),t("td",[v._v("黄色,按钮")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#f1ae3f"}})])]),v._v(" "),t("tr",[t("td",[v._v("button-gray")]),v._v(" "),t("td",[v._v("#ccc")]),v._v(" "),t("td",[v._v("灰色,按钮")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#ccc"}})])]),v._v(" "),t("tr",[t("td",[v._v("button-disable")]),v._v(" "),t("td",[v._v("#d6d6d6")]),v._v(" "),t("td",[v._v("灰色,按钮不可用")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#d6d6d6"}})])]),v._v(" "),t("tr",[t("td",[v._v("border-gray")]),v._v(" "),t("td",[v._v("#e2e2e2")]),v._v(" "),t("td",[v._v("边框-灰")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#e2e2e2"}})])]),v._v(" "),t("tr",[t("td",[v._v("red")]),v._v(" "),t("td",[v._v("#fe5d4e")]),v._v(" "),t("td",[v._v("红色-涨、按钮")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#fe5d4e"}})])]),v._v(" "),t("tr",[t("td",[v._v("orange-light")]),v._v(" "),t("td",[v._v("#ff8f2e")]),v._v(" "),t("td",[v._v("浅橙")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#ff8f2e"}})])]),v._v(" "),t("tr",[t("td",[v._v("orange")]),v._v(" "),t("td",[v._v("#ff7010")]),v._v(" "),t("td",[v._v("橙色")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#ff7010"}})])]),v._v(" "),t("tr",[t("td",[v._v("yellow")]),v._v(" "),t("td",[v._v("#f1ae3f")]),v._v(" "),t("td",[v._v("黄色")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#f1ae3f"}})])]),v._v(" "),t("tr",[t("td",[v._v("green")]),v._v(" "),t("td",[v._v("#009801")]),v._v(" "),t("td",[v._v("绿色")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#009801"}})])]),v._v(" "),t("tr",[t("td",[v._v("blue")]),v._v(" "),t("td",[v._v("#01a2fc")]),v._v(" "),t("td",[v._v("蓝色")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#01a2fc"}})])]),v._v(" "),t("tr",[t("td",[v._v("gray")]),v._v(" "),t("td",[v._v("#d3d6d8")]),v._v(" "),t("td",[v._v("灰色")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#d3d6d8"}})])]),v._v(" "),t("tr",[t("td",[v._v("gray-light")]),v._v(" "),t("td",[v._v("#999")]),v._v(" "),t("td",[v._v("浅灰色")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#999"}})])]),v._v(" "),t("tr",[t("td",[v._v("white")]),v._v(" "),t("td",[v._v("#fff")]),v._v(" "),t("td",[v._v("白色")]),v._v(" "),t("td",[t("div",{staticClass:"u-rectcolor",staticStyle:{background:"#fff"}})])])])]),v._v(" "),t("h3",{attrs:{id:"方法"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#方法","aria-hidden":"true"}},[v._v("#")]),v._v(" 方法")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("方法名")]),v._v(" "),t("th",[v._v("参数")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("平台")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("unit")]),v._v(" "),t("td",[v._v("name, px")]),v._v(" "),t("td",[v._v("设置vw属性,name为属性名,px为像素值,如less:.unit(width, 100)")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v("wh")]),v._v(" "),t("td",[v._v("width, height")]),v._v(" "),t("td",[v._v("设置宽高")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("square")]),v._v(" "),t("td",[v._v("width")]),v._v(" "),t("td",[v._v("设置正方形(宽高相等)")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("hh")]),v._v(" "),t("td",[v._v("height")]),v._v(" "),t("td",[v._v("设置高度同时设置行高,height=line-height")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("font")]),v._v(" "),t("td",[v._v("font-size, line-height")]),v._v(" "),t("td",[v._v("设置字体大小及行高,如less:.font(24px, 40px)")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("sc")]),v._v(" "),t("td",[v._v("font-size, color")]),v._v(" "),t("td",[v._v("设置字体大小及颜色,如less:.sc(26px, #ccc)")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("mulit-ellipsis")]),v._v(" "),t("td",[v._v("maxline")]),v._v(" "),t("td",[v._v('多行文字溢出展示"...",如less: .mulit-ellipsis(2)')]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("pseudo-class")]),v._v(" "),t("td",[v._v("-")]),v._v(" "),t("td",[v._v("设置伪元素布局,通常用作css图形、边框1px")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("font-DIN")]),v._v(" "),t("td",[v._v("-")]),v._v(" "),t("td",[v._v("font-family使用DIN字体")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v("position")]),v._v(" "),t("td",[v._v("top, left")]),v._v(" "),t("td",[v._v("设置top及left,如less:.position(10%, 15vh)")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("bis")]),v._v(" "),t("td",[v._v("url")]),v._v(" "),t("td",[v._v("设置背景图且填充整个容器,如.bis('https://github.com/MichealWayne/Moo-CSS/raw/master/docs/logo.png')")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("blur")]),v._v(" "),t("td",[v._v("range")]),v._v(" "),t("td",[v._v("设置模糊,range为模糊半径")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("center")]),v._v(" "),t("td",[v._v("-")]),v._v(" "),t("td",[v._v("水平垂直居中定位")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("fixed-mask")]),v._v(" "),t("td",[v._v("-")]),v._v(" "),t("td",[v._v("设置fixed全屏布局样式")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("border-top-radius")]),v._v(" "),t("td",[v._v("radius")]),v._v(" "),t("td",[v._v("单边圆角,上边")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("border-right-radius")]),v._v(" "),t("td",[v._v("radius")]),v._v(" "),t("td",[v._v("单边圆角,右边")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("border-bottom-radius")]),v._v(" "),t("td",[v._v("radius")]),v._v(" "),t("td",[v._v("单边圆角,下边")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("border-left-radius")]),v._v(" "),t("td",[v._v("radius")]),v._v(" "),t("td",[v._v("单边圆角,左边")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v("set-scroll")]),v._v(" "),t("td",[v._v("color")]),v._v(" "),t("td",[v._v("设置滚动条颜色,需要hsl颜色,如less:.setScroll(hsla(200, 100%, 54%, 1))")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v("set-scroll-elastic")]),v._v(" "),t("td",[v._v("-")]),v._v(" "),t("td",[v._v("设置滚动区域带弹性效果(IOS)")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v("min-width")]),v._v(" "),t("td",[v._v("min-width")]),v._v(" "),t("td",[v._v("设置最小宽度且兼容IE6")]),v._v(" "),t("td",[v._v("PC")])]),v._v(" "),t("tr",[t("td",[v._v("min-height")]),v._v(" "),t("td",[v._v("min-height")]),v._v(" "),t("td",[v._v("设置最小高度且兼容IE6")]),v._v(" "),t("td",[v._v("PC")])]),v._v(" "),t("tr",[t("td",[v._v("dib")]),v._v(" "),t("td",[v._v("-")]),v._v(" "),t("td",[v._v("内联块级元素, 兼容IE6")]),v._v(" "),t("td",[v._v("PC")])]),v._v(" "),t("tr",[t("td",[v._v("fixed")]),v._v(" "),t("td",[v._v("-")]),v._v(" "),t("td",[v._v("固定定位, 兼容IE6")]),v._v(" "),t("td",[v._v("PC")])]),v._v(" "),t("tr",[t("td",[v._v("fl")]),v._v(" "),t("td",[v._v("-")]),v._v(" "),t("td",[v._v("左浮动, 兼容 IE6")]),v._v(" "),t("td",[v._v("PC")])]),v._v(" "),t("tr",[t("td",[v._v("fr")]),v._v(" "),t("td",[v._v("-")]),v._v(" "),t("td",[v._v("右浮动, 兼容 IE6")]),v._v(" "),t("td",[v._v("PC")])]),v._v(" "),t("tr",[t("td",[v._v("clearfix")]),v._v(" "),t("td",[v._v("-")]),v._v(" "),t("td",[v._v("清除浮动")]),v._v(" "),t("td",[v._v("PC")])]),v._v(" "),t("tr",[t("td",[v._v("no-select")]),v._v(" "),t("td",[v._v("-")]),v._v(" "),t("td",[v._v("禁止文字选中")]),v._v(" "),t("td",[v._v("PC")])]),v._v(" "),t("tr",[t("td",[v._v("bg-variant")]),v._v(" "),t("td",[v._v("color")]),v._v(" "),t("td",[v._v("按钮颜色设置(hover及focus颜色加深)")]),v._v(" "),t("td",[v._v("PC")])]),v._v(" "),t("tr",[t("td",[v._v("opacity")]),v._v(" "),t("td",[v._v("opacity")]),v._v(" "),t("td",[v._v("设置透明度,兼容 IE6")]),v._v(" "),t("td",[v._v("PC")])])])]),v._v(" "),t("h3",{attrs:{id:"样式"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#样式","aria-hidden":"true"}},[v._v("#")]),v._v(" 样式")]),v._v(" "),t("h4",{attrs:{id:"grid"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#grid","aria-hidden":"true"}},[v._v("#")]),v._v(" grid")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("类/属性名")]),v._v(" "),t("th",[v._v("属性")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("平台")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v(".g-box_b")]),v._v(" "),t("td",[t("code",[v._v("-webkit-box-sizing: border-box; box-sizing: border-box;")])]),v._v(" "),t("td",[v._v("对元素指定宽度和高度包括了 padding 和 border 。")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".g-box_c")]),v._v(" "),t("td",[t("code",[v._v("-webkit-box-sizing: content-box; box-sizing: content-box;")])]),v._v(" "),t("td",[v._v("指定元素的宽度和高度(最小/最大属性)适用于box的宽度和高度。元素的填充和边框布局和绘制指定宽度和高度除外。")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".g-center")]),v._v(" "),t("td",[t("code",[v._v("margin-left: auto;margin-right: auto;")])]),v._v(" "),t("td",[v._v("块元素居中。")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".g-pf")]),v._v(" "),t("td",[t("code",[v._v("position: fixed;")])]),v._v(" "),t("td",[v._v("设置固定定位")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".g-pr")]),v._v(" "),t("td",[t("code",[v._v("position: relative;")])]),v._v(" "),t("td",[v._v("设置相对定位")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".g-pa")]),v._v(" "),t("td",[t("code",[v._v("position: absolute;")])]),v._v(" "),t("td",[v._v("设置绝对定位")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs10")]),v._v(" "),t("td",[t("code",[v._v("font-size: 1.3333vw;")])]),v._v(" "),t("td",[v._v("字体大小为10px(750px设计稿,1vw=7.5px响应式,后续移动长度单位同此)")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs12")]),v._v(" "),t("td",[t("code",[v._v("font-size: 1.6vw;")])]),v._v(" "),t("td",[v._v("字体大小为12px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs14")]),v._v(" "),t("td",[t("code",[v._v("font-size: 1.8667vw;")])]),v._v(" "),t("td",[v._v("字体大小为14px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs16")]),v._v(" "),t("td",[t("code",[v._v("font-size: 2.1333vw;")])]),v._v(" "),t("td",[v._v("字体大小为16px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs18")]),v._v(" "),t("td",[t("code",[v._v("font-size: 2.4vw;")])]),v._v(" "),t("td",[v._v("字体大小为18px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs20")]),v._v(" "),t("td",[t("code",[v._v("font-size: 2.6667vw;")])]),v._v(" "),t("td",[v._v("字体大小为20px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs22")]),v._v(" "),t("td",[t("code",[v._v("font-size: 2.9333vw;")])]),v._v(" "),t("td",[v._v("字体大小为22px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs24")]),v._v(" "),t("td",[t("code",[v._v("font-size: 3.2vw;")])]),v._v(" "),t("td",[v._v("字体大小为24px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs26")]),v._v(" "),t("td",[t("code",[v._v("font-size: 3.4667vw;")])]),v._v(" "),t("td",[v._v("字体大小为26px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs28")]),v._v(" "),t("td",[t("code",[v._v("font-size: 3.7333vw;")])]),v._v(" "),t("td",[v._v("字体大小为28px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs30")]),v._v(" "),t("td",[t("code",[v._v("font-size: 4vw;")])]),v._v(" "),t("td",[v._v("字体大小为30px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs32")]),v._v(" "),t("td",[t("code",[v._v("font-size: 4.2667vw;")])]),v._v(" "),t("td",[v._v("字体大小为32px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs34")]),v._v(" "),t("td",[t("code",[v._v("font-size: 4.5333vw;")])]),v._v(" "),t("td",[v._v("字体大小为34px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs36")]),v._v(" "),t("td",[t("code",[v._v("font-size: 4.8vw;")])]),v._v(" "),t("td",[v._v("字体大小为36px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs38")]),v._v(" "),t("td",[t("code",[v._v("font-size: 5.0667vw;")])]),v._v(" "),t("td",[v._v("字体大小为38px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-fs40")]),v._v(" "),t("td",[t("code",[v._v("font-size: 5.3333vw;")])]),v._v(" "),t("td",[v._v("字体大小为40px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-lh150per")]),v._v(" "),t("td",[t("code",[v._v("line-height: 1.5;")])]),v._v(" "),t("td",[v._v("行高1.5")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".g-lh180per")]),v._v(" "),t("td",[t("code",[v._v("line-height: 1.8;")])]),v._v(" "),t("td",[v._v("行高1.8")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".g-lh200per")]),v._v(" "),t("td",[t("code",[v._v("line-height: 2;")])]),v._v(" "),t("td",[v._v("行高2")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".g-m20")]),v._v(" "),t("td",[t("code",[v._v("margin: 2.6667vw;")])]),v._v(" "),t("td",[v._v("margin四边均为20px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-m30")]),v._v(" "),t("td",[t("code",[v._v("margin: 4vw;")])]),v._v(" "),t("td",[v._v("margin四边均为30px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-m40")]),v._v(" "),t("td",[t("code",[v._v("margin: 5.3333vw;")])]),v._v(" "),t("td",[v._v("margin四边均为40px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-m50")]),v._v(" "),t("td",[t("code",[v._v("margin: 6.6667vw;")])]),v._v(" "),t("td",[v._v("margin四边均为60px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mt10")]),v._v(" "),t("td",[t("code",[v._v("margin-top: 1.3333vw;")])]),v._v(" "),t("td",[v._v("上边距10px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mt20")]),v._v(" "),t("td",[t("code",[v._v("margin-top: 2.6667vw;")])]),v._v(" "),t("td",[v._v("上边距20px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mt30")]),v._v(" "),t("td",[t("code",[v._v("margin-top: 4vw;")])]),v._v(" "),t("td",[v._v("上边距30px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mt40")]),v._v(" "),t("td",[t("code",[v._v("margin-top: 5.3333vw;")])]),v._v(" "),t("td",[v._v("上边距40px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mt50")]),v._v(" "),t("td",[t("code",[v._v("margin-top: 6.6667vw;")])]),v._v(" "),t("td",[v._v("上边距50px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mt60")]),v._v(" "),t("td",[t("code",[v._v("margin-top: 8vw;")])]),v._v(" "),t("td",[v._v("上边距60px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mt70")]),v._v(" "),t("td",[t("code",[v._v("margin-top: 9.3333vw;")])]),v._v(" "),t("td",[v._v("上边距70px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mt80")]),v._v(" "),t("td",[t("code",[v._v("margin-top: 10.6667vw;")])]),v._v(" "),t("td",[v._v("上边距80px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mt90")]),v._v(" "),t("td",[t("code",[v._v("margin-top: 12vw;")])]),v._v(" "),t("td",[v._v("上边距90px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mt100")]),v._v(" "),t("td",[t("code",[v._v("margin-top: 13.3333vw;")])]),v._v(" "),t("td",[v._v("上边距100px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mr10")]),v._v(" "),t("td",[t("code",[v._v("margin-right: 1.3333vw;")])]),v._v(" "),t("td",[v._v("右边距10px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mr20")]),v._v(" "),t("td",[t("code",[v._v("margin-right: 2.6667vw;")])]),v._v(" "),t("td",[v._v("右边距20px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mr30")]),v._v(" "),t("td",[t("code",[v._v("margin-right: 4vw;")])]),v._v(" "),t("td",[v._v("右边距30px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mr40")]),v._v(" "),t("td",[t("code",[v._v("margin-right: 5.3333vw;")])]),v._v(" "),t("td",[v._v("右边距40px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mr50")]),v._v(" "),t("td",[t("code",[v._v("margin-right: 6.6667vw;")])]),v._v(" "),t("td",[v._v("右边距50px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mr60")]),v._v(" "),t("td",[t("code",[v._v("margin-right: 8vw;")])]),v._v(" "),t("td",[v._v("右边距60px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mr70")]),v._v(" "),t("td",[t("code",[v._v("margin-right: 9.3333vw;")])]),v._v(" "),t("td",[v._v("右边距70px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mr80")]),v._v(" "),t("td",[t("code",[v._v("margin-right: 10.6667vw;")])]),v._v(" "),t("td",[v._v("右边距80px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mr90")]),v._v(" "),t("td",[t("code",[v._v("margin-right: 12vw;")])]),v._v(" "),t("td",[v._v("右边距90px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mr100")]),v._v(" "),t("td",[t("code",[v._v("margin-right: 13.3333vw;")])]),v._v(" "),t("td",[v._v("右边距100px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mb10")]),v._v(" "),t("td",[t("code",[v._v("margin-bottom: 1.3333vw;")])]),v._v(" "),t("td",[v._v("下边距10px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mb20")]),v._v(" "),t("td",[t("code",[v._v("margin-bottom: 2.6667vw;")])]),v._v(" "),t("td",[v._v("下边距20px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mb30")]),v._v(" "),t("td",[t("code",[v._v("margin-bottom: 4vw;")])]),v._v(" "),t("td",[v._v("下边距30px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mb40")]),v._v(" "),t("td",[t("code",[v._v("margin-bottom: 5.3333vw;")])]),v._v(" "),t("td",[v._v("下边距40px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mb50")]),v._v(" "),t("td",[t("code",[v._v("margin-bottom: 6.6667vw;")])]),v._v(" "),t("td",[v._v("下边距50px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mb60")]),v._v(" "),t("td",[t("code",[v._v("margin-bottom: 8vw;")])]),v._v(" "),t("td",[v._v("下边距60px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mb70")]),v._v(" "),t("td",[t("code",[v._v("margin-bottom: 9.3333vw;")])]),v._v(" "),t("td",[v._v("下边距70px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mb80")]),v._v(" "),t("td",[t("code",[v._v("margin-bottom: 10.6667vw;")])]),v._v(" "),t("td",[v._v("下边距80px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mb90")]),v._v(" "),t("td",[t("code",[v._v("margin-bottom: 12vw;")])]),v._v(" "),t("td",[v._v("下边距90px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-mb100")]),v._v(" "),t("td",[t("code",[v._v("margin-bottom: 13.3333vw;")])]),v._v(" "),t("td",[v._v("下边距100px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-ml10")]),v._v(" "),t("td",[t("code",[v._v("margin-left: 1.3333vw;")])]),v._v(" "),t("td",[v._v("左边距10px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-ml20")]),v._v(" "),t("td",[t("code",[v._v("margin-left: 2.6667vw;")])]),v._v(" "),t("td",[v._v("左边距20px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-ml30")]),v._v(" "),t("td",[t("code",[v._v("margin-left: 4vw;")])]),v._v(" "),t("td",[v._v("左边距30px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-ml40")]),v._v(" "),t("td",[t("code",[v._v("margin-left: 5.3333vw;")])]),v._v(" "),t("td",[v._v("左边距40px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-ml50")]),v._v(" "),t("td",[t("code",[v._v("margin-left: 6.6667vw;")])]),v._v(" "),t("td",[v._v("左边距50px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-ml60")]),v._v(" "),t("td",[t("code",[v._v("margin-left: 8vw;")])]),v._v(" "),t("td",[v._v("左边距60px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-ml70")]),v._v(" "),t("td",[t("code",[v._v("margin-left: 9.3333vw;")])]),v._v(" "),t("td",[v._v("左边距70px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-ml80")]),v._v(" "),t("td",[t("code",[v._v("margin-left: 10.6667vw;")])]),v._v(" "),t("td",[v._v("左边距80px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-ml90")]),v._v(" "),t("td",[t("code",[v._v("margin-left: 12vw;")])]),v._v(" "),t("td",[v._v("左边距90px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".g-ml100")]),v._v(" "),t("td",[t("code",[v._v("margin-left: 13.3333vw;")])]),v._v(" "),t("td",[v._v("左边距100px")]),v._v(" "),t("td",[v._v("mobile")])])])]),v._v(" "),t("ul",[t("li",[v._v("注意:PC版.g-fs"),t("em",[v._v("单位跨度从10px到40px,如.g-fs10, ... , .g-fs40;..g-mt")]),v._v("/.g-mr*/.g-mb*/.g-ml*单位跨度从10px到200px,如.g-mt10, ... , .g-mt200")])]),v._v(" "),t("h4",{attrs:{id:"unit"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#unit","aria-hidden":"true"}},[v._v("#")]),v._v(" unit")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("类/属性名")]),v._v(" "),t("th",[v._v("属性")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("平台")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v(".u-block")]),v._v(" "),t("td",[t("code",[v._v("display: block")])]),v._v(" "),t("td",[v._v("设置为块元素")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-block_il")]),v._v(" "),t("td",[t("code",[v._v("display: inline-block")])]),v._v(" "),t("td",[v._v("设置为行内块元素")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-inline")]),v._v(" "),t("td",[t("code",[v._v("display: inline")])]),v._v(" "),t("td",[v._v("设置为行内元素")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w")]),v._v(" "),t("td",[t("code",[v._v("display: block; width: 100%;")])]),v._v(" "),t("td",[v._v("块元素宽度100%")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w92per")]),v._v(" "),t("td",[t("code",[v._v("display: block; width: 92%;")])]),v._v(" "),t("td",[v._v("块元素宽度92%")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w50per")]),v._v(" "),t("td",[t("code",[v._v("display: block; width: 50%;")])]),v._v(" "),t("td",[v._v("块元素宽度50%")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w10")]),v._v(" "),t("td",[t("code",[v._v("width: 1.3333vw;")])]),v._v(" "),t("td",[v._v("宽度10px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w20")]),v._v(" "),t("td",[t("code",[v._v("width: 2.6667vw;")])]),v._v(" "),t("td",[v._v("宽度20px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w30")]),v._v(" "),t("td",[t("code",[v._v("width: 4vw;")])]),v._v(" "),t("td",[v._v("宽度30px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w40")]),v._v(" "),t("td",[t("code",[v._v("width: 5.3333vw;")])]),v._v(" "),t("td",[v._v("宽度40px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w50")]),v._v(" "),t("td",[t("code",[v._v("width: 6.6667vw;")])]),v._v(" "),t("td",[v._v("宽度50px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w60")]),v._v(" "),t("td",[t("code",[v._v("width: 8vw;")])]),v._v(" "),t("td",[v._v("宽度60px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w70")]),v._v(" "),t("td",[t("code",[v._v("width: 9.3333vw;")])]),v._v(" "),t("td",[v._v("宽度70px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w80")]),v._v(" "),t("td",[t("code",[v._v("width: 10.6667vw;")])]),v._v(" "),t("td",[v._v("宽度80px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w90")]),v._v(" "),t("td",[t("code",[v._v("width: 12vw;")])]),v._v(" "),t("td",[v._v("宽度90px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w100")]),v._v(" "),t("td",[t("code",[v._v("width: 13.3333vw;")])]),v._v(" "),t("td",[v._v("宽度100px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w150")]),v._v(" "),t("td",[t("code",[v._v("width: 19.9995vw")])]),v._v(" "),t("td",[v._v("宽度150px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-w200")]),v._v(" "),t("td",[t("code",[v._v("width: 26.6667vw")])]),v._v(" "),t("td",[v._v("宽度200px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-h")]),v._v(" "),t("td",[t("code",[v._v("height: 100%")])]),v._v(" "),t("td",[v._v("高度100%")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-h10")]),v._v(" "),t("td",[t("code",[v._v("height: 1.3333vw;")])]),v._v(" "),t("td",[v._v("高度10px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-h20")]),v._v(" "),t("td",[t("code",[v._v("height: 2.6667vw;")])]),v._v(" "),t("td",[v._v("高度20px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-h30")]),v._v(" "),t("td",[t("code",[v._v("height: 4vw;")])]),v._v(" "),t("td",[v._v("高度30px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-h40")]),v._v(" "),t("td",[t("code",[v._v("height: 5.3333vw;")])]),v._v(" "),t("td",[v._v("高度40px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-h50")]),v._v(" "),t("td",[t("code",[v._v("height: 6.6667vw;")])]),v._v(" "),t("td",[v._v("高度50px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-h60")]),v._v(" "),t("td",[t("code",[v._v("height: 8vw;")])]),v._v(" "),t("td",[v._v("高度60px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-h70")]),v._v(" "),t("td",[t("code",[v._v("height: 9.3333vw;")])]),v._v(" "),t("td",[v._v("高度70px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-h80")]),v._v(" "),t("td",[t("code",[v._v("height: 10.6667vw;")])]),v._v(" "),t("td",[v._v("高度80px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-h90")]),v._v(" "),t("td",[t("code",[v._v("height: 12vw;")])]),v._v(" "),t("td",[v._v("高度90px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-h100")]),v._v(" "),t("td",[t("code",[v._v("height: 13.3333vw;")])]),v._v(" "),t("td",[v._v("高度100px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-h150")]),v._v(" "),t("td",[t("code",[v._v("height: 19.9995vw")])]),v._v(" "),t("td",[v._v("高度150px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-h200")]),v._v(" "),t("td",[t("code",[v._v("height: 26.6667vw")])]),v._v(" "),t("td",[v._v("高度200px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-p10")]),v._v(" "),t("td",[t("code",[v._v("padding: 1.3333vw;")])]),v._v(" "),t("td",[v._v("padding四边均为10px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-p15")]),v._v(" "),t("td",[t("code",[v._v("padding: 1.99995vw;")])]),v._v(" "),t("td",[v._v("padding四边均为10px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-p20")]),v._v(" "),t("td",[t("code",[v._v("padding: 2.6667vw;")])]),v._v(" "),t("td",[v._v("padding四边均为20px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-p30")]),v._v(" "),t("td",[t("code",[v._v("padding: 4vw;")])]),v._v(" "),t("td",[v._v("padding四边均为30px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pt10")]),v._v(" "),t("td",[t("code",[v._v("padding-top: 1.3333vw;")])]),v._v(" "),t("td",[v._v("上内边距10px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pt15")]),v._v(" "),t("td",[t("code",[v._v("padding-top: 1.3333vw;")])]),v._v(" "),t("td",[v._v("上内边距15px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pt20")]),v._v(" "),t("td",[t("code",[v._v("padding-top: 2.6667vw;")])]),v._v(" "),t("td",[v._v("上内边距20px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pt30")]),v._v(" "),t("td",[t("code",[v._v("padding-top: 4vw;")])]),v._v(" "),t("td",[v._v("上内边距30px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pt40")]),v._v(" "),t("td",[t("code",[v._v("padding-top: 5.3333vw;")])]),v._v(" "),t("td",[v._v("上内边距40px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pt50")]),v._v(" "),t("td",[t("code",[v._v("padding-top: 6.6667vw;")])]),v._v(" "),t("td",[v._v("上内边距50px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pt60")]),v._v(" "),t("td",[t("code",[v._v("padding-top: 8vw;")])]),v._v(" "),t("td",[v._v("上内边距60px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pt70")]),v._v(" "),t("td",[t("code",[v._v("padding-top: 9.3333vw;")])]),v._v(" "),t("td",[v._v("上内边距70px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pt80")]),v._v(" "),t("td",[t("code",[v._v("padding-top: 10.6667vw;")])]),v._v(" "),t("td",[v._v("上内边距80px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pt90")]),v._v(" "),t("td",[t("code",[v._v("padding-top: 12vw;")])]),v._v(" "),t("td",[v._v("上内边距90px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pt100")]),v._v(" "),t("td",[t("code",[v._v("padding-top: 13.3333vw;")])]),v._v(" "),t("td",[v._v("上内边距100px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pr4per")]),v._v(" "),t("td",[t("code",[v._v("padding-right: 4%;")])]),v._v(" "),t("td",[v._v("右内边距4%")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pr10")]),v._v(" "),t("td",[t("code",[v._v("padding-right: 1.3333vw;")])]),v._v(" "),t("td",[v._v("右内边距10px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pr15")]),v._v(" "),t("td",[t("code",[v._v("padding-right: 1.3333vw;")])]),v._v(" "),t("td",[v._v("右内边距15px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pr20")]),v._v(" "),t("td",[t("code",[v._v("padding-right: 2.6667vw;")])]),v._v(" "),t("td",[v._v("右内边距20px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pr30")]),v._v(" "),t("td",[t("code",[v._v("padding-right: 4vw;")])]),v._v(" "),t("td",[v._v("右内边距30px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pr40")]),v._v(" "),t("td",[t("code",[v._v("padding-right: 5.3333vw;")])]),v._v(" "),t("td",[v._v("右内边距40px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pr50")]),v._v(" "),t("td",[t("code",[v._v("padding-right: 6.6667vw;")])]),v._v(" "),t("td",[v._v("右内边距50px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pr60")]),v._v(" "),t("td",[t("code",[v._v("padding-right: 8vw;")])]),v._v(" "),t("td",[v._v("右内边距60px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pr70")]),v._v(" "),t("td",[t("code",[v._v("padding-right: 9.3333vw;")])]),v._v(" "),t("td",[v._v("右内边距70px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pr80")]),v._v(" "),t("td",[t("code",[v._v("padding-right: 10.6667vw;")])]),v._v(" "),t("td",[v._v("右内边距80px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pr90")]),v._v(" "),t("td",[t("code",[v._v("padding-right: 12vw;")])]),v._v(" "),t("td",[v._v("右内边距90px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pr100")]),v._v(" "),t("td",[t("code",[v._v("padding-right: 13.3333vw;")])]),v._v(" "),t("td",[v._v("右内边距100px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pb10")]),v._v(" "),t("td",[t("code",[v._v("padding-bottom: 1.3333vw;")])]),v._v(" "),t("td",[v._v("下内边距10px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pb15")]),v._v(" "),t("td",[t("code",[v._v("padding-bottom: 1.3333vw;")])]),v._v(" "),t("td",[v._v("下内边距15px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pb20")]),v._v(" "),t("td",[t("code",[v._v("padding-bottom: 2.6667vw;")])]),v._v(" "),t("td",[v._v("下内边距20px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pb30")]),v._v(" "),t("td",[t("code",[v._v("padding-bottom: 4vw;")])]),v._v(" "),t("td",[v._v("下内边距30px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pb40")]),v._v(" "),t("td",[t("code",[v._v("padding-bottom: 5.3333vw;")])]),v._v(" "),t("td",[v._v("下内边距40px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pb50")]),v._v(" "),t("td",[t("code",[v._v("padding-bottom: 6.6667vw;")])]),v._v(" "),t("td",[v._v("下内边距50px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pb60")]),v._v(" "),t("td",[t("code",[v._v("padding-bottom: 8vw;")])]),v._v(" "),t("td",[v._v("下内边距60px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pb70")]),v._v(" "),t("td",[t("code",[v._v("padding-bottom: 9.3333vw;")])]),v._v(" "),t("td",[v._v("下内边距70px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pb80")]),v._v(" "),t("td",[t("code",[v._v("padding-bottom: 10.6667vw;")])]),v._v(" "),t("td",[v._v("下内边距80px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pb90")]),v._v(" "),t("td",[t("code",[v._v("padding-bottom: 12vw;")])]),v._v(" "),t("td",[v._v("下内边距90px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pb100")]),v._v(" "),t("td",[t("code",[v._v("padding-bottom: 13.3333vw;")])]),v._v(" "),t("td",[v._v("下内边距100px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pl4per")]),v._v(" "),t("td",[t("code",[v._v("padding-left: 4%;")])]),v._v(" "),t("td",[v._v("左内边距4%")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pl10")]),v._v(" "),t("td",[t("code",[v._v("padding-left: 1.3333vw;")])]),v._v(" "),t("td",[v._v("左内边距10px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pl15")]),v._v(" "),t("td",[t("code",[v._v("padding-left: 1.3333vw;")])]),v._v(" "),t("td",[v._v("左内边距15px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pl20")]),v._v(" "),t("td",[t("code",[v._v("padding-left: 2.6667vw;")])]),v._v(" "),t("td",[v._v("左内边距20px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pl30")]),v._v(" "),t("td",[t("code",[v._v("padding-left: 4vw;")])]),v._v(" "),t("td",[v._v("左内边距30px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pl40")]),v._v(" "),t("td",[t("code",[v._v("padding-left: 5.3333vw;")])]),v._v(" "),t("td",[v._v("左内边距40px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pl50")]),v._v(" "),t("td",[t("code",[v._v("padding-left: 6.6667vw;")])]),v._v(" "),t("td",[v._v("左内边距50px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pl60")]),v._v(" "),t("td",[t("code",[v._v("padding-left: 8vw;")])]),v._v(" "),t("td",[v._v("左内边距60px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pl70")]),v._v(" "),t("td",[t("code",[v._v("padding-left: 9.3333vw;")])]),v._v(" "),t("td",[v._v("左内边距70px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pl80")]),v._v(" "),t("td",[t("code",[v._v("padding-left: 10.6667vw;")])]),v._v(" "),t("td",[v._v("左内边距80px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pl90")]),v._v(" "),t("td",[t("code",[v._v("padding-left: 12vw;")])]),v._v(" "),t("td",[v._v("左内边距90px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-pl100")]),v._v(" "),t("td",[t("code",[v._v("padding-left: 13.3333vw;")])]),v._v(" "),t("td",[v._v("左内边距100px")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".u-flex")]),v._v(" "),t("td",[t("code",[v._v("display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;")])]),v._v(" "),t("td",[v._v("设置flex布局")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-s-middle")]),v._v(" "),t("td",[t("code",[v._v("display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;-webkit-justify-content: space-around; justify-content: space-around; -webkit-align-items: center; align-items: center;")])]),v._v(" "),t("td",[v._v("垂直居中,水平距两端留白平铺")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-l-middle")]),v._v(" "),t("td",[t("code",[v._v("display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;-webkit-box-align: center; -webkit-align-items: center; align-items: center;")])]),v._v(" "),t("td",[v._v("垂直居中,水平靠左")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-c-middle")]),v._v(" "),t("td",[t("code",[v._v("display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;-webkit-box-align: center; -webkit-align-items: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; justify-content: center;")])]),v._v(" "),t("td",[v._v("垂直居中,水平居中")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-j-middle")]),v._v(" "),t("td",[t("code",[v._v("display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;-webkit-box-align: center; -webkit-align-items: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; justify-content: space-between;")])]),v._v(" "),t("td",[v._v("垂直居中,水平贴两端平铺")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-r-middle")]),v._v(" "),t("td",[t("code",[v._v("display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;-webkit-box-align: center; -webkit-align-items: center; align-items: center; -webkit-box-pack: end; -webkit-justify-content: flex-end; justify-content: flex-end;")])]),v._v(" "),t("td",[v._v("垂直居中,水平靠右")]),v._v(" "),t("td",[v._v("mobile/PC")])])])]),v._v(" "),t("ul",[t("li",[v._v("注意:PC版.u-w*/.u-h*/.u-pt*/.u-pr*/.u-pb*/.u-pl*单位跨度从10px到200px,如.u-w10, ... , .u-w200")])]),v._v(" "),t("h4",{attrs:{id:"function"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#function","aria-hidden":"true"}},[v._v("#")]),v._v(" function")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("类/属性名")]),v._v(" "),t("th",[v._v("属性")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("平台")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v(".f-wk_reset")]),v._v(" "),t("td",[t("code",[v._v("-webkit-appearance: none;")])]),v._v(" "),t("td",[v._v("清除webkit默认样式")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-bg_cover, [f-bg_cover]")]),v._v(" "),t("td",[t("code",[v._v("background-repeat: no-repeat; background-position: 0 0; background-size: 100% 100%;")])]),v._v(" "),t("td",[v._v("背景图片填充整个容器")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-ovhidden")]),v._v(" "),t("td",[t("code",[v._v("overflow: hidden;")])]),v._v(" "),t("td",[v._v("溢出隐藏")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-scroll_y")]),v._v(" "),t("td",[t("code",[v._v("overflow-y: auto;")])]),v._v(" "),t("td",[v._v("竖向滚动条自动")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-ellipsis")]),v._v(" "),t("td",[t("code",[v._v("white-space: nowrap; text-overflow: ellipsis; overflow: hidden;")])]),v._v(" "),t("td",[v._v("单行文字超出显示'...'")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-equal")]),v._v(" "),t("td",[t("code",[v._v("margin-bottom: -9999px; padding-bottom: 9999px;")])]),v._v(" "),t("td",[v._v("多列等高")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-tl")]),v._v(" "),t("td",[t("code",[v._v("text-align: left;")])]),v._v(" "),t("td",[v._v("文字左对齐")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-tc")]),v._v(" "),t("td",[t("code",[v._v("text-align: center;")])]),v._v(" "),t("td",[v._v("文字居中对齐")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-tr")]),v._v(" "),t("td",[t("code",[v._v("text-align: right;")])]),v._v(" "),t("td",[v._v("文字右对齐")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-tj")]),v._v(" "),t("td",[t("code",[v._v("-webkit-margin-start: 0; -webkit-margin-end: 0; text-align: justify;")])]),v._v(" "),t("td",[v._v("文字两端对齐")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-vt")]),v._v(" "),t("td",[t("code",[v._v("vertical-align: top;")])]),v._v(" "),t("td",[v._v("行元素垂直对齐方式为顶部")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-vm")]),v._v(" "),t("td",[t("code",[v._v("vertical-align: middle;")])]),v._v(" "),t("td",[v._v("行元素垂直对齐方式为居中")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-vb")]),v._v(" "),t("td",[t("code",[v._v("vertical-align: bottom;")])]),v._v(" "),t("td",[v._v("行元素垂直对齐方式为居底")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-fl")]),v._v(" "),t("td",[t("code",[v._v("float: left; display: inline;")])]),v._v(" "),t("td",[v._v("左浮动")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-fr")]),v._v(" "),t("td",[t("code",[v._v("float: right; display: inline;")])]),v._v(" "),t("td",[v._v("右浮动")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-cb")]),v._v(" "),t("td",[t("code",[v._v("clear: both;")])]),v._v(" "),t("td",[v._v("两侧请浮动")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-cl")]),v._v(" "),t("td",[t("code",[v._v("clear: left;")])]),v._v(" "),t("td",[v._v("左侧请浮动")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-cr")]),v._v(" "),t("td",[t("code",[v._v("clear: right;")])]),v._v(" "),t("td",[v._v("右侧请浮动")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-nowrap")]),v._v(" "),t("td",[t("code",[v._v("white-space: nowrap;")])]),v._v(" "),t("td",[v._v("保持文字不换行")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-normal")]),v._v(" "),t("td",[t("code",[v._v("font-weight: normal;")])]),v._v(" "),t("td",[v._v("字体大小为普通")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-bold")]),v._v(" "),t("td",[t("code",[v._v("font-weight: bold;")])]),v._v(" "),t("td",[v._v("文字大小为粗体")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-ti2")]),v._v(" "),t("td",[t("code",[v._v("text-indent: 2em;")])]),v._v(" "),t("td",[v._v("段落首行缩进2个字符")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-ft_italic")]),v._v(" "),t("td",[t("code",[v._v("font-style: italic;")])]),v._v(" "),t("td",[v._v("文字斜体")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-unl")]),v._v(" "),t("td",[t("code",[v._v("text-decoration: underline;")])]),v._v(" "),t("td",[v._v("文字加下划线")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-unl_none")]),v._v(" "),t("td",[t("code",[v._v("text-decoration: none;")])]),v._v(" "),t("td",[v._v("文字取消下划线")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-bdr10")]),v._v(" "),t("td",[t("code",[v._v("border-radius: 5px;")])]),v._v(" "),t("td",[v._v("圆角5px,移动为10px")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-bdr8")]),v._v(" "),t("td",[t("code",[v._v("border-radius: 4px;")])]),v._v(" "),t("td",[v._v("圆角4px,移动为8px")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-clear")]),v._v(" "),t("td",[t("code",[v._v("height: 0px; line-height: 0px; font-size: 0px; clear: both; overflow: hidden; zoom: 1;")])]),v._v(" "),t("td",[v._v("清浮动")]),v._v(" "),t("td",[v._v("PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-tap_reset")]),v._v(" "),t("td",[t("code",[v._v("-webkit-tap-highlight-color: rgba(0, 0, 0, 0);")])]),v._v(" "),t("td",[v._v("取消移动端触控蒙层")]),v._v(" "),t("td",[v._v("mobile")])]),v._v(" "),t("tr",[t("td",[v._v(".f-song_font")]),v._v(" "),t("td",[t("code",[v._v('font-family: "宋体";')])]),v._v(" "),t("td",[v._v("使用宋体文字")]),v._v(" "),t("td",[v._v("PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-yahei_font")]),v._v(" "),t("td",[t("code",[v._v('font-family: "Microsoft Yahei";')])]),v._v(" "),t("td",[v._v("使用微软雅黑文字")]),v._v(" "),t("td",[v._v("PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-event_none")]),v._v(" "),t("td",[t("code",[v._v("pointer-events: none;")])]),v._v(" "),t("td",[v._v("事件穿透")]),v._v(" "),t("td",[v._v("mobile/PC ("),t("code",[v._v("0.9.2")]),v._v("起)")])]),v._v(" "),t("tr",[t("td",[v._v(".f-inline_wrap")]),v._v(" "),t("td",[t("code",[v._v('content: "\\A"; white-space: pre;')])]),v._v(" "),t("td",[v._v("使行内元素换行")]),v._v(" "),t("td",[v._v("mobile/PC("),t("code",[v._v("0.9.2")]),v._v("起)")])]),v._v(" "),t("tr",[t("td",[v._v(".f-cursor_p")]),v._v(" "),t("td",[t("code",[v._v("cursor: pointer")])]),v._v(" "),t("td",[v._v("鼠标覆盖交互为链接效果")]),v._v(" "),t("td",[v._v("PC("),t("code",[v._v("0.9.2")]),v._v("起)")])]),v._v(" "),t("tr",[t("td",[v._v(".f-cursor_none")]),v._v(" "),t("td",[t("code",[v._v("cursor: default")])]),v._v(" "),t("td",[v._v("鼠标覆盖交互为默认鼠标效果")]),v._v(" "),t("td",[v._v("PC("),t("code",[v._v("0.9.2")]),v._v("起)")])]),v._v(" "),t("tr",[t("td",[v._v(".f-cursor_not")]),v._v(" "),t("td",[t("code",[v._v("cursor: not-allowed")])]),v._v(" "),t("td",[v._v("鼠标覆盖交互为禁止效果")]),v._v(" "),t("td",[v._v("PC("),t("code",[v._v("0.9.2")]),v._v("起)")])]),v._v(" "),t("tr",[t("td",[v._v(".f-noselect")]),v._v(" "),t("td",[t("code",[v._v("-webkit-user-select: none; user-select: none;")])]),v._v(" "),t("td",[v._v("禁止文字选中")]),v._v(" "),t("td",[v._v("mobile/PC("),t("code",[v._v("0.9.4")]),v._v("起)")])])])]),v._v(" "),t("h4",{attrs:{id:"component"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#component","aria-hidden":"true"}},[v._v("#")]),v._v(" component")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("类/属性名")]),v._v(" "),t("th",[v._v("属性")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("平台")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v(".u-icon, .u-btn")]),v._v(" "),t("td",[t("code",[v._v("display: block;")])]),v._v(" "),t("td",[v._v("按钮/图标设置为块元素")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-icon_il, .u-btn_il")]),v._v(" "),t("td",[t("code",[v._v("display: inline-block;")])]),v._v(" "),t("td",[v._v("按钮/图标设置为行内块元素")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-pclass")]),v._v(" "),t("td",[t("code",[v._v("position: relative;&:before,&:after {position: absolute;content: '';}")])]),v._v(" "),t("td",[v._v("设置伪元素,通常用作图形或1px边框")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".f-b_1px")]),v._v(" "),t("td",[t("code",[v._v("position: relative; &:after{ position: absolute; content: ''; background-color: @border-gray;}")])]),v._v(" "),t("td",[v._v("设置retina屏幕边框1px,需要配合.bt_1px/.br_1px/.bb_1px/.bl_1px使用")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".bt_1px")]),v._v(" "),t("td",[t("code",[v._v("left: 0; width: 100%; height: 1px; -webkit-transform: scale(1, 0.5); transform: scale(1, 0.5); top: 0;")])]),v._v(" "),t("td",[v._v("设置上边框1px")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".bb_1px")]),v._v(" "),t("td",[t("code",[v._v("left: 0; width: 100%; height: 1px; -webkit-transform: scale(1, 0.5); transform: scale(1, 0.5); bottom: 0;")])]),v._v(" "),t("td",[v._v("设置下边框1px")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".br_1px")]),v._v(" "),t("td",[t("code",[v._v("top: 0; width: 1px; height: 100%; -webkit-transform: scale(0.5, 1); transform: scale(0.5, 1); right: 0;")])]),v._v(" "),t("td",[v._v("设置右边框1px")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".bl_1px")]),v._v(" "),t("td",[t("code",[v._v("top: 0; width: 1px; height: 100%; -webkit-transform: scale(0.5, 1); transform: scale(0.5, 1); left: 0;")])]),v._v(" "),t("td",[v._v("设置左边框1px")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-btn, .u-btn_il")]),v._v(" "),t("td",[t("code",[v._v("padding: 0; text-align: center; border-radius: 4px;")])]),v._v(" "),t("td",[v._v("设置按钮基础样式,赋值样式见下表button")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-mask")]),v._v(" "),t("td",[t("code",[v._v("z-index: 18; position: fixed; top: 0; bottom: 0; left: 0; right: 0; width: 100%; background-color: rgba(0, 0, 0, 0.3);")])]),v._v(" "),t("td",[v._v("固定黑色蒙层")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".u-win, .u-dialog")]),v._v(" "),t("td",[t("code",[v._v("position: fixed; z-index: 19; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);")])]),v._v(" "),t("td",[v._v("弹窗基础样式")]),v._v(" "),t("td",[v._v("mobile/PC")])])])]),v._v(" "),t("h5",{attrs:{id:"button-component"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#button-component","aria-hidden":"true"}},[v._v("#")]),v._v(" button(component)")]),v._v(" "),t("p",[v._v("*为.u-btn/.u-btn_il的附加样式")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("类/属性名")]),v._v(" "),t("th",[v._v("属性")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("平台")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("[no-bdr]")]),v._v(" "),t("td",[t("code",[v._v("border-radius: 0")])]),v._v(" "),t("td",[v._v("按钮无圆角")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-color="yellow"]')]),v._v(" "),t("td",[t("code",[v._v("background-color: #f1ae3f; color: #fff;")])]),v._v(" "),t("td",[v._v("黄色按钮")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-color="orange"]')]),v._v(" "),t("td",[t("code",[v._v("background-color: #ff7010; color: #fff;")])]),v._v(" "),t("td",[v._v("橙色按钮")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-color="red"]')]),v._v(" "),t("td",[t("code",[v._v("background-color: #cf0e0f; color: #fff;")])]),v._v(" "),t("td",[v._v("红色按钮")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-color="gray"]')]),v._v(" "),t("td",[t("code",[v._v("background-color: #ccc; color: #fff;")])]),v._v(" "),t("td",[v._v("灰色按钮")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-color="bd_gray"]')]),v._v(" "),t("td",[t("code",[v._v("border: thin solid #999; color: #999;")])]),v._v(" "),t("td",[v._v("灰色边框按钮")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-color="bd_white"]')]),v._v(" "),t("td",[t("code",[v._v("border: thin solid #fff; color: #999;")])]),v._v(" "),t("td",[v._v("白色边框按钮")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-color="bd_yellow"]')]),v._v(" "),t("td",[t("code",[v._v("border: thin solid #f1ae3f; color: #f1ae3f;")])]),v._v(" "),t("td",[v._v("黄色边框按钮")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-color="bd_red"]')]),v._v(" "),t("td",[t("code",[v._v("border: thin solid #cf0e0f; color: #cf0e0f;")])]),v._v(" "),t("td",[v._v("红色边框按钮")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-color="small"]')]),v._v(" "),t("td",[t("code",[v._v("line-height: 26px; font-size: 12px;")])]),v._v(" "),t("td",[v._v("小号按钮")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-color="medium"]')]),v._v(" "),t("td",[t("code",[v._v("line-height: 42px; font-size: 16px;")])]),v._v(" "),t("td",[v._v("中号按钮")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-color="big"]')]),v._v(" "),t("td",[t("code",[v._v("line-height: 50px; font-size: 17px;")])]),v._v(" "),t("td",[v._v("大号按钮")]),v._v(" "),t("td",[v._v("mobile/PC")])])])]),v._v(" "),t("h4",{attrs:{id:"skin"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#skin","aria-hidden":"true"}},[v._v("#")]),v._v(" skin")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("类/属性名")]),v._v(" "),t("th",[v._v("属性")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("平台")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v('[s-cr_red], [s-cr="red"]')]),v._v(" "),t("td",[t("code",[v._v("color: #fe5d4e;")])]),v._v(" "),t("td",[v._v("字体颜色为红色")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-cr_green], [s-cr="green"]')]),v._v(" "),t("td",[t("code",[v._v("color: #009801;")])]),v._v(" "),t("td",[v._v("字体颜色为绿色")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-cr_blue], [s-cr="blue"]')]),v._v(" "),t("td",[t("code",[v._v("color: #01a2fc;")])]),v._v(" "),t("td",[v._v("字体颜色为蓝色")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-cr_gray], [s-cr="gray"]')]),v._v(" "),t("td",[t("code",[v._v("color: #999;")])]),v._v(" "),t("td",[v._v("字体颜色为灰色")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-cr_white], [s-cr="white"]')]),v._v(" "),t("td",[t("code",[v._v("color: #fff;")])]),v._v(" "),t("td",[v._v("字体颜色为白色")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-ft_base], [s-cr="base"]')]),v._v(" "),t("td",[t("code",[v._v("color: #323232;")])]),v._v(" "),t("td",[v._v("字体颜色为文本基础颜色")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-ft_base_], [s-cr="base_"]')]),v._v(" "),t("td",[t("code",[v._v("color: #333;")])]),v._v(" "),t("td",[v._v("字体颜色为文本第二种基础颜色")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-ft_sub], [s-cr="sub"]')]),v._v(" "),t("td",[t("code",[v._v("color: #666;")])]),v._v(" "),t("td",[v._v("字体颜色为次文字颜色")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-ft_sub_], [s-cr="sub_"]')]),v._v(" "),t("td",[t("code",[v._v("color: #999;")])]),v._v(" "),t("td",[v._v("字体颜色为第二种次文字颜色")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-bgc_red], [s-bgc="red"]')]),v._v(" "),t("td",[t("code",[v._v("background-color: #fe5d4e;")])]),v._v(" "),t("td",[v._v("背景颜色为红色")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-bgc_green], [s-bgc="green"]')]),v._v(" "),t("td",[t("code",[v._v("background-color: #009801;")])]),v._v(" "),t("td",[v._v("背景颜色为绿色")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-bgc_blue], [s-bgc="blue"]')]),v._v(" "),t("td",[t("code",[v._v("background-color: #01a2fc;")])]),v._v(" "),t("td",[v._v("背景颜色为蓝色")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-bgc_gray], [s-bgc="gray"]')]),v._v(" "),t("td",[t("code",[v._v("background-color: #999;")])]),v._v(" "),t("td",[v._v("背景颜色为灰色")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v('[s-bgc_white], [s-bgc="white"]')]),v._v(" "),t("td",[t("code",[v._v("background-color: #fff;")])]),v._v(" "),t("td",[v._v("背景颜色为白色")]),v._v(" "),t("td",[v._v("mobile/PC")])])])]),v._v(" "),t("h4",{attrs:{id:"status"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#status","aria-hidden":"true"}},[v._v("#")]),v._v(" status")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("类/属性名")]),v._v(" "),t("th",[v._v("属性")]),v._v(" "),t("th",[v._v("说明")]),v._v(" "),t("th",[v._v("平台")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v(".z-hide")]),v._v(" "),t("td",[t("code",[v._v("display: none !important;")])]),v._v(" "),t("td",[v._v("元素隐藏,"),t("strong",[v._v("最高优先级")])]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".z-v_hidden")]),v._v(" "),t("td",[t("code",[v._v("visibility: hidden;")])]),v._v(" "),t("td",[v._v("元素视觉隐藏")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".z-v_visible")]),v._v(" "),t("td",[t("code",[v._v("visibility: visible;")])]),v._v(" "),t("td",[v._v("元素视觉显示")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".z-hide_0")]),v._v(" "),t("td",[t("code",[v._v("opacity: 0;")])]),v._v(" "),t("td",[v._v("透明度为0")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".z-hide_30")]),v._v(" "),t("td",[t("code",[v._v("opacity: 30;")])]),v._v(" "),t("td",[v._v("透明度为30%(PC带有filter:aplpha(opacity=透明度)兼容处理,下面的相同)")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".z-hide_60")]),v._v(" "),t("td",[t("code",[v._v("opacity: 60;")])]),v._v(" "),t("td",[v._v("透明度为60%")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".z-hide_90")]),v._v(" "),t("td",[t("code",[v._v("opacity: 90;")])]),v._v(" "),t("td",[v._v("透明度为90%")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".z-index_")]),v._v(" "),t("td",[t("code",[v._v("z-index: -1;")])]),v._v(" "),t("td",[v._v("z轴层级为-1")]),v._v(" "),t("td",[v._v("mobile/PC")])]),v._v(" "),t("tr",[t("td",[v._v(".z-index_999")]),v._v(" "),t("td",[t("code",[v._v("z-index: 999;")])]),v._v(" "),t("td",[v._v("z轴层级为999")]),v._v(" "),t("td",[v._v("mobile/PC")])])])])])}],!1,null,null,null);_.default=e.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/13.43f629d8.js b/docs/assets/js/13.da9187d4.js similarity index 99% rename from docs/assets/js/13.43f629d8.js rename to docs/assets/js/13.da9187d4.js index eab55de..edc7ca3 100644 --- a/docs/assets/js/13.43f629d8.js +++ b/docs/assets/js/13.da9187d4.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{193:function(t,s,a){"use strict";a.r(s);var n=a(0),e=Object(n.a)({},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"content"},[t._m(0),t._v(" "),t._m(1),t._v(" "),a("p",[t._v("className或attribute的写法为:")]),t._v(" "),t._m(2),a("p",[t._v("或")]),t._v(" "),t._m(3),t._m(4),t._v(" "),t._m(5),t._v(" "),a("p",[t._v("其中标志前缀由样式模块确认:")]),t._v(" "),t._m(6),t._v(" "),a("p",[t._v("特殊样式模块前缀:")]),t._v(" "),t._m(7),t._v(" "),a("p",[t._v("属性简写规则,通常由属性单词首字母组成,部分较长的样式属性单词或避免重复可取首字母和中间字母。如"),a("code",[t._v("margin-top")]),t._v(" -> "),a("code",[t._v("mt")]),t._v(","),a("code",[t._v("background-color")]),t._v(" -> "),a("code",[t._v("bgc")]),t._v(";属性值单位值为px时,省略px;为rem/vw时,数值转为px并省略rem/vw;为"),a("code",[t._v("%")]),t._v("时,则"),a("code",[t._v("%")]),t._v("换为"),a("code",[t._v("per")]),t._v(",\n如"),a("code",[t._v("padding-left: 30px")]),t._v(" -> "),a("code",[t._v("pl30")]),t._v(","),a("code",[t._v("width: 1rem")]),t._v(" -> "),a("code",[t._v("w75")]),t._v(","),a("code",[t._v("margin-top: 2vw")]),t._v(" -> "),a("code",[t._v("mt15")]),t._v(","),a("code",[t._v("left: 50%")]),t._v(" -> "),a("code",[t._v("l50per")]),t._v("。更多属性简写可参考"),a("router-link",{attrs:{to:"./../nameDictionary/#样式属性命名"}},[t._v("样式属性命名>>")])],1),t._v(" "),t._m(8),t._v(" "),a("p",[t._v("结合标志,如下")]),t._v(" "),t._m(9),a("p",[t._v("className为module样式时,按照如下命名规则")]),t._v(" "),t._m(10),t._v(" "),t._m(11),t._v(" "),t._m(12),t._v(" "),a("p",[t._v("Module结合Base层、Component层、Skin层、Layout层完成整个样式。其命名通常与项目业务耦合,部分缩略命名可参考"),a("router-link",{attrs:{to:"./../nameDictionary/#module命名词典"}},[t._v("Module命名词典>>")])],1),t._v(" "),t._m(13),t._v(" "),t._m(14),a("p",[t._v("其中标识前缀可省略")]),t._v(" "),a("p",[t._v("Module分为块(Block)及元素(Element),")]),t._v(" "),t._m(15),t._v(" "),a("p",[t._v("如")]),t._v(" "),t._m(16),t._m(17),t._v(" "),a("p",[t._v("如")]),t._v(" "),t._m(18),t._m(19),t._m(20),t._v(" "),t._m(21),t._v(" "),a("p",[t._v("VueJS(vue-cli)可直接在style标签中设置module属性完成css module的设置(可见"),a("a",{attrs:{href:"https://vue-loader.vuejs.org/zh/guide/css-modules.html#%E7%94%A8%E6%B3%95",target:"_blank",rel:"noopener noreferrer"}},[t._v("文档 vue css-modules"),a("OutboundLink")],1),t._v(")\nReactJS需要设置webpack配置文件中cssOptions参数的modules为true。")]),t._v(" "),a("p",[t._v("Vue使用如:")]),t._v(" "),t._m(22),t._m(23),t._v(" "),t._m(24),t._m(25),t._v(" "),t._m(26),t._m(27),t._m(28),t._v(" "),a("p",[t._v("Moo-CSS推荐分别通过样式属性以及className的书写顺序来提供更为直观且易于管理的代码,同时也表明了样式及层级的选择器权重优先级顺序。")]),t._v(" "),t._m(29),t._v(" "),t._m(30),a("p",[t._v("如")]),t._v(" "),t._m(31),t._m(32),t._v(" "),t._m(33),a("p",[t._v("如")]),t._v(" "),t._m(34),t._m(35),t._v(" "),a("p",[t._v("可以很好理解,className权重大于attribute选择器,在HTML中也是以此顺序排列,如")]),t._v(" "),t._m(36)])},[function(){var t=this.$createElement,s=this._self._c||t;return s("h1",{attrs:{id:"命名规则"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#命名规则","aria-hidden":"true"}},[this._v("#")]),this._v(" 命名规则")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("选择器命名由小写字母,"),s("code",[this._v("_")]),this._v("、"),s("code",[this._v("-")]),this._v("符号组成,并通过标志前缀来确定样式命名空间。")])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[this._v("标志前缀-className/attribute_字母值\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[this._v("标志前缀-className/attribute数字值\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"基本规则"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#基本规则","aria-hidden":"true"}},[this._v("#")]),this._v(" 基本规则")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[t._v("类名或属性名由小写字母、数字、"),a("code",[t._v("_")]),t._v("、"),a("code",[t._v("-")]),t._v("符号组成,不包含大写字母;")]),t._v(" "),a("li",[t._v("连字符分隔单词("),a("code",[t._v("-")]),t._v("),以代替驼峰式命名。如:head-menu;")]),t._v(" "),a("li",[t._v("单下划线分隔属性和英文值("),a("code",[t._v("_")]),t._v(")。如:color_red;")]),t._v(" "),a("li",[t._v("双下划线分隔模块和元素("),a("code",[t._v("__")]),t._v(")。如:nav__item。")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[a("code",[t._v("g-")]),t._v(":grid")]),t._v(" "),a("li",[a("code",[t._v("f-")]),t._v(": function")]),t._v(" "),a("li",[a("code",[t._v("u-")]),t._v(": unit、Component unit")]),t._v(" "),a("li",[a("code",[t._v("z-")]),t._v(": status")]),t._v(" "),a("li",[a("code",[t._v("s-")]),t._v(": skin")]),t._v(" "),a("li",[a("code",[t._v("a-")]),t._v(": animation")]),t._v(" "),a("li",[a("code",[t._v("m-")]),t._v(": Module")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[a("code",[t._v("j-")]),t._v(": JavaScript DOM")]),t._v(" "),a("li",[a("code",[t._v("v*-")]),t._v(": VueJS专用,如VueJS专用动画"),a("code",[t._v(".va-fadein")])]),t._v(" "),a("li",[a("code",[t._v("r*-")]),t._v(": ReactJS专用,如ReactJS专用宽度"),a("code",[t._v(".ru-w100")])]),t._v(" "),a("li",[a("code",[t._v("a*-")]),t._v(": Angular专用,如Angular专用皮肤"),a("code",[t._v(".as-cr_red")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("属性值为非模块时,名字为标识,如"),s("code",[this._v("icon")]),this._v("、"),s("code",[this._v("ovhidden")]),this._v("。")])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[this._v(".u-w30per\n.g-mt30\n.f-blod\n.s-bgc_red\n[s-cr_red]\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"id、class、attribute选择器的使用范围"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#id、class、attribute选择器的使用范围","aria-hidden":"true"}},[this._v("#")]),this._v(" ID、class、attribute选择器的使用范围")])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("ID:不做样式使用,仅作js DOM操作或作为容器")]),this._v(" "),s("li",[this._v("class:主要样式")]),this._v(" "),s("li",[this._v("attr:作为皮肤控制")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"module命名规则"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#module命名规则","aria-hidden":"true"}},[this._v("#")]),this._v(" Module命名规则")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"方式1:bem的be"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#方式1:bem的be","aria-hidden":"true"}},[this._v("#")]),this._v(" 方式1:BEM的BE")])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[this._v("(标志前缀)-类块__类元素\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[a("p",[t._v("Block,即OO中的容器,是用来标识一个具体块的关键字其实就是这个块的名字,如:"),a("code",[t._v("头")]),t._v("->"),a("code",[t._v("head")]),t._v(", "),a("code",[t._v("内容")]),t._v("->"),a("code",[t._v("content")]),t._v(", "),a("code",[t._v("导航")]),t._v("->"),a("code",[t._v("nav")]),t._v(", "),a("code",[t._v("尾")]),t._v("->"),a("code",[t._v("foot")]),t._v("。一个块必须有一个唯一的名字(类),这样才能保证块的独立性。\n块由gird来控制其布局。")])]),t._v(" "),a("li",[a("p",[t._v("Element,"),a("strong",[t._v("依赖于块的元素")]),t._v("。是用来标识一个元素的关键字,也是这个元素的名字。如"),a("code",[t._v("导航栏链接或菜单的每一项")]),t._v("->"),a("code",[t._v("item")]),t._v("\n我们在长名称中使用连字符分隔单词(例如,block-name),使用两个下划线来分隔块名和元素名(block-name__element-name)。\n块名称为其元素和专属修饰符定义命名空间。")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("nav")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-nav"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("a")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-nav__item"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("nav 1"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("a")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-nav__item"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("nav 2"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"再结合其它层完成整个样式"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#再结合其它层完成整个样式","aria-hidden":"true"}},[this._v("#")]),this._v(" 再结合其它层完成整个样式")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("section")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("g-pr"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("nav")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-nav f-tc g-pa g-t50l100"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("u-size")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("big"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-bgc_yellow")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("a")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-nav__item"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("nav 1"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("a")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-nav__item nav_type_selected"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("nav 2"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-css extra-class"},[a("pre",{pre:!0,attrs:{class:"language-css"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* layout */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".g-pr")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("position")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" relative"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".g-pa")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("position")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" absolute"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* function */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".f-tc")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-align")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" center"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* unit */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v('[u-size="big"]')]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 500px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("font-size")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 30px "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v('[u-size="small"]')]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 50px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("font-size")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10px "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* skin */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v("[s-bgc_yellow]")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("background-color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" yellow "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* module */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".m-nav")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/*...*/")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".m-nav__item")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/*...*/")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"方式2:css-modules-css-in-js"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#方式2:css-modules-css-in-js","aria-hidden":"true"}},[this._v("#")]),this._v(" 方式2:css modules/CSS in JS")])},function(){var t=this.$createElement,s=this._self._c||t;return s("blockquote",[s("p",[this._v("如果使用了CSS in JS或者css modules来指定Module的话,则可避免模块元素及修饰符的依赖式写法。(避免BE写法)")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-vue extra-class"},[a("pre",{pre:!0,attrs:{class:"language-vue"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("template")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("section")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v(":class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("$style.foot"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("p")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("img")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v(":class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("$style.img"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("src")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("@/images/i-logo_b.png"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("p")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("@All right reserved | Design by "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("a")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("href")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("https://github.com/MichealWayne/"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("Micheal Wayne"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("style")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("lang")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("less"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("module")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token style"}},[a("span",{pre:!0,attrs:{class:"token language-css"}},[t._v("\n "),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".foot")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("line-height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10vw"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("word-break")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" keep-all"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("white-space")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" nowrap"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(";\n\t\t\n\t\t.img")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t\t\t"),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\t\t\t"),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\t\t"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"结合其它层完成整个样式"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#结合其它层完成整个样式","aria-hidden":"true"}},[this._v("#")]),this._v(" 结合其它层完成整个样式")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-vue extra-class"},[a("pre",{pre:!0,attrs:{class:"language-vue"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("template")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("section")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v(":class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("[$style.foot, 'f-tc']"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("p")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("u-pt80"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("img")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v(":class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("[$style.img, 'g-mb20']"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("src")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("@/images/i-logo_b.png"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("p")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("g-fs22 u-pb100"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-cr_sub")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("@All right reserved | Design by "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("a")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("f-unl"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-cr_blue")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("href")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("https://github.com/MichealWayne/"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("Micheal Wayne"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("style")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("lang")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("less"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("module")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token style"}},[a("span",{pre:!0,attrs:{class:"token language-css"}},[t._v("\n "),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".foot")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("line-height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10vw"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("word-break")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" keep-all"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("white-space")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" nowrap"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(";\n\t\t\n\t\t.img")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t\t\t"),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\t\t\t"),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\t\t"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"react-例子"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#react-例子","aria-hidden":"true"}},[this._v("#")]),this._v(" react 例子")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-jsx extra-class"},[a("pre",{pre:!0,attrs:{class:"language-jsx"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" React"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Component"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'react'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" style "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'./index.scss'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" classnames "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'classnames'")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("default")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Footer")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("extends")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Component")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("footer")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("className")]),a("span",{pre:!0,attrs:{class:"token script language-javascript"}},[a("span",{pre:!0,attrs:{class:"token script-punctuation punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("classnames")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("style"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("foot"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'f-tc g-fs12 f-b_1px bt_1px g-mt60'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-theme__foot")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("1"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n\t\t\t\t")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("p")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("u-pt80"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n\t\t\t\t\t")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("img")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("className")]),a("span",{pre:!0,attrs:{class:"token script language-javascript"}},[a("span",{pre:!0,attrs:{class:"token script-punctuation punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("classnames")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("style"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("img"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'g-mb20'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("src")]),a("span",{pre:!0,attrs:{class:"token script language-javascript"}},[a("span",{pre:!0,attrs:{class:"token script-punctuation punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'@/images/i-logo_b.png'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n\t\t\t\t")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n MIT Licensed | Copyright © 2019-present MichealWayne\n ")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n )\n }\n}\n")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-scss extra-class"},[a("pre",{pre:!0,attrs:{class:"language-scss"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// index.scss")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".foot ")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("padding")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 40px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\t\n\t"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".img ")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\t\t"),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\t"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"样式属性及classname书写顺序"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#样式属性及classname书写顺序","aria-hidden":"true"}},[this._v("#")]),this._v(" 样式属性及className书写顺序")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"样式属性顺序"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#样式属性顺序","aria-hidden":"true"}},[this._v("#")]),this._v(" 样式属性顺序")])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[this._v("grid(Layout) > grid > unit > function > skin > status > animation\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-css extra-class"},[a("pre",{pre:!0,attrs:{class:"language-css"}},[a("code",[a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".m-item1")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("position")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" fixed"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("top")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("right")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("bottom")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("left")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("z-index")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 8"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 100%"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 50px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("font-size")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 12px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("background-color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" #f00"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".m-item2")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("float")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" right"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("display")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" block"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("font")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" normal 13px "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Helvetica Neue"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" sans-serif"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("line-height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 1.5"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-align")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" center"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" #333"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("background-color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" #f5f5f5"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("border")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 1px solid #e5e5e5"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("border-radius")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 3px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("opacity")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 1"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"classname顺序"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#classname顺序","aria-hidden":"true"}},[this._v("#")]),this._v(" className顺序")])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[this._v("Module/Component > Base(unit) > Base > Skin(className) > Layout > Skin(attribute) > JavaScript DOM/ Frame special\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-menu u-h30 f-tc g-mt20 j-topage"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("classNames"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"classname-attribute"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#classname-attribute","aria-hidden":"true"}},[this._v("#")]),this._v(" className > attribute")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-menu u-h30 f-tc g-mt20 j-topage"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-cr_red")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("classNames"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])}],!1,null,null,null);s.default=e.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{195:function(t,s,a){"use strict";a.r(s);var n=a(0),e=Object(n.a)({},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"content"},[t._m(0),t._v(" "),t._m(1),t._v(" "),a("p",[t._v("className或attribute的写法为:")]),t._v(" "),t._m(2),a("p",[t._v("或")]),t._v(" "),t._m(3),t._m(4),t._v(" "),t._m(5),t._v(" "),a("p",[t._v("其中标志前缀由样式模块确认:")]),t._v(" "),t._m(6),t._v(" "),a("p",[t._v("特殊样式模块前缀:")]),t._v(" "),t._m(7),t._v(" "),a("p",[t._v("属性简写规则,通常由属性单词首字母组成,部分较长的样式属性单词或避免重复可取首字母和中间字母。如"),a("code",[t._v("margin-top")]),t._v(" -> "),a("code",[t._v("mt")]),t._v(","),a("code",[t._v("background-color")]),t._v(" -> "),a("code",[t._v("bgc")]),t._v(";属性值单位值为px时,省略px;为rem/vw时,数值转为px并省略rem/vw;为"),a("code",[t._v("%")]),t._v("时,则"),a("code",[t._v("%")]),t._v("换为"),a("code",[t._v("per")]),t._v(",\n如"),a("code",[t._v("padding-left: 30px")]),t._v(" -> "),a("code",[t._v("pl30")]),t._v(","),a("code",[t._v("width: 1rem")]),t._v(" -> "),a("code",[t._v("w75")]),t._v(","),a("code",[t._v("margin-top: 2vw")]),t._v(" -> "),a("code",[t._v("mt15")]),t._v(","),a("code",[t._v("left: 50%")]),t._v(" -> "),a("code",[t._v("l50per")]),t._v("。更多属性简写可参考"),a("router-link",{attrs:{to:"./../nameDictionary/#样式属性命名"}},[t._v("样式属性命名>>")])],1),t._v(" "),t._m(8),t._v(" "),a("p",[t._v("结合标志,如下")]),t._v(" "),t._m(9),a("p",[t._v("className为module样式时,按照如下命名规则")]),t._v(" "),t._m(10),t._v(" "),t._m(11),t._v(" "),t._m(12),t._v(" "),a("p",[t._v("Module结合Base层、Component层、Skin层、Layout层完成整个样式。其命名通常与项目业务耦合,部分缩略命名可参考"),a("router-link",{attrs:{to:"./../nameDictionary/#module命名词典"}},[t._v("Module命名词典>>")])],1),t._v(" "),t._m(13),t._v(" "),t._m(14),a("p",[t._v("其中标识前缀可省略")]),t._v(" "),a("p",[t._v("Module分为块(Block)及元素(Element),")]),t._v(" "),t._m(15),t._v(" "),a("p",[t._v("如")]),t._v(" "),t._m(16),t._m(17),t._v(" "),a("p",[t._v("如")]),t._v(" "),t._m(18),t._m(19),t._m(20),t._v(" "),t._m(21),t._v(" "),a("p",[t._v("VueJS(vue-cli)可直接在style标签中设置module属性完成css module的设置(可见"),a("a",{attrs:{href:"https://vue-loader.vuejs.org/zh/guide/css-modules.html#%E7%94%A8%E6%B3%95",target:"_blank",rel:"noopener noreferrer"}},[t._v("文档 vue css-modules"),a("OutboundLink")],1),t._v(")\nReactJS需要设置webpack配置文件中cssOptions参数的modules为true。")]),t._v(" "),a("p",[t._v("Vue使用如:")]),t._v(" "),t._m(22),t._m(23),t._v(" "),t._m(24),t._m(25),t._v(" "),t._m(26),t._m(27),t._m(28),t._v(" "),a("p",[t._v("Moo-CSS推荐分别通过样式属性以及className的书写顺序来提供更为直观且易于管理的代码,同时也表明了样式及层级的选择器权重优先级顺序。")]),t._v(" "),t._m(29),t._v(" "),t._m(30),a("p",[t._v("如")]),t._v(" "),t._m(31),t._m(32),t._v(" "),t._m(33),a("p",[t._v("如")]),t._v(" "),t._m(34),t._m(35),t._v(" "),a("p",[t._v("可以很好理解,className权重大于attribute选择器,在HTML中也是以此顺序排列,如")]),t._v(" "),t._m(36)])},[function(){var t=this.$createElement,s=this._self._c||t;return s("h1",{attrs:{id:"命名规则"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#命名规则","aria-hidden":"true"}},[this._v("#")]),this._v(" 命名规则")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("选择器命名由小写字母,"),s("code",[this._v("_")]),this._v("、"),s("code",[this._v("-")]),this._v("符号组成,并通过标志前缀来确定样式命名空间。")])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[this._v("标志前缀-className/attribute_字母值\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[this._v("标志前缀-className/attribute数字值\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"基本规则"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#基本规则","aria-hidden":"true"}},[this._v("#")]),this._v(" 基本规则")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[t._v("类名或属性名由小写字母、数字、"),a("code",[t._v("_")]),t._v("、"),a("code",[t._v("-")]),t._v("符号组成,不包含大写字母;")]),t._v(" "),a("li",[t._v("连字符分隔单词("),a("code",[t._v("-")]),t._v("),以代替驼峰式命名。如:head-menu;")]),t._v(" "),a("li",[t._v("单下划线分隔属性和英文值("),a("code",[t._v("_")]),t._v(")。如:color_red;")]),t._v(" "),a("li",[t._v("双下划线分隔模块和元素("),a("code",[t._v("__")]),t._v(")。如:nav__item。")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[a("code",[t._v("g-")]),t._v(":grid")]),t._v(" "),a("li",[a("code",[t._v("f-")]),t._v(": function")]),t._v(" "),a("li",[a("code",[t._v("u-")]),t._v(": unit、Component unit")]),t._v(" "),a("li",[a("code",[t._v("z-")]),t._v(": status")]),t._v(" "),a("li",[a("code",[t._v("s-")]),t._v(": skin")]),t._v(" "),a("li",[a("code",[t._v("a-")]),t._v(": animation")]),t._v(" "),a("li",[a("code",[t._v("m-")]),t._v(": Module")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[a("code",[t._v("j-")]),t._v(": JavaScript DOM")]),t._v(" "),a("li",[a("code",[t._v("v*-")]),t._v(": VueJS专用,如VueJS专用动画"),a("code",[t._v(".va-fadein")])]),t._v(" "),a("li",[a("code",[t._v("r*-")]),t._v(": ReactJS专用,如ReactJS专用宽度"),a("code",[t._v(".ru-w100")])]),t._v(" "),a("li",[a("code",[t._v("a*-")]),t._v(": Angular专用,如Angular专用皮肤"),a("code",[t._v(".as-cr_red")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("属性值为非模块时,名字为标识,如"),s("code",[this._v("icon")]),this._v("、"),s("code",[this._v("ovhidden")]),this._v("。")])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[this._v(".u-w30per\n.g-mt30\n.f-blod\n.s-bgc_red\n[s-cr_red]\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"id、class、attribute选择器的使用范围"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#id、class、attribute选择器的使用范围","aria-hidden":"true"}},[this._v("#")]),this._v(" ID、class、attribute选择器的使用范围")])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("ID:不做样式使用,仅作js DOM操作或作为容器")]),this._v(" "),s("li",[this._v("class:主要样式")]),this._v(" "),s("li",[this._v("attr:作为皮肤控制")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"module命名规则"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#module命名规则","aria-hidden":"true"}},[this._v("#")]),this._v(" Module命名规则")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"方式1:bem的be"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#方式1:bem的be","aria-hidden":"true"}},[this._v("#")]),this._v(" 方式1:BEM的BE")])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[this._v("(标志前缀)-类块__类元素\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[a("p",[t._v("Block,即OO中的容器,是用来标识一个具体块的关键字其实就是这个块的名字,如:"),a("code",[t._v("头")]),t._v("->"),a("code",[t._v("head")]),t._v(", "),a("code",[t._v("内容")]),t._v("->"),a("code",[t._v("content")]),t._v(", "),a("code",[t._v("导航")]),t._v("->"),a("code",[t._v("nav")]),t._v(", "),a("code",[t._v("尾")]),t._v("->"),a("code",[t._v("foot")]),t._v("。一个块必须有一个唯一的名字(类),这样才能保证块的独立性。\n块由gird来控制其布局。")])]),t._v(" "),a("li",[a("p",[t._v("Element,"),a("strong",[t._v("依赖于块的元素")]),t._v("。是用来标识一个元素的关键字,也是这个元素的名字。如"),a("code",[t._v("导航栏链接或菜单的每一项")]),t._v("->"),a("code",[t._v("item")]),t._v("\n我们在长名称中使用连字符分隔单词(例如,block-name),使用两个下划线来分隔块名和元素名(block-name__element-name)。\n块名称为其元素和专属修饰符定义命名空间。")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("nav")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-nav"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("a")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-nav__item"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("nav 1"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("a")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-nav__item"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("nav 2"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"再结合其它层完成整个样式"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#再结合其它层完成整个样式","aria-hidden":"true"}},[this._v("#")]),this._v(" 再结合其它层完成整个样式")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("section")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("g-pr"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("nav")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-nav f-tc g-pa g-t50l100"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("u-size")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("big"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-bgc_yellow")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("a")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-nav__item"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("nav 1"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("a")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-nav__item nav_type_selected"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("nav 2"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-css extra-class"},[a("pre",{pre:!0,attrs:{class:"language-css"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* layout */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".g-pr")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("position")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" relative"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".g-pa")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("position")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" absolute"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* function */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".f-tc")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-align")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" center"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* unit */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v('[u-size="big"]')]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 500px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("font-size")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 30px "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v('[u-size="small"]')]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 50px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("font-size")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10px "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* skin */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v("[s-bgc_yellow]")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("background-color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" yellow "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* module */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".m-nav")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/*...*/")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".m-nav__item")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/*...*/")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"方式2:css-modules-css-in-js"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#方式2:css-modules-css-in-js","aria-hidden":"true"}},[this._v("#")]),this._v(" 方式2:css modules/CSS in JS")])},function(){var t=this.$createElement,s=this._self._c||t;return s("blockquote",[s("p",[this._v("如果使用了CSS in JS或者css modules来指定Module的话,则可避免模块元素及修饰符的依赖式写法。(避免BE写法)")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-vue extra-class"},[a("pre",{pre:!0,attrs:{class:"language-vue"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("template")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("section")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v(":class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("$style.foot"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("p")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("img")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v(":class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("$style.img"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("src")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("@/images/i-logo_b.png"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("p")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("@All right reserved | Design by "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("a")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("href")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("https://github.com/MichealWayne/"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("Micheal Wayne"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("style")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("lang")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("less"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("module")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token style"}},[a("span",{pre:!0,attrs:{class:"token language-css"}},[t._v("\n "),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".foot")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("line-height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10vw"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("word-break")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" keep-all"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("white-space")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" nowrap"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(";\n\t\t\n\t\t.img")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t\t\t"),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\t\t\t"),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\t\t"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"结合其它层完成整个样式"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#结合其它层完成整个样式","aria-hidden":"true"}},[this._v("#")]),this._v(" 结合其它层完成整个样式")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-vue extra-class"},[a("pre",{pre:!0,attrs:{class:"language-vue"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("template")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("section")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v(":class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("[$style.foot, 'f-tc']"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("p")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("u-pt80"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("img")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v(":class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("[$style.img, 'g-mb20']"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("src")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("@/images/i-logo_b.png"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("p")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("g-fs22 u-pb100"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-cr_sub")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("@All right reserved | Design by "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("a")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("f-unl"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-cr_blue")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("href")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("https://github.com/MichealWayne/"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("Micheal Wayne"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("style")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("lang")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("less"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("module")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token style"}},[a("span",{pre:!0,attrs:{class:"token language-css"}},[t._v("\n "),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".foot")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("line-height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10vw"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("word-break")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" keep-all"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("white-space")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" nowrap"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(";\n\t\t\n\t\t.img")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t\t\t"),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\t\t\t"),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\t\t"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"react-例子"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#react-例子","aria-hidden":"true"}},[this._v("#")]),this._v(" react 例子")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-jsx extra-class"},[a("pre",{pre:!0,attrs:{class:"language-jsx"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" React"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Component"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'react'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" style "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'./index.scss'")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" classnames "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'classnames'")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("export")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("default")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Footer")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("extends")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Component")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("footer")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("className")]),a("span",{pre:!0,attrs:{class:"token script language-javascript"}},[a("span",{pre:!0,attrs:{class:"token script-punctuation punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("classnames")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("style"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("foot"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'f-tc g-fs12 f-b_1px bt_1px g-mt60'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-theme__foot")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("1"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n\t\t\t\t")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("p")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("u-pt80"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n\t\t\t\t\t")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("img")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("className")]),a("span",{pre:!0,attrs:{class:"token script language-javascript"}},[a("span",{pre:!0,attrs:{class:"token script-punctuation punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("classnames")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("style"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("img"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'g-mb20'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("src")]),a("span",{pre:!0,attrs:{class:"token script language-javascript"}},[a("span",{pre:!0,attrs:{class:"token script-punctuation punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("require")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'@/images/i-logo_b.png'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n\t\t\t\t")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n MIT Licensed | Copyright © 2019-present MichealWayne\n ")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n )\n }\n}\n")])])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-scss extra-class"},[a("pre",{pre:!0,attrs:{class:"language-scss"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// index.scss")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".foot ")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("padding")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 40px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\t\n\t"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".img ")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\t\t"),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\t"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"样式属性及classname书写顺序"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#样式属性及classname书写顺序","aria-hidden":"true"}},[this._v("#")]),this._v(" 样式属性及className书写顺序")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"样式属性顺序"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#样式属性顺序","aria-hidden":"true"}},[this._v("#")]),this._v(" 样式属性顺序")])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[this._v("grid(Layout) > grid > unit > function > skin > status > animation\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-css extra-class"},[a("pre",{pre:!0,attrs:{class:"language-css"}},[a("code",[a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".m-item1")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("position")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" fixed"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("top")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("right")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("bottom")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("left")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("z-index")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 8"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 100%"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 50px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("font-size")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 12px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("background-color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" #f00"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".m-item2")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("float")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" right"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("display")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" block"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("font")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" normal 13px "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Helvetica Neue"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" sans-serif"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("line-height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 1.5"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-align")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" center"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" #333"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("background-color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" #f5f5f5"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("border")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 1px solid #e5e5e5"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("border-radius")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 3px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("opacity")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 1"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"classname顺序"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#classname顺序","aria-hidden":"true"}},[this._v("#")]),this._v(" className顺序")])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[this._v("Module/Component > Base(unit) > Base > Skin(className) > Layout > Skin(attribute) > JavaScript DOM/ Frame special\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-menu u-h30 f-tc g-mt20 j-topage"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("classNames"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"classname-attribute"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#classname-attribute","aria-hidden":"true"}},[this._v("#")]),this._v(" className > attribute")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-menu u-h30 f-tc g-mt20 j-topage"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("s-cr_red")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("classNames"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])}],!1,null,null,null);s.default=e.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/14.98bc52ba.js b/docs/assets/js/14.de9b7436.js similarity index 99% rename from docs/assets/js/14.98bc52ba.js rename to docs/assets/js/14.de9b7436.js index baa7243..8f195d6 100644 --- a/docs/assets/js/14.98bc52ba.js +++ b/docs/assets/js/14.de9b7436.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{201:function(t,a,s){"use strict";s.r(a);var n=s(0),p=Object(n.a)({},function(){this.$createElement;this._self._c;return this._m(0)},[function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"content"},[s("h1",{attrs:{id:"节点树"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#节点树","aria-hidden":"true"}},[t._v("#")]),t._v(" 节点树")]),t._v(" "),s("div",{staticClass:"language-html extra-class"},[s("pre",{pre:!0,attrs:{class:"language-html"}},[s("code",[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("header")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-head"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("nav")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-nav"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("a")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-nav__item z-selected"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("首页"),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("a")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-nav__item"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("列表"),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("article")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-ctn"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("h4")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("u-h4"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("Module"),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("p")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("u-text"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("Moo-CSS中的M,模块化。"),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("footer")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-foot"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n \n"),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])])}],!1,null,null,null);a.default=p.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{203:function(t,a,s){"use strict";s.r(a);var n=s(0),p=Object(n.a)({},function(){this.$createElement;this._self._c;return this._m(0)},[function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"content"},[s("h1",{attrs:{id:"节点树"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#节点树","aria-hidden":"true"}},[t._v("#")]),t._v(" 节点树")]),t._v(" "),s("div",{staticClass:"language-html extra-class"},[s("pre",{pre:!0,attrs:{class:"language-html"}},[s("code",[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("header")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-head"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("nav")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-nav"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("a")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-nav__item z-selected"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("首页"),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("a")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-nav__item"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("列表"),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("article")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-ctn"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("h4")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("u-h4"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("Module"),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("p")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("u-text"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("Moo-CSS中的M,模块化。"),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("footer")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-foot"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n \n"),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])])}],!1,null,null,null);a.default=p.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/15.0035bfab.js b/docs/assets/js/15.0035bfab.js deleted file mode 100644 index c1ee1af..0000000 --- a/docs/assets/js/15.0035bfab.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{190:function(n,w,o){}}]); \ No newline at end of file diff --git a/docs/assets/js/15.c287e26f.js b/docs/assets/js/15.c287e26f.js new file mode 100644 index 0000000..fab724d --- /dev/null +++ b/docs/assets/js/15.c287e26f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{192:function(n,w,o){}}]); \ No newline at end of file diff --git a/docs/assets/js/2.6f952334.js b/docs/assets/js/2.8a90cf30.js similarity index 98% rename from docs/assets/js/2.6f952334.js rename to docs/assets/js/2.8a90cf30.js index f8f6987..15aad31 100644 --- a/docs/assets/js/2.6f952334.js +++ b/docs/assets/js/2.8a90cf30.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{180:function(t,s,a){t.exports=a.p+"assets/img/BEM-B.dd6b3586.png"},181:function(t,s,a){t.exports=a.p+"assets/img/BEM-E.8478c0c9.png"},182:function(t,s,a){t.exports=a.p+"assets/img/BEM-M.4ee575c9.png"},183:function(t,s,a){t.exports=a.p+"assets/img/smacss.cf956fc6.png"},184:function(t,s,a){t.exports=a.p+"assets/img/p-mcss.e9791cd4.jpg"},185:function(t,s,a){t.exports=a.p+"assets/img/p-itcss.89cf4c9e.jpg"},186:function(t,s,a){t.exports=a.p+"assets/img/p-atoms.1bac3d74.png"},187:function(t,s,a){t.exports=a.p+"assets/img/atormiccss.a98ca515.png"},188:function(t,s){t.exports="data:image/png;base64,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"},196:function(t,s,a){"use strict";a.r(s);var e=[function(){var t=this.$createElement,s=this._self._c||t;return s("h1",{attrs:{id:"致敬"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#致敬","aria-hidden":"true"}},[this._v("#")]),this._v(" 致敬")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"oo-css"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#oo-css","aria-hidden":"true"}},[this._v("#")]),this._v(" OO-CSS")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"oocss"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#oocss","aria-hidden":"true"}},[this._v("#")]),this._v(" OOCSS")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"css“对象”"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#css“对象”","aria-hidden":"true"}},[this._v("#")]),this._v(" CSS“对象”")])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("HTML,可以是DOM的一个或多个节点;")]),this._v(" "),s("li",[this._v("CSS声明,关于这些DOM节点样式的CSS声明,所有这些节点都以包装节点的类名开头;")]),this._v(" "),s("li",[this._v("组件,如背景图片,sprites等用于展示资源的;")]),this._v(" "),s("li",[this._v("与对象关联的javascript行为、侦听器或方法。")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("mod"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("inner"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("hd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("Block Head"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("bd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("Block Body"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("ft"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("Block Foot"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-css extra-class"},[a("pre",{pre:!0,attrs:{class:"language-css"}},[a("code",[a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".mod .inner")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".mod .inner .hd")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n... \n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"两大原则"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#两大原则","aria-hidden":"true"}},[this._v("#")]),this._v(" 两大原则")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h5",{attrs:{id:"分离结构和皮肤"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#分离结构和皮肤","aria-hidden":"true"}},[this._v("#")]),this._v(" 分离结构和皮肤")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("分离结构和皮肤意味着要"),s("strong",[this._v("将重复的样式特征(如背景和边框等样式)定义为单独的“皮肤”")]),this._v(",通过和其他各种CSS“对象”的混合及匹配,使得在没有太多代码的情况下实现大量的视觉变化。")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("content"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("吴彦祖"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-CSS extra-class"},[a("pre",{pre:!0,attrs:{class:"language-css"}},[a("code",[a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".content")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("margin")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 20px auto"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 150px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 150px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" red"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("background")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" blue"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("border")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 1px solid yellow"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("content skin-blue"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("吴彦祖"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-CSS extra-class"},[a("pre",{pre:!0,attrs:{class:"language-css"}},[a("code",[a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".content")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("margin")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 20px auto"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 150px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 150px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".skin-blue")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" red"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("background")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" blue"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("border")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 1px solid yellow"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v('并且,分离结构和外观还意味着使用类来命名对象及其组件,而不仅仅依赖于HTML的语义。例如,媒体对象以class="media"命名,其图片组件以class="img"来命名,其文本以class="bd"来命名。\n通过在样式表中引用这些类(比如不是直接为'),s("code",[this._v("")]),this._v("元素设置样式),这样你的HTML可以很灵活。")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h5",{attrs:{id:"区分容器和内容"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#区分容器和内容","aria-hidden":"true"}},[this._v("#")]),this._v(" 区分容器和内容")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("p",[t._v("区分容器和内容意味着将"),a("strong",[t._v("很少使用位置相关的样式,一个CSS“对象”应该不管放到哪里看起来都一样")]),t._v("。所以不要用"),a("code",[t._v(".myObject h2{ ... }")]),t._v("来设置特定的"),a("code",[t._v("

")]),t._v("样式,而是应该创建并应用一个描述与"),a("code",[t._v("

")]),t._v("相关的class,如"),a("code",[t._v('

')]),t._v("。")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[t._v("(1)所有没有加class的"),a("code",[t._v("

")]),t._v("看起来都一样;")]),t._v(" "),a("li",[t._v('(2)具有"category"class(称为mixin)的所有元素看起来都一样;')]),t._v(" "),a("li",[t._v("(3)当你想让"),a("code",[t._v(".myObject h2")]),t._v("看起来跟"),a("code",[t._v("

")]),t._v("一样,你不需要通过覆盖样式来实现。")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("content"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("ul")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("li")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("吴彦祖"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("li")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("张学友"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-css extra-class"},[a("pre",{pre:!0,attrs:{class:"language-css"}},[a("code",[a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".content ul")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" red"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("background")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" blue"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("border")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 1px solid yellow"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("content"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("ul")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("starList"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("li")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("吴彦祖"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("li")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("张学友"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-CSS extra-class"},[a("pre",{pre:!0,attrs:{class:"language-css"}},[a("code",[a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".content")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".starList")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" red"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("background")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" blue"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("border")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 1px solid yellow"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"优缺点"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#优缺点","aria-hidden":"true"}},[this._v("#")]),this._v(" 优缺点")])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("重用性强。可重用的代码必定伴随着减少代码量的特点以及加快开发速度的优势,因此也能提升页面的性能。")]),this._v(" "),s("li",[this._v("可维护性强。修改部分样式只需修改局部样式,全局样式的调整只需要修改一次公共“对象/组件”即可。")]),this._v(" "),s("li",[this._v("可拓展性强。如相同布局下的模块,添加样式只需要在原有的基础上增加新的皮肤即可。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("(最大问题)容易增加CSS体积导致浪费;")]),this._v(" "),s("li",[this._v("适合中大型项目,小型项目可能适得其反;")]),this._v(" "),s("li",[this._v("CSS对象/组件的整理和归档需要一定时间成本;")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"bem"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#bem","aria-hidden":"true"}},[this._v("#")]),this._v(" BEM")])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[this._v("block-name__elem-name_mod-name_mod-val\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"block"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#block","aria-hidden":"true"}},[this._v("#")]),this._v(" Block")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("img",{attrs:{src:a(180),alt:"BEM-B"}})])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("块名描述了它的用途(“它是什么?”-menu或button),而不是它的状态(“它是什么样子?”-red或big)。")]),this._v(" "),s("li",[this._v("块不应影响其环境,这意味着您不应设置块的外部几何模型(边距)或位置。")]),this._v(" "),s("li",[this._v("一个块必须有一个唯一的名字(类),这样才能保证块的独立性。")]),this._v(" "),s("li",[this._v("在使用BEM时,也不应该使用CSS标签标记或id选择器。")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("\x3c!-- `header` block --\x3e")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("header")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("header"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("\x3c!-- Nested `logo` block --\x3e")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("logo"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("\x3c!-- Nested `search-form` block --\x3e")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("form")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("search-form"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"element"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#element","aria-hidden":"true"}},[this._v("#")]),this._v(" Element")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("元素是块的一部分,没有独立的含义,并且在语义上与其块相关联。如果没有父实体(块),代码段就不能单独使用,那么这部分可以命名为元素。例外情况是,为了简化开发,必须将元素分为较小的部分(子元素)。在BEM方法中,不能创建元素的元素。在这种情况下,您需要创建一个服务块,而不是创建一个元素。\n"),s("img",{attrs:{src:a(181),alt:"BEM-E"}})])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[t._v("元素名称描述了其用途(“这是什么?”-item、text等),而不是其状态(“什么类型,或它看起来是什么?”-red、big等)。")]),t._v(" "),a("li",[t._v("元素全名的结构是"),a("code",[t._v("block-name__element-name")]),t._v(",元素名与块名之间用双下划线分隔"),a("code",[t._v("__")]),t._v("。")]),t._v(" "),a("li",[t._v("元素始终是块的一部分,而不是另一个元素。这意味着元素名不能定义诸如"),a("code",[t._v("block__elem1__elem2")]),t._v("这样的层次结构。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"modifier"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#modifier","aria-hidden":"true"}},[this._v("#")]),this._v(" Modifier")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("修饰符是块或元素上的标志。用它们来改变外观或行为。\n"),s("img",{attrs:{src:a(182),alt:"BEM-M"}})])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("修饰符名称描述了它的外观(“多大尺寸?”或者“哪个主题?”等等——size_s或theme_islands),它的状态(“它与其他有什么不同?”-disabled、focused等)及其行为(“行为如何?”或者“它如何响应用户?”-如left-top)。")]),this._v(" "),s("li",[this._v("修饰符名称与块或元素名称之间用一个下划线分隔("),s("code",[this._v("_")]),this._v(")。")]),this._v(" "),s("li",[this._v("从BEM的角度来看,修饰符不能与修改后的块或元素隔离使用。修饰符应该更改实体的外观、行为或状态,而不是替换它。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"优缺点-2"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#优缺点-2","aria-hidden":"true"}},[this._v("#")]),this._v(" 优缺点")])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("包含OOCSS的各项优势;")]),this._v(" "),s("li",[this._v("更清晰的样式分离以及命名规范;")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("命名容易冗长;")]),this._v(" "),s("li",[this._v("只适合较大的样式模块或组件;")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"m-css"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#m-css","aria-hidden":"true"}},[this._v("#")]),this._v(" M-CSS")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("Module"),s("strong",[this._v("模块")]),this._v("是一个功能相对独立且完整的结构体,这也是"),s("strong",[this._v("组件")]),this._v("的概念。这里只从CSS的范围内来探讨模块化,那么CSS模块的定义就可以缩窄到:"),s("strong",[this._v("一个(组)样式相对独立且完整的样式类")]),this._v("。")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"smacss"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#smacss","aria-hidden":"true"}},[this._v("#")]),this._v(" SMACSS")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[a("strong",[t._v("Base")]),t._v(":基本规则(Base rules),网址的主要元素设置样式, 如body, input, button, ul, ol等。在这一步中, 我们主要使用HTML标签和属性选择器,在特殊情况下,才使用CSS类;")]),t._v(" "),a("li",[a("strong",[t._v("Layout")]),t._v(":布局规则(Layout rules),主要是些全局元素、顶部、页脚、边栏等模块的大小。SMACSS建议使用ID选择器,因为这些模块不太可能在同一个页面上出现多次。")]),t._v(" "),a("li",[a("strong",[t._v("Modules")]),t._v(":模块规则(Modules rules),模块(类似于卡片布局)可以在一个页面中使用多次。对于模块CSS类,不建议使用ID和tag选择器(这是为了方便重用以及上下文独立)。")]),t._v(" "),a("li",[a("strong",[t._v("State")]),t._v(':状态规则(State rules),在这一步中,规定了模块的各种状态以及网站的基础部分。这是唯一允许使用"!important"的地方.')]),t._v(" "),a("li",[a("strong",[t._v("Theme")]),t._v(":主题规则(Theme rules),设计您可能需要更换的样式.")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("img",{attrs:{src:a(183),alt:"sma-CSS"}})])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"mcss"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#mcss","aria-hidden":"true"}},[this._v("#")]),this._v(" MCSS")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[t._v("第0层或基础("),a("strong",[t._v("Zero layer or foundation")]),t._v("):该层负责重置浏览器样式的代码(如: reset.css或者normalize.css);")]),t._v(" "),a("li",[t._v("基层("),a("strong",[t._v("Base layer")]),t._v("):该层包括可重用元素的样式: buttons, input等等;")]),t._v(" "),a("li",[t._v("项目层("),a("strong",[t._v("Project layer")]),t._v('):该层包括单独的模块和"上下文" - 根据用户端浏览器或用于浏览的设备,用户权限等对元素的样式进行调整;')]),t._v(" "),a("li",[t._v("装饰层("),a("strong",[t._v("Cosmetic layer")]),t._v("):该层使用OOCSS风格来书写样式, 对元素外观做微小的调整。MCSS建议仅留下影响外观的风格,而不能破坏网站的布局(例如颜色和非关键缩进等)。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("在基层(Base layer)中定义中性的样式, 并且不影响其它层.")]),this._v(" "),s("li",[this._v("基层(Base layer)中的元素只能影响基层的CSS类.")]),this._v(" "),s("li",[this._v("项目层(Project layer)中的元素可以影响基层和项目层.")]),this._v(" "),s("li",[this._v('装饰层(Cosmetic layer)是以描述性OOCSS类("atomic"类)的形式进行设计, 不会影响其他CSS代码, 而是在标记中有选择的使用。')])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("img",{attrs:{src:a(184),alt:"MCSS"}})])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"itcss"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#itcss","aria-hidden":"true"}},[this._v("#")]),this._v(" ITCSS")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[t._v("设置层("),a("strong",[t._v("Settings")]),t._v("):该层包含了项目中的所有全局设置(如基本字体大小、颜色调色板、配置等)。")]),t._v(" "),a("li",[t._v("工具层("),a("strong",[t._v("Tools")]),t._v("):该层包含了全局可用的工具–即混入和函数。全局工具的例子有梯度混入、字体大小混入等。")]),t._v(" "),a("li",[t._v("通用层("),a("strong",[t._v("Generic")]),t._v("):该层是第一个实际产生CSS的层。它很少改动,并且通常在不同项目中保持不变。它包括像Normalize. css、全局盒子大小规则、CSS重置等。")]),t._v(" "),a("li",[t._v("元素层("),a("strong",[t._v("Elements")]),t._v("):该层只包含没有样式的html元素选择器。")]),t._v(" "),a("li",[t._v("对象层("),a("strong",[t._v("Objects")]),t._v("):该层是第一个包含了基于类的选择器的层。")]),t._v(" "),a("li",[t._v("组件层("),a("strong",[t._v("Components")]),t._v("):该层开始设计有可识别性的DOM元素。")]),t._v(" "),a("li",[t._v("核心层("),a("strong",[t._v("Trumps")]),t._v("):该层是具有最高特异性的层,可以覆盖之前的样式。该层大部分声明都带有"),a("code",[t._v("!important")]),t._v("。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("img",{attrs:{src:a(185),alt:"MCSS"}})])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"atomic-design-atomic-css-acss"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#atomic-design-atomic-css-acss","aria-hidden":"true"}},[this._v("#")]),this._v(" Atomic Design (Atomic CSS, ACSS)")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[t._v("原子("),a("strong",[t._v("Atom")]),t._v("):每一个HTML元素就是一个原子,比如一个input。")]),t._v(" "),a("li",[t._v("分子("),a("strong",[t._v("Molecules")]),t._v("):原子组成分子,分子是一堆原子组件得到的东西,比如说一个输入框,它由label、input、还有个提交button。")]),t._v(" "),a("li",[t._v("生物体("),a("strong",[t._v("Organisms")]),t._v("):分子组成生物体,生物体是一堆分子组合而成的,比如网站的一个header里面包含了搜索框、导航栏、中户中心等等。")]),t._v(" "),a("li",[t._v("模版("),a("strong",[t._v("Templates")]),t._v("):模版也就是把各种东西组合起来之后的布局等,基本上整个站点的结构都已经成型了。")]),t._v(" "),a("li",[t._v("页面("),a("strong",[t._v("Pages")]),t._v("):就是加上图片等等其他的乱七八糟的东西,得到了最终的页面。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("其组成结构如下:\n"),s("img",{attrs:{src:a(186),alt:"AtomicCSS structure"}})])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"类似inline-style的写法"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#类似inline-style的写法","aria-hidden":"true"}},[this._v("#")]),this._v(" 类似inline style的写法")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("Bgc(#0280ae) C(#fff) P(20px)"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n 刘德华\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),a("span",{pre:!0,attrs:{class:"token style-attr language-css"}},[a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("style")])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('="')]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token property"}},[t._v("background-color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" #0280ae"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" #fff"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("padding")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 20px")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n 刘德华\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("img",{attrs:{src:a(187),alt:"AtomicCSS"}})])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"css-modules"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#css-modules","aria-hidden":"true"}},[this._v("#")]),this._v(" CSS modules")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("img",{attrs:{src:a(188),alt:"css modules"}})])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" styles "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"./styles.css"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\nelement"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("innerHTML "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" \n"),a("span",{pre:!0,attrs:{class:"token template-string"}},[a("span",{pre:!0,attrs:{class:"token string"}},[t._v('`

\n An css modules example\n

`')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("\x3c!-- className变成了hash值 --\x3e")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("h1")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("2n0Msd2op5"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("An css modules example"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"优缺点-3"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#优缺点-3","aria-hidden":"true"}},[this._v("#")]),this._v(" 优缺点")])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("生成了唯一className,解决了全局命名冲突以及样式全局污染的问题;")]),this._v(" "),s("li",[this._v("实现样式模块化、组件化;")]),this._v(" "),s("li",[this._v("解决嵌套层次过深的问题,只使用一个className就能把所有样式定义好;")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("同Less、Sass类似,一些非css的语法有一定上手成本")]),this._v(" "),s("li",[this._v("与组件库难以配合,导致最后出现大量的"),s("code",[this._v(":global")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"css-in-js"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#css-in-js","aria-hidden":"true"}},[this._v("#")]),this._v(" CSS in JS")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-jsx extra-class"},[a("pre",{pre:!0,attrs:{class:"language-jsx"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" FooterStyle "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" styled"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("footer"),a("span",{pre:!0,attrs:{class:"token template-string"}},[a("span",{pre:!0,attrs:{class:"token string"}},[t._v("`\n padding: 40px;\n\tcolor: #4e6e8e;\n`")])]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" Footer "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("FooterStyle")])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n CSS in JS\n")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("\x3c!-- className变成了hash值 --\x3e")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("footer")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("hPxfNo"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("An CSS in JS example"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"优缺点-4"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#优缺点-4","aria-hidden":"true"}},[this._v("#")]),this._v(" 优缺点")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[t._v("比起Less/Sass等预处理工具,CSS in JS使用js语法,不用从头学习一套专用的API;")]),t._v(" "),a("li",[t._v("适用于react-native等没有css运行环境的开发;")]),t._v(" "),a("li",[t._v("跟css modules一样,因为生成了唯一className,解决了全局命名冲突以及样式全局污染的问题;")]),t._v(" "),a("li",[t._v("js和CSS之间可以变量共享,比如一些基础的颜色和尺寸,方便样式的管理操作;")]),t._v(" "),a("li",[t._v("样式按需加载,只生成页面需要用到的代码,提升了性能;")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("样式缺乏拓展性;")]),this._v(" "),s("li",[this._v("编辑器不够友好(高亮及提示);")]),this._v(" "),s("li",[this._v('完全违背了"关注点分离"的原则,增加了复杂度,且部分开发人员会对此不习惯;')]),this._v(" "),s("li",[this._v("对前端框架确实有依赖性,更适合于组件化的框架,如React;")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"相关链接"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#相关链接","aria-hidden":"true"}},[this._v("#")]),this._v(" 相关链接")])}],n=a(0),r=Object(n.a)({},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"content"},[t._m(0),t._v(" "),t._m(1),t._v(" "),a("p",[t._v("作为前辈中的前辈,OO-CSS的概念提出已久(2009),官网地址:"),a("a",{attrs:{href:"http://oocss.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://oocss.org/"),a("OutboundLink")],1)]),t._v(" "),a("p",[t._v("(本人倾向于将下面的OOCSS、BEM归类为OO-CSS。)")]),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),a("p",[t._v("OOP编程,模块以对象为单位。在OOCSS的概念里,CSS“对象”是一个可重复的视图。")]),t._v(" "),a("p",[t._v("CSS“对象”由以下四部分组成:")]),t._v(" "),t._m(4),t._v(" "),a("p",[t._v("如:")]),t._v(" "),t._m(5),t._m(6),a("p",[t._v("在这里,mod是一个CSS“对象”,它包含四个属性节点(不能独立于模块生存,包括两个必需的区域:内部和主体,以及两个可选的区域:头部和脚)。")]),t._v(" "),t._m(7),t._v(" "),t._m(8),t._v(" "),t._m(9),t._v(" "),a("p",[t._v("比如说一个渐变按钮,那么 .btn 的 class 是不会包含渐变相关的属性的,而是需要单独抽取出一个渐变的 class,然后让 .btn 去扩展从而得到一个渐变的按钮。")]),t._v(" "),a("p",[t._v("可以看下面这个例子:")]),t._v(" "),t._m(10),t._m(11),a("p",[t._v("没有分离结构与皮肤,OOCSS并不推荐这样做。可改为:")]),t._v(" "),t._m(12),t._m(13),t._m(14),t._v(" "),t._m(15),t._v(" "),t._m(16),t._v(" "),a("p",[t._v("这样能够使您保证:")]),t._v(" "),t._m(17),t._v(" "),a("p",[t._v("如:")]),t._v(" "),t._m(18),t._m(19),a("p",[t._v("没有分离容器和内容,OOCSS并不推荐这样。可改为:")]),t._v(" "),t._m(20),t._m(21),a("p",[t._v("区分容器和内容也意味着我们可以抽象出可重用的样式,组建组件库。这样可以在组件库中寻找可复用的元素组装页面。")]),t._v(" "),t._m(22),t._v(" "),a("p",[t._v("优点:")]),t._v(" "),t._m(23),t._v(" "),a("p",[t._v("缺点:")]),t._v(" "),t._m(24),t._v(" "),t._m(25),t._v(" "),a("p",[t._v("BEM也有着OO的思想,在国内深得人心。其背后的想法是将用户界面划分为独立的块,这使得界面开发变得简单和快速。即使是在复杂的用户界面中,它也允许在不复制和粘贴的情况下重用现有代码。官网地址:"),a("a",{attrs:{href:"https://en.bem.info/methodology/quick-start/",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://en.bem.info/methodology/quick-start/"),a("OutboundLink")],1)]),t._v(" "),a("p",[t._v("BEM代表块(Block),元素(Element),修饰符(Modifier)。")]),t._v(" "),a("p",[t._v("命名规则:")]),t._v(" "),t._m(26),t._m(27),t._v(" "),a("p",[t._v("可重用的功能独立的页面组件。在HTML中,块由className表示。如果代码的一部分可以重用,并且不依赖于正在实现的其他页面组件的话,那么这部分可以命名为块。")]),t._v(" "),t._m(28),t._v(" "),a("p",[t._v("特征:")]),t._v(" "),t._m(29),t._v(" "),a("p",[t._v("块可以任意数量嵌套。\n如")]),t._v(" "),t._m(30),t._m(31),t._v(" "),t._m(32),t._v(" "),a("p",[t._v("特征:")]),t._v(" "),t._m(33),t._v(" "),t._m(34),t._v(" "),t._m(35),t._v(" "),a("p",[t._v("特征:")]),t._v(" "),t._m(36),t._v(" "),t._m(37),t._v(" "),a("p",[t._v("优点:")]),t._v(" "),t._m(38),t._v(" "),a("p",[t._v("缺点:")]),t._v(" "),t._m(39),t._v(" "),a("blockquote",[a("p",[t._v("同样的另一套写法策略"),a("strong",[t._v("SUIT")]),t._v(",它在BEM的基础上进行了改进,增强了块及元素的可读性。因为总体思路类似,在此便不单独介绍,有兴趣可访问官网:"),a("a",{attrs:{href:"https://suitcss.github.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://suitcss.github.io/"),a("OutboundLink")],1)])]),t._v(" "),a("hr"),t._v(" "),t._m(40),t._v(" "),t._m(41),t._v(" "),a("p",[t._v("(本人倾向于将下面的MCSS、SMACSS、ITCSS、Atomic Design(Atomic CSS)、FUN归为M-CSS。)")]),t._v(" "),t._m(42),t._v(" "),a("p",[t._v("官网地址:"),a("a",{attrs:{href:"http://smacss.com/",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://smacss.com/"),a("OutboundLink")],1)]),t._v(" "),a("p",[t._v("SMACSS有着明确的模块划分,它把项目样式拆成如下5个部分:")]),t._v(" "),t._m(43),t._v(" "),t._m(44),t._v(" "),a("blockquote",[a("p",[t._v("同样的另一套写法策略"),a("strong",[t._v("CCSS")]),t._v(",它结合了BEM以及SMACSS,在此不单独介绍,有兴趣可访问官网:"),a("a",{attrs:{href:"http://sathify.github.io/CCSS/",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://sathify.github.io/CCSS/"),a("OutboundLink")],1)])]),t._v(" "),t._m(45),t._v(" "),a("p",[t._v("官网地址:"),a("a",{attrs:{href:"http://operatino.github.io/MCSS/",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://operatino.github.io/MCSS/"),a("OutboundLink")],1)]),t._v(" "),a("p",[t._v("MCSS指的是多层CSS(Multilayer CSS)。这种样式写法建议将样式分成多个部分,每个部分称为层(layers)。")]),t._v(" "),t._m(46),t._v(" "),a("p",[t._v("层与层之间的交互层次是非常重要的:")]),t._v(" "),t._m(47),t._v(" "),t._m(48),t._v(" "),t._m(49),t._v(" "),a("p",[t._v("官网地址:"),a("a",{attrs:{href:"https://itcss.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://itcss.io/"),a("OutboundLink")],1)]),t._v(" "),a("p",[t._v("ITCSS将整个CSS项目想象成一个分层的、倒置的三角形。这个分层图形表示了一个能帮你以有效和节约的方式组织CSS的模型。\n在ITCSS中,每一层都是上一层的逻辑递进。它使样式开发变得更加明确、有目的性,并缩小了选择器的使用范围。")]),t._v(" "),a("p",[t._v("下面是ITCSS的层级:")]),t._v(" "),t._m(50),t._v(" "),t._m(51),t._v(" "),t._m(52),t._v(" "),a("p",[t._v("官网地址:"),a("a",{attrs:{href:"https://aCSS.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://aCSS.io/"),a("OutboundLink")],1)]),t._v(" "),a("p",[t._v("主张一切都是原子组件构造而成,它将样式分为以下几个部分:")]),t._v(" "),t._m(53),t._v(" "),t._m(54),t._v(" "),t._m(55),t._v(" "),a("p",[t._v("用Atomic CSS写出来的html就像这样:")]),t._v(" "),t._m(56),a("p",[t._v("眼熟不,这也是它的一大优势,让你用起来非常顺手,就像写inline的style一样,对于写出基于视觉功能的小的, 单用途CSS类无疑是最易懂和最方便的。")]),t._v(" "),t._m(57),t._m(58),t._v(" "),a("hr"),t._v(" "),t._m(59),t._v(" "),t._m(60),t._v(" "),a("p",[t._v("官网地址:"),a("a",{attrs:{href:"https://github.com/css-modules/css-modules",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/css-modules/css-modules"),a("OutboundLink")],1)]),t._v(" "),a("p",[t._v("与上述介绍的各种CSS写法不同,CSS Modules既不是一个CSS官方的规范,也不是浏览器的一种机制,它是一种构建步骤中的一个进程。(构建通常需要webpack或者browserify的帮助)。通过构建工具的帮助,可以将className或者其他选择器的名字作用域化。(类似命名空间化。)")]),t._v(" "),a("p",[t._v("它的使用如下例:")]),t._v(" "),t._m(61),a("p",[t._v("它生成的节点:")]),t._v(" "),t._m(62),a("p",[t._v("可以看出,css modules既解决了className命名冲突的问题,也解决了样式全局作用污染的问题。")]),t._v(" "),t._m(63),t._v(" "),a("p",[t._v("优点:")]),t._v(" "),t._m(64),t._v(" "),a("p",[t._v("缺点:")]),t._v(" "),t._m(65),t._v(" "),t._m(66),t._v(" "),a("p",[t._v("官网地址:"),a("a",{attrs:{href:"https://speakerdeck.com/vjeux/react-css-in-js",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://speakerdeck.com/vjeux/react-css-in-js"),a("OutboundLink")],1)]),t._v(" "),a("p",[t._v('CSS in JS也不是一个官方的规范或浏览器的一种机制,它是一种构建步骤中的一个进程。顾名思义,在js中写css,这也是React所推荐的all in js思想。随着React的日益壮大以及组件化思想的深入人心,这种"关注点混合"的新写法逐渐成为主流。')]),t._v(" "),a("p",[t._v("用来加强JS对CSS操作的工具统称为"),a("a",{attrs:{href:"https://github.com/MicheleBertoli/css-in-js",target:"_blank",rel:"noopener noreferrer"}},[t._v("CSS in JS"),a("OutboundLink")],1),t._v("。以下是几个主流的CSS in JS工具:"),a("a",{attrs:{href:"https://github.com/styled-components/styled-components",target:"_blank",rel:"noopener noreferrer"}},[t._v("styled-components"),a("OutboundLink")],1),t._v("、"),a("a",{attrs:{href:"https://github.com/emotion-js/emotion",target:"_blank",rel:"noopener noreferrer"}},[t._v("emotion"),a("OutboundLink")],1),t._v("、"),a("a",{attrs:{href:"https://github.com/cssinjs/jss",target:"_blank",rel:"noopener noreferrer"}},[t._v("jss"),a("OutboundLink")],1),t._v("、"),a("a",{attrs:{href:"https://formidable.com/open-source/radium/",target:"_blank",rel:"noopener noreferrer"}},[t._v("radium"),a("OutboundLink")],1),t._v("、"),a("a",{attrs:{href:"https://glamorous.rocks/",target:"_blank",rel:"noopener noreferrer"}},[t._v("glamorous"),a("OutboundLink")],1),t._v("、"),a("a",{attrs:{href:"https://polished.js.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("polished"),a("OutboundLink")],1),t._v("。更多的工具可参考"),a("a",{attrs:{href:"https://github.com/MicheleBertoli/css-in-js",target:"_blank",rel:"noopener noreferrer"}},[t._v("MicheleBertoli/css-in-js"),a("OutboundLink")],1),t._v(",他们使用方法类似,其中styled-components可使用单元测试工具"),a("a",{attrs:{href:"https://github.com/styled-components/jest-styled-components",target:"_blank",rel:"noopener noreferrer"}},[t._v("jest-styled-components"),a("OutboundLink")],1),t._v("。")]),t._v(" "),a("p",[t._v("它的使用如下例(styled-components):")]),t._v(" "),t._m(67),a("p",[t._v("它生成的节点:")]),t._v(" "),t._m(68),a("p",[t._v("可以看出,CSS in JS既解决了className命名冲突的问题,也解决了样式全局作用污染的问题。并且CSS in JS写样式如同写JSON,适合那些没有css运行环境的平台,如"),a("a",{attrs:{href:"https://reactnative.cn/docs/style/",target:"_blank",rel:"noopener noreferrer"}},[t._v("react-native"),a("OutboundLink")],1),t._v("。")]),t._v(" "),t._m(69),t._v(" "),a("p",[t._v("优点:")]),t._v(" "),t._m(70),t._v(" "),a("p",[t._v("缺点:")]),t._v(" "),t._m(71),t._v(" "),a("hr"),t._v(" "),t._m(72),t._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"http://oocss.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("oocss"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"https://en.bem.info/methodology/quick-start/",target:"_blank",rel:"noopener noreferrer"}},[t._v("bem"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"https://suitcss.github.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("suitcss"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"http://operatino.github.io/MCSS/",target:"_blank",rel:"noopener noreferrer"}},[t._v("mcss"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"https://smaCSS.com/",target:"_blank",rel:"noopener noreferrer"}},[t._v("smacss"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"http://sathify.github.io/CCSS/",target:"_blank",rel:"noopener noreferrer"}},[t._v("CCSS"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"https://itcss.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("itcss"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"https://csswizardry.net/talks/2014/11/itcss-dafed.pdf",target:"_blank",rel:"noopener noreferrer"}},[t._v("itcss introduction"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"https://aCSS.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("atomic css"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"http://amcss.github.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("amcss"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"https://glenmaddern.com/articles/css-modules",target:"_blank",rel:"noopener noreferrer"}},[t._v("css modules"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"https://github.com/css-modules/postcss-modules",target:"_blank",rel:"noopener noreferrer"}},[t._v("postcss-modules"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"https://github.com/css-modules",target:"_blank",rel:"noopener noreferrer"}},[t._v("github css-modules"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"https://glenmaddern.com/articles/css-modules",target:"_blank",rel:"noopener noreferrer"}},[t._v("articles/css-modules"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"https://github.com/MicheleBertoli/css-in-js",target:"_blank",rel:"noopener noreferrer"}},[t._v("css in js"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"http://michelebertoli.github.io/css-in-js/",target:"_blank",rel:"noopener noreferrer"}},[t._v("css-in-js compare"),a("OutboundLink")],1)])])])},e,!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{182:function(t,s,a){t.exports=a.p+"assets/img/BEM-B.dd6b3586.png"},183:function(t,s,a){t.exports=a.p+"assets/img/BEM-E.8478c0c9.png"},184:function(t,s,a){t.exports=a.p+"assets/img/BEM-M.4ee575c9.png"},185:function(t,s,a){t.exports=a.p+"assets/img/smacss.cf956fc6.png"},186:function(t,s,a){t.exports=a.p+"assets/img/p-mcss.e9791cd4.jpg"},187:function(t,s,a){t.exports=a.p+"assets/img/p-itcss.89cf4c9e.jpg"},188:function(t,s,a){t.exports=a.p+"assets/img/p-atoms.1bac3d74.png"},189:function(t,s,a){t.exports=a.p+"assets/img/atormiccss.a98ca515.png"},190:function(t,s){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAAB+CAMAAAD81mh4AAAA5FBMVEX///8AAADExMSIiIg8PDy4uLiAgIBdXV3X19cFBQX5+fnMzMz9/f0fHx/z8/MdHR319fUODg5paWnh4eErKyvW1tadnZ00NDTk5OQKCgra2towMDAQEBC7u7tFRUXv7++9vb0VFRXq6uqurq5KSkonJye1tbUHBwf8/Pzf39/Ozs7Hx8egoKBPT0/7+/vs7OypqamampptbW0+Pj4ZGRnm5ubR0dGSkpKOjo4kJCRgYGBWVlZSUlJCQkLBwcF3d3dbW1ulpaV6enpxcXFkZGSFhYXc3NzDw8N+fn7JycmVlZWWlpaOS4TWAAAFtklEQVR42u3Y53abMBgGYF7baSMbsPGEQOIF3nvFOztN2/u/nwqQSOy21M059unQ+wPDhyKeKALkSCIiIiIif1Py0ROlfyCoe3aaZM8PBH2UTpOYAAmQAO1FgARIgARIgPYiQAIkQAIkQHsRIAESIAESoL0IkAAJkAAJ0F4ESID+AVB/vo6ZsXW0yAvql9U4tlkOGrygv9ixmJ2OnAZ0V4afck32Cq0FKyy23rE8JKyw0k8AigJ4bKm5GwJScgvndVjRcz2yApBwC0PAGWSaAxMwikcHXRKwH9FjMC7oZxqmPxBbA7Y7ZiY+qt5IXQPDY4PiWWRVVskZiNLLWrhjhSckU3SKEYuPyxjdY4OqwCAoLTGm1wfO2HERGsV+cll+5jCPDUoDelAqNqeS1KsjzQspV9IEqbLjnpo6NmiDsrx34ha4qubeXNkB0qVm4zTPoQLs/RO6BZq6XY2zQg1urHRbPgEoC/q5l8q8ADdajN1TswfFK0y6kaODTKx+dHKavy1YAB74oMyi3WwdQPXYoHHIfZMnIBdvjuU0oDWODLoFUYPSMEl1F+2gB32CkdT73K7wQofg7MigIXAZjEAMtkt8HbMrbKSihig/bhoYHhmUquOKVy7hPqNfgGBENriV5CRsPpMuDFSP/S6bA/f+9SoOJkU6fQnu+Uy23OsPoZWCFzHRjw1SN8Cm2jr/fG2h7E3hEbDcNit6a16HGfeeVYi29Eoz8gikT7AeugWLlfPft13wLCre0C3AcxU/Aah3uUwCxvh6yiu1VRlAeTVgN2CxszEAshht5VOtqXvq3qWKmeJOpVHR1f93kb8bARIgARIgAQrL6UHxTCajBjWVHrH3udy87MyHtVaKnepn/EyD930qk5H5fiUz9X5cZxXeNU2hRDe8abFdzd+VmiGgBICHoJYGkPOvtoYfrcZP8SyLfIGpqa9r3QKF5r0v3TwRgjfxmlYNvooJBRX46WKZg2YLoB5bdRWA3Kq7IJTn8vtAUaDcXa4V+tEOARFjGnRBfNCFBi1doTvypclGMA1H7/f7evuFWvMHgqqJRMKkGxr6O7QIRt7v3imjIP8c5OCGle4x9kFroMZngglsPVA2zipZ1CuHgS52JvUjJuxbXRX4/HPQDTS/m0YSHzxQBHiReGZ12DID+WkTjN4DsjEK+zoVgD5piLBZatQ8UBq0qyBdTFI7INmk++8AXSHGumhcnjV/Dko84gMb0vTWA8WwkF7TBnQGYslTyjtAI+ChF5wOAdWI4+1n688lD5T0xpZHrqO2C3oG9INA0U6n4zzRzZ0LaU4Aa/xQrfwKNNXQdtuTbNwHWbh+29JCZxcUB1q/d9tbXsvcWIMb86klh4GkNR6972dpiYPyb1saqDIQD5A7CJRUFKXubkxWl6sbnxkNBc3ci/UttBloghfpNX0gsQu6AOlL0vb35hCP2rpbE5BBGEhyyLNUojOJgUwUWCM+hXdBUe++m8EIQGPEer8CyfFgRrctjBthoCWW0ghPHLQC9Nc5rcCMcxCvxGh38Tet/P+QhINqcIJz93BSYaAa6tMyPnHQAG9m9SeCG4mDeGXufk7wxCq64bUJBz1DC6byNe0tDNSbYARN5aCGCavFFxYFJIs7oGcHC++6Ngyd9492GIgP432D3aZXiIX+yaQbAPcSA9EqgeHPuqLDXmscpF4b/J9uNaCQYh5bkg55MM79vRt3LxS0pQL9FSTXyoCy6XYLBFpH9kFEozEIUB74Qy/fANa4e+XQ0rkPAmGxVAryjliJdlu0AWf9uLSTwMf4T0AzRZm5A5FVbLdJRFH8t9h5tww3lp1g0zDpRXEKD1OJpfElS0BTXvkP34ESJKtKiYW3V5/Qjd9tKq3AjVH42nvHmjo3fPpKn6jhUc/yg5x8+Jp6ehe9LsX/pkX+9xGgPxa0jpwm5qGgLx9OlIokIiIiIvLX5htlR5XuSgDd2QAAAABJRU5ErkJggg=="},198:function(t,s,a){"use strict";a.r(s);var e=[function(){var t=this.$createElement,s=this._self._c||t;return s("h1",{attrs:{id:"致敬"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#致敬","aria-hidden":"true"}},[this._v("#")]),this._v(" 致敬")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"oo-css"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#oo-css","aria-hidden":"true"}},[this._v("#")]),this._v(" OO-CSS")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"oocss"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#oocss","aria-hidden":"true"}},[this._v("#")]),this._v(" OOCSS")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"css“对象”"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#css“对象”","aria-hidden":"true"}},[this._v("#")]),this._v(" CSS“对象”")])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("HTML,可以是DOM的一个或多个节点;")]),this._v(" "),s("li",[this._v("CSS声明,关于这些DOM节点样式的CSS声明,所有这些节点都以包装节点的类名开头;")]),this._v(" "),s("li",[this._v("组件,如背景图片,sprites等用于展示资源的;")]),this._v(" "),s("li",[this._v("与对象关联的javascript行为、侦听器或方法。")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("mod"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("inner"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("hd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("Block Head"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("bd"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("Block Body"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("ft"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("Block Foot"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-css extra-class"},[a("pre",{pre:!0,attrs:{class:"language-css"}},[a("code",[a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".mod .inner")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".mod .inner .hd")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n... \n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"两大原则"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#两大原则","aria-hidden":"true"}},[this._v("#")]),this._v(" 两大原则")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h5",{attrs:{id:"分离结构和皮肤"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#分离结构和皮肤","aria-hidden":"true"}},[this._v("#")]),this._v(" 分离结构和皮肤")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("分离结构和皮肤意味着要"),s("strong",[this._v("将重复的样式特征(如背景和边框等样式)定义为单独的“皮肤”")]),this._v(",通过和其他各种CSS“对象”的混合及匹配,使得在没有太多代码的情况下实现大量的视觉变化。")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("content"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("吴彦祖"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-CSS extra-class"},[a("pre",{pre:!0,attrs:{class:"language-css"}},[a("code",[a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".content")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("margin")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 20px auto"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 150px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 150px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" red"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("background")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" blue"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("border")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 1px solid yellow"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("content skin-blue"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("吴彦祖"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-CSS extra-class"},[a("pre",{pre:!0,attrs:{class:"language-css"}},[a("code",[a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".content")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("margin")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 20px auto"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 150px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 150px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".skin-blue")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" red"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("background")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" blue"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("border")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 1px solid yellow"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v('并且,分离结构和外观还意味着使用类来命名对象及其组件,而不仅仅依赖于HTML的语义。例如,媒体对象以class="media"命名,其图片组件以class="img"来命名,其文本以class="bd"来命名。\n通过在样式表中引用这些类(比如不是直接为'),s("code",[this._v("")]),this._v("元素设置样式),这样你的HTML可以很灵活。")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h5",{attrs:{id:"区分容器和内容"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#区分容器和内容","aria-hidden":"true"}},[this._v("#")]),this._v(" 区分容器和内容")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("p",[t._v("区分容器和内容意味着将"),a("strong",[t._v("很少使用位置相关的样式,一个CSS“对象”应该不管放到哪里看起来都一样")]),t._v("。所以不要用"),a("code",[t._v(".myObject h2{ ... }")]),t._v("来设置特定的"),a("code",[t._v("

")]),t._v("样式,而是应该创建并应用一个描述与"),a("code",[t._v("

")]),t._v("相关的class,如"),a("code",[t._v('

')]),t._v("。")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[t._v("(1)所有没有加class的"),a("code",[t._v("

")]),t._v("看起来都一样;")]),t._v(" "),a("li",[t._v('(2)具有"category"class(称为mixin)的所有元素看起来都一样;')]),t._v(" "),a("li",[t._v("(3)当你想让"),a("code",[t._v(".myObject h2")]),t._v("看起来跟"),a("code",[t._v("

")]),t._v("一样,你不需要通过覆盖样式来实现。")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("content"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("ul")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("li")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("吴彦祖"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("li")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("张学友"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-css extra-class"},[a("pre",{pre:!0,attrs:{class:"language-css"}},[a("code",[a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".content ul")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" red"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("background")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" blue"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("border")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 1px solid yellow"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("content"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("ul")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("starList"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("li")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("吴彦祖"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("li")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("张学友"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-CSS extra-class"},[a("pre",{pre:!0,attrs:{class:"language-css"}},[a("code",[a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".content")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".starList")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" red"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("background")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" blue"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("border")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 1px solid yellow"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"优缺点"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#优缺点","aria-hidden":"true"}},[this._v("#")]),this._v(" 优缺点")])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("重用性强。可重用的代码必定伴随着减少代码量的特点以及加快开发速度的优势,因此也能提升页面的性能。")]),this._v(" "),s("li",[this._v("可维护性强。修改部分样式只需修改局部样式,全局样式的调整只需要修改一次公共“对象/组件”即可。")]),this._v(" "),s("li",[this._v("可拓展性强。如相同布局下的模块,添加样式只需要在原有的基础上增加新的皮肤即可。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("(最大问题)容易增加CSS体积导致浪费;")]),this._v(" "),s("li",[this._v("适合中大型项目,小型项目可能适得其反;")]),this._v(" "),s("li",[this._v("CSS对象/组件的整理和归档需要一定时间成本;")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"bem"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#bem","aria-hidden":"true"}},[this._v("#")]),this._v(" BEM")])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[this._v("block-name__elem-name_mod-name_mod-val\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"block"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#block","aria-hidden":"true"}},[this._v("#")]),this._v(" Block")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("img",{attrs:{src:a(182),alt:"BEM-B"}})])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("块名描述了它的用途(“它是什么?”-menu或button),而不是它的状态(“它是什么样子?”-red或big)。")]),this._v(" "),s("li",[this._v("块不应影响其环境,这意味着您不应设置块的外部几何模型(边距)或位置。")]),this._v(" "),s("li",[this._v("一个块必须有一个唯一的名字(类),这样才能保证块的独立性。")]),this._v(" "),s("li",[this._v("在使用BEM时,也不应该使用CSS标签标记或id选择器。")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("\x3c!-- `header` block --\x3e")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("header")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("header"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("\x3c!-- Nested `logo` block --\x3e")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("logo"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("\x3c!-- Nested `search-form` block --\x3e")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("form")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("search-form"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"element"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#element","aria-hidden":"true"}},[this._v("#")]),this._v(" Element")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("元素是块的一部分,没有独立的含义,并且在语义上与其块相关联。如果没有父实体(块),代码段就不能单独使用,那么这部分可以命名为元素。例外情况是,为了简化开发,必须将元素分为较小的部分(子元素)。在BEM方法中,不能创建元素的元素。在这种情况下,您需要创建一个服务块,而不是创建一个元素。\n"),s("img",{attrs:{src:a(183),alt:"BEM-E"}})])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[t._v("元素名称描述了其用途(“这是什么?”-item、text等),而不是其状态(“什么类型,或它看起来是什么?”-red、big等)。")]),t._v(" "),a("li",[t._v("元素全名的结构是"),a("code",[t._v("block-name__element-name")]),t._v(",元素名与块名之间用双下划线分隔"),a("code",[t._v("__")]),t._v("。")]),t._v(" "),a("li",[t._v("元素始终是块的一部分,而不是另一个元素。这意味着元素名不能定义诸如"),a("code",[t._v("block__elem1__elem2")]),t._v("这样的层次结构。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"modifier"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#modifier","aria-hidden":"true"}},[this._v("#")]),this._v(" Modifier")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("修饰符是块或元素上的标志。用它们来改变外观或行为。\n"),s("img",{attrs:{src:a(184),alt:"BEM-M"}})])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("修饰符名称描述了它的外观(“多大尺寸?”或者“哪个主题?”等等——size_s或theme_islands),它的状态(“它与其他有什么不同?”-disabled、focused等)及其行为(“行为如何?”或者“它如何响应用户?”-如left-top)。")]),this._v(" "),s("li",[this._v("修饰符名称与块或元素名称之间用一个下划线分隔("),s("code",[this._v("_")]),this._v(")。")]),this._v(" "),s("li",[this._v("从BEM的角度来看,修饰符不能与修改后的块或元素隔离使用。修饰符应该更改实体的外观、行为或状态,而不是替换它。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"优缺点-2"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#优缺点-2","aria-hidden":"true"}},[this._v("#")]),this._v(" 优缺点")])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("包含OOCSS的各项优势;")]),this._v(" "),s("li",[this._v("更清晰的样式分离以及命名规范;")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("命名容易冗长;")]),this._v(" "),s("li",[this._v("只适合较大的样式模块或组件;")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"m-css"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#m-css","aria-hidden":"true"}},[this._v("#")]),this._v(" M-CSS")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("Module"),s("strong",[this._v("模块")]),this._v("是一个功能相对独立且完整的结构体,这也是"),s("strong",[this._v("组件")]),this._v("的概念。这里只从CSS的范围内来探讨模块化,那么CSS模块的定义就可以缩窄到:"),s("strong",[this._v("一个(组)样式相对独立且完整的样式类")]),this._v("。")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"smacss"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#smacss","aria-hidden":"true"}},[this._v("#")]),this._v(" SMACSS")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[a("strong",[t._v("Base")]),t._v(":基本规则(Base rules),网址的主要元素设置样式, 如body, input, button, ul, ol等。在这一步中, 我们主要使用HTML标签和属性选择器,在特殊情况下,才使用CSS类;")]),t._v(" "),a("li",[a("strong",[t._v("Layout")]),t._v(":布局规则(Layout rules),主要是些全局元素、顶部、页脚、边栏等模块的大小。SMACSS建议使用ID选择器,因为这些模块不太可能在同一个页面上出现多次。")]),t._v(" "),a("li",[a("strong",[t._v("Modules")]),t._v(":模块规则(Modules rules),模块(类似于卡片布局)可以在一个页面中使用多次。对于模块CSS类,不建议使用ID和tag选择器(这是为了方便重用以及上下文独立)。")]),t._v(" "),a("li",[a("strong",[t._v("State")]),t._v(':状态规则(State rules),在这一步中,规定了模块的各种状态以及网站的基础部分。这是唯一允许使用"!important"的地方.')]),t._v(" "),a("li",[a("strong",[t._v("Theme")]),t._v(":主题规则(Theme rules),设计您可能需要更换的样式.")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("img",{attrs:{src:a(185),alt:"sma-CSS"}})])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"mcss"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#mcss","aria-hidden":"true"}},[this._v("#")]),this._v(" MCSS")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[t._v("第0层或基础("),a("strong",[t._v("Zero layer or foundation")]),t._v("):该层负责重置浏览器样式的代码(如: reset.css或者normalize.css);")]),t._v(" "),a("li",[t._v("基层("),a("strong",[t._v("Base layer")]),t._v("):该层包括可重用元素的样式: buttons, input等等;")]),t._v(" "),a("li",[t._v("项目层("),a("strong",[t._v("Project layer")]),t._v('):该层包括单独的模块和"上下文" - 根据用户端浏览器或用于浏览的设备,用户权限等对元素的样式进行调整;')]),t._v(" "),a("li",[t._v("装饰层("),a("strong",[t._v("Cosmetic layer")]),t._v("):该层使用OOCSS风格来书写样式, 对元素外观做微小的调整。MCSS建议仅留下影响外观的风格,而不能破坏网站的布局(例如颜色和非关键缩进等)。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("在基层(Base layer)中定义中性的样式, 并且不影响其它层.")]),this._v(" "),s("li",[this._v("基层(Base layer)中的元素只能影响基层的CSS类.")]),this._v(" "),s("li",[this._v("项目层(Project layer)中的元素可以影响基层和项目层.")]),this._v(" "),s("li",[this._v('装饰层(Cosmetic layer)是以描述性OOCSS类("atomic"类)的形式进行设计, 不会影响其他CSS代码, 而是在标记中有选择的使用。')])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("img",{attrs:{src:a(186),alt:"MCSS"}})])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"itcss"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#itcss","aria-hidden":"true"}},[this._v("#")]),this._v(" ITCSS")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[t._v("设置层("),a("strong",[t._v("Settings")]),t._v("):该层包含了项目中的所有全局设置(如基本字体大小、颜色调色板、配置等)。")]),t._v(" "),a("li",[t._v("工具层("),a("strong",[t._v("Tools")]),t._v("):该层包含了全局可用的工具–即混入和函数。全局工具的例子有梯度混入、字体大小混入等。")]),t._v(" "),a("li",[t._v("通用层("),a("strong",[t._v("Generic")]),t._v("):该层是第一个实际产生CSS的层。它很少改动,并且通常在不同项目中保持不变。它包括像Normalize. css、全局盒子大小规则、CSS重置等。")]),t._v(" "),a("li",[t._v("元素层("),a("strong",[t._v("Elements")]),t._v("):该层只包含没有样式的html元素选择器。")]),t._v(" "),a("li",[t._v("对象层("),a("strong",[t._v("Objects")]),t._v("):该层是第一个包含了基于类的选择器的层。")]),t._v(" "),a("li",[t._v("组件层("),a("strong",[t._v("Components")]),t._v("):该层开始设计有可识别性的DOM元素。")]),t._v(" "),a("li",[t._v("核心层("),a("strong",[t._v("Trumps")]),t._v("):该层是具有最高特异性的层,可以覆盖之前的样式。该层大部分声明都带有"),a("code",[t._v("!important")]),t._v("。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("img",{attrs:{src:a(187),alt:"MCSS"}})])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"atomic-design-atomic-css-acss"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#atomic-design-atomic-css-acss","aria-hidden":"true"}},[this._v("#")]),this._v(" Atomic Design (Atomic CSS, ACSS)")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[t._v("原子("),a("strong",[t._v("Atom")]),t._v("):每一个HTML元素就是一个原子,比如一个input。")]),t._v(" "),a("li",[t._v("分子("),a("strong",[t._v("Molecules")]),t._v("):原子组成分子,分子是一堆原子组件得到的东西,比如说一个输入框,它由label、input、还有个提交button。")]),t._v(" "),a("li",[t._v("生物体("),a("strong",[t._v("Organisms")]),t._v("):分子组成生物体,生物体是一堆分子组合而成的,比如网站的一个header里面包含了搜索框、导航栏、中户中心等等。")]),t._v(" "),a("li",[t._v("模版("),a("strong",[t._v("Templates")]),t._v("):模版也就是把各种东西组合起来之后的布局等,基本上整个站点的结构都已经成型了。")]),t._v(" "),a("li",[t._v("页面("),a("strong",[t._v("Pages")]),t._v("):就是加上图片等等其他的乱七八糟的东西,得到了最终的页面。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("其组成结构如下:\n"),s("img",{attrs:{src:a(188),alt:"AtomicCSS structure"}})])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"类似inline-style的写法"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#类似inline-style的写法","aria-hidden":"true"}},[this._v("#")]),this._v(" 类似inline style的写法")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("Bgc(#0280ae) C(#fff) P(20px)"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n 刘德华\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),a("span",{pre:!0,attrs:{class:"token style-attr language-css"}},[a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("style")])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('="')]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token property"}},[t._v("background-color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" #0280ae"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" #fff"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("padding")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 20px")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n 刘德华\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("img",{attrs:{src:a(189),alt:"AtomicCSS"}})])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"css-modules"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#css-modules","aria-hidden":"true"}},[this._v("#")]),this._v(" CSS modules")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("img",{attrs:{src:a(190),alt:"css modules"}})])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-js extra-class"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" styles "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"./styles.css"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\nelement"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("innerHTML "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" \n"),a("span",{pre:!0,attrs:{class:"token template-string"}},[a("span",{pre:!0,attrs:{class:"token string"}},[t._v('`

\n An css modules example\n

`')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("\x3c!-- className变成了hash值 --\x3e")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("h1")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("2n0Msd2op5"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("An css modules example"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"优缺点-3"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#优缺点-3","aria-hidden":"true"}},[this._v("#")]),this._v(" 优缺点")])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("生成了唯一className,解决了全局命名冲突以及样式全局污染的问题;")]),this._v(" "),s("li",[this._v("实现样式模块化、组件化;")]),this._v(" "),s("li",[this._v("解决嵌套层次过深的问题,只使用一个className就能把所有样式定义好;")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("同Less、Sass类似,一些非css的语法有一定上手成本")]),this._v(" "),s("li",[this._v("与组件库难以配合,导致最后出现大量的"),s("code",[this._v(":global")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"css-in-js"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#css-in-js","aria-hidden":"true"}},[this._v("#")]),this._v(" CSS in JS")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-jsx extra-class"},[a("pre",{pre:!0,attrs:{class:"language-jsx"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" FooterStyle "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" styled"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("footer"),a("span",{pre:!0,attrs:{class:"token template-string"}},[a("span",{pre:!0,attrs:{class:"token string"}},[t._v("`\n padding: 40px;\n\tcolor: #4e6e8e;\n`")])]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("let")]),t._v(" Footer "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("FooterStyle")])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n CSS in JS\n")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("\x3c!-- className变成了hash值 --\x3e")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("footer")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("hPxfNo"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("An CSS in JS example"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"优缺点-4"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#优缺点-4","aria-hidden":"true"}},[this._v("#")]),this._v(" 优缺点")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[t._v("比起Less/Sass等预处理工具,CSS in JS使用js语法,不用从头学习一套专用的API;")]),t._v(" "),a("li",[t._v("适用于react-native等没有css运行环境的开发;")]),t._v(" "),a("li",[t._v("跟css modules一样,因为生成了唯一className,解决了全局命名冲突以及样式全局污染的问题;")]),t._v(" "),a("li",[t._v("js和CSS之间可以变量共享,比如一些基础的颜色和尺寸,方便样式的管理操作;")]),t._v(" "),a("li",[t._v("样式按需加载,只生成页面需要用到的代码,提升了性能;")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("样式缺乏拓展性;")]),this._v(" "),s("li",[this._v("编辑器不够友好(高亮及提示);")]),this._v(" "),s("li",[this._v('完全违背了"关注点分离"的原则,增加了复杂度,且部分开发人员会对此不习惯;')]),this._v(" "),s("li",[this._v("对前端框架确实有依赖性,更适合于组件化的框架,如React;")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"相关链接"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#相关链接","aria-hidden":"true"}},[this._v("#")]),this._v(" 相关链接")])}],n=a(0),r=Object(n.a)({},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"content"},[t._m(0),t._v(" "),t._m(1),t._v(" "),a("p",[t._v("作为前辈中的前辈,OO-CSS的概念提出已久(2009),官网地址:"),a("a",{attrs:{href:"http://oocss.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://oocss.org/"),a("OutboundLink")],1)]),t._v(" "),a("p",[t._v("(本人倾向于将下面的OOCSS、BEM归类为OO-CSS。)")]),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),a("p",[t._v("OOP编程,模块以对象为单位。在OOCSS的概念里,CSS“对象”是一个可重复的视图。")]),t._v(" "),a("p",[t._v("CSS“对象”由以下四部分组成:")]),t._v(" "),t._m(4),t._v(" "),a("p",[t._v("如:")]),t._v(" "),t._m(5),t._m(6),a("p",[t._v("在这里,mod是一个CSS“对象”,它包含四个属性节点(不能独立于模块生存,包括两个必需的区域:内部和主体,以及两个可选的区域:头部和脚)。")]),t._v(" "),t._m(7),t._v(" "),t._m(8),t._v(" "),t._m(9),t._v(" "),a("p",[t._v("比如说一个渐变按钮,那么 .btn 的 class 是不会包含渐变相关的属性的,而是需要单独抽取出一个渐变的 class,然后让 .btn 去扩展从而得到一个渐变的按钮。")]),t._v(" "),a("p",[t._v("可以看下面这个例子:")]),t._v(" "),t._m(10),t._m(11),a("p",[t._v("没有分离结构与皮肤,OOCSS并不推荐这样做。可改为:")]),t._v(" "),t._m(12),t._m(13),t._m(14),t._v(" "),t._m(15),t._v(" "),t._m(16),t._v(" "),a("p",[t._v("这样能够使您保证:")]),t._v(" "),t._m(17),t._v(" "),a("p",[t._v("如:")]),t._v(" "),t._m(18),t._m(19),a("p",[t._v("没有分离容器和内容,OOCSS并不推荐这样。可改为:")]),t._v(" "),t._m(20),t._m(21),a("p",[t._v("区分容器和内容也意味着我们可以抽象出可重用的样式,组建组件库。这样可以在组件库中寻找可复用的元素组装页面。")]),t._v(" "),t._m(22),t._v(" "),a("p",[t._v("优点:")]),t._v(" "),t._m(23),t._v(" "),a("p",[t._v("缺点:")]),t._v(" "),t._m(24),t._v(" "),t._m(25),t._v(" "),a("p",[t._v("BEM也有着OO的思想,在国内深得人心。其背后的想法是将用户界面划分为独立的块,这使得界面开发变得简单和快速。即使是在复杂的用户界面中,它也允许在不复制和粘贴的情况下重用现有代码。官网地址:"),a("a",{attrs:{href:"https://en.bem.info/methodology/quick-start/",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://en.bem.info/methodology/quick-start/"),a("OutboundLink")],1)]),t._v(" "),a("p",[t._v("BEM代表块(Block),元素(Element),修饰符(Modifier)。")]),t._v(" "),a("p",[t._v("命名规则:")]),t._v(" "),t._m(26),t._m(27),t._v(" "),a("p",[t._v("可重用的功能独立的页面组件。在HTML中,块由className表示。如果代码的一部分可以重用,并且不依赖于正在实现的其他页面组件的话,那么这部分可以命名为块。")]),t._v(" "),t._m(28),t._v(" "),a("p",[t._v("特征:")]),t._v(" "),t._m(29),t._v(" "),a("p",[t._v("块可以任意数量嵌套。\n如")]),t._v(" "),t._m(30),t._m(31),t._v(" "),t._m(32),t._v(" "),a("p",[t._v("特征:")]),t._v(" "),t._m(33),t._v(" "),t._m(34),t._v(" "),t._m(35),t._v(" "),a("p",[t._v("特征:")]),t._v(" "),t._m(36),t._v(" "),t._m(37),t._v(" "),a("p",[t._v("优点:")]),t._v(" "),t._m(38),t._v(" "),a("p",[t._v("缺点:")]),t._v(" "),t._m(39),t._v(" "),a("blockquote",[a("p",[t._v("同样的另一套写法策略"),a("strong",[t._v("SUIT")]),t._v(",它在BEM的基础上进行了改进,增强了块及元素的可读性。因为总体思路类似,在此便不单独介绍,有兴趣可访问官网:"),a("a",{attrs:{href:"https://suitcss.github.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://suitcss.github.io/"),a("OutboundLink")],1)])]),t._v(" "),a("hr"),t._v(" "),t._m(40),t._v(" "),t._m(41),t._v(" "),a("p",[t._v("(本人倾向于将下面的MCSS、SMACSS、ITCSS、Atomic Design(Atomic CSS)、FUN归为M-CSS。)")]),t._v(" "),t._m(42),t._v(" "),a("p",[t._v("官网地址:"),a("a",{attrs:{href:"http://smacss.com/",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://smacss.com/"),a("OutboundLink")],1)]),t._v(" "),a("p",[t._v("SMACSS有着明确的模块划分,它把项目样式拆成如下5个部分:")]),t._v(" "),t._m(43),t._v(" "),t._m(44),t._v(" "),a("blockquote",[a("p",[t._v("同样的另一套写法策略"),a("strong",[t._v("CCSS")]),t._v(",它结合了BEM以及SMACSS,在此不单独介绍,有兴趣可访问官网:"),a("a",{attrs:{href:"http://sathify.github.io/CCSS/",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://sathify.github.io/CCSS/"),a("OutboundLink")],1)])]),t._v(" "),t._m(45),t._v(" "),a("p",[t._v("官网地址:"),a("a",{attrs:{href:"http://operatino.github.io/MCSS/",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://operatino.github.io/MCSS/"),a("OutboundLink")],1)]),t._v(" "),a("p",[t._v("MCSS指的是多层CSS(Multilayer CSS)。这种样式写法建议将样式分成多个部分,每个部分称为层(layers)。")]),t._v(" "),t._m(46),t._v(" "),a("p",[t._v("层与层之间的交互层次是非常重要的:")]),t._v(" "),t._m(47),t._v(" "),t._m(48),t._v(" "),t._m(49),t._v(" "),a("p",[t._v("官网地址:"),a("a",{attrs:{href:"https://itcss.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://itcss.io/"),a("OutboundLink")],1)]),t._v(" "),a("p",[t._v("ITCSS将整个CSS项目想象成一个分层的、倒置的三角形。这个分层图形表示了一个能帮你以有效和节约的方式组织CSS的模型。\n在ITCSS中,每一层都是上一层的逻辑递进。它使样式开发变得更加明确、有目的性,并缩小了选择器的使用范围。")]),t._v(" "),a("p",[t._v("下面是ITCSS的层级:")]),t._v(" "),t._m(50),t._v(" "),t._m(51),t._v(" "),t._m(52),t._v(" "),a("p",[t._v("官网地址:"),a("a",{attrs:{href:"https://aCSS.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://aCSS.io/"),a("OutboundLink")],1)]),t._v(" "),a("p",[t._v("主张一切都是原子组件构造而成,它将样式分为以下几个部分:")]),t._v(" "),t._m(53),t._v(" "),t._m(54),t._v(" "),t._m(55),t._v(" "),a("p",[t._v("用Atomic CSS写出来的html就像这样:")]),t._v(" "),t._m(56),a("p",[t._v("眼熟不,这也是它的一大优势,让你用起来非常顺手,就像写inline的style一样,对于写出基于视觉功能的小的, 单用途CSS类无疑是最易懂和最方便的。")]),t._v(" "),t._m(57),t._m(58),t._v(" "),a("hr"),t._v(" "),t._m(59),t._v(" "),t._m(60),t._v(" "),a("p",[t._v("官网地址:"),a("a",{attrs:{href:"https://github.com/css-modules/css-modules",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/css-modules/css-modules"),a("OutboundLink")],1)]),t._v(" "),a("p",[t._v("与上述介绍的各种CSS写法不同,CSS Modules既不是一个CSS官方的规范,也不是浏览器的一种机制,它是一种构建步骤中的一个进程。(构建通常需要webpack或者browserify的帮助)。通过构建工具的帮助,可以将className或者其他选择器的名字作用域化。(类似命名空间化。)")]),t._v(" "),a("p",[t._v("它的使用如下例:")]),t._v(" "),t._m(61),a("p",[t._v("它生成的节点:")]),t._v(" "),t._m(62),a("p",[t._v("可以看出,css modules既解决了className命名冲突的问题,也解决了样式全局作用污染的问题。")]),t._v(" "),t._m(63),t._v(" "),a("p",[t._v("优点:")]),t._v(" "),t._m(64),t._v(" "),a("p",[t._v("缺点:")]),t._v(" "),t._m(65),t._v(" "),t._m(66),t._v(" "),a("p",[t._v("官网地址:"),a("a",{attrs:{href:"https://speakerdeck.com/vjeux/react-css-in-js",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://speakerdeck.com/vjeux/react-css-in-js"),a("OutboundLink")],1)]),t._v(" "),a("p",[t._v('CSS in JS也不是一个官方的规范或浏览器的一种机制,它是一种构建步骤中的一个进程。顾名思义,在js中写css,这也是React所推荐的all in js思想。随着React的日益壮大以及组件化思想的深入人心,这种"关注点混合"的新写法逐渐成为主流。')]),t._v(" "),a("p",[t._v("用来加强JS对CSS操作的工具统称为"),a("a",{attrs:{href:"https://github.com/MicheleBertoli/css-in-js",target:"_blank",rel:"noopener noreferrer"}},[t._v("CSS in JS"),a("OutboundLink")],1),t._v("。以下是几个主流的CSS in JS工具:"),a("a",{attrs:{href:"https://github.com/styled-components/styled-components",target:"_blank",rel:"noopener noreferrer"}},[t._v("styled-components"),a("OutboundLink")],1),t._v("、"),a("a",{attrs:{href:"https://github.com/emotion-js/emotion",target:"_blank",rel:"noopener noreferrer"}},[t._v("emotion"),a("OutboundLink")],1),t._v("、"),a("a",{attrs:{href:"https://github.com/cssinjs/jss",target:"_blank",rel:"noopener noreferrer"}},[t._v("jss"),a("OutboundLink")],1),t._v("、"),a("a",{attrs:{href:"https://formidable.com/open-source/radium/",target:"_blank",rel:"noopener noreferrer"}},[t._v("radium"),a("OutboundLink")],1),t._v("、"),a("a",{attrs:{href:"https://glamorous.rocks/",target:"_blank",rel:"noopener noreferrer"}},[t._v("glamorous"),a("OutboundLink")],1),t._v("、"),a("a",{attrs:{href:"https://polished.js.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("polished"),a("OutboundLink")],1),t._v("。更多的工具可参考"),a("a",{attrs:{href:"https://github.com/MicheleBertoli/css-in-js",target:"_blank",rel:"noopener noreferrer"}},[t._v("MicheleBertoli/css-in-js"),a("OutboundLink")],1),t._v(",他们使用方法类似,其中styled-components可使用单元测试工具"),a("a",{attrs:{href:"https://github.com/styled-components/jest-styled-components",target:"_blank",rel:"noopener noreferrer"}},[t._v("jest-styled-components"),a("OutboundLink")],1),t._v("。")]),t._v(" "),a("p",[t._v("它的使用如下例(styled-components):")]),t._v(" "),t._m(67),a("p",[t._v("它生成的节点:")]),t._v(" "),t._m(68),a("p",[t._v("可以看出,CSS in JS既解决了className命名冲突的问题,也解决了样式全局作用污染的问题。并且CSS in JS写样式如同写JSON,适合那些没有css运行环境的平台,如"),a("a",{attrs:{href:"https://reactnative.cn/docs/style/",target:"_blank",rel:"noopener noreferrer"}},[t._v("react-native"),a("OutboundLink")],1),t._v("。")]),t._v(" "),t._m(69),t._v(" "),a("p",[t._v("优点:")]),t._v(" "),t._m(70),t._v(" "),a("p",[t._v("缺点:")]),t._v(" "),t._m(71),t._v(" "),a("hr"),t._v(" "),t._m(72),t._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"http://oocss.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("oocss"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"https://en.bem.info/methodology/quick-start/",target:"_blank",rel:"noopener noreferrer"}},[t._v("bem"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"https://suitcss.github.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("suitcss"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"http://operatino.github.io/MCSS/",target:"_blank",rel:"noopener noreferrer"}},[t._v("mcss"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"https://smaCSS.com/",target:"_blank",rel:"noopener noreferrer"}},[t._v("smacss"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"http://sathify.github.io/CCSS/",target:"_blank",rel:"noopener noreferrer"}},[t._v("CCSS"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"https://itcss.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("itcss"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"https://csswizardry.net/talks/2014/11/itcss-dafed.pdf",target:"_blank",rel:"noopener noreferrer"}},[t._v("itcss introduction"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"https://aCSS.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("atomic css"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"http://amcss.github.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("amcss"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"https://glenmaddern.com/articles/css-modules",target:"_blank",rel:"noopener noreferrer"}},[t._v("css modules"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"https://github.com/css-modules/postcss-modules",target:"_blank",rel:"noopener noreferrer"}},[t._v("postcss-modules"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"https://github.com/css-modules",target:"_blank",rel:"noopener noreferrer"}},[t._v("github css-modules"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"https://glenmaddern.com/articles/css-modules",target:"_blank",rel:"noopener noreferrer"}},[t._v("articles/css-modules"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"https://github.com/MicheleBertoli/css-in-js",target:"_blank",rel:"noopener noreferrer"}},[t._v("css in js"),a("OutboundLink")],1)]),t._v(" "),a("li",[a("a",{attrs:{href:"http://michelebertoli.github.io/css-in-js/",target:"_blank",rel:"noopener noreferrer"}},[t._v("css-in-js compare"),a("OutboundLink")],1)])])])},e,!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/3.ef60c50f.js b/docs/assets/js/3.a9cfca60.js similarity index 93% rename from docs/assets/js/3.ef60c50f.js rename to docs/assets/js/3.a9cfca60.js index e230e4b..1a13577 100644 --- a/docs/assets/js/3.ef60c50f.js +++ b/docs/assets/js/3.a9cfca60.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{169:function(t,a,s){"use strict";s.r(a);var r=s(170),n=s.n(r);for(var i in r)"default"!==i&&function(t){s.d(a,t,function(){return r[t]})}(i);a.default=n.a},170:function(t,a){},171:function(t,a,s){},174:function(t,a,s){t.exports=s.p+"assets/img/npm.7464c86e.svg"},175:function(t,a,s){"use strict";var r=s(171);s.n(r).a},189:function(t,a,s){"use strict";var r=function(){var t=this.$createElement;this._self._c;return this._m(0)},n=[function(){var t=this,a=t.$createElement,r=t._self._c||a;return r("div",{staticClass:"content"},[r("p",{staticClass:"f-tc u-pb50"},[r("img",{attrs:{src:"//blog.michealwayne.cn/images/notes/oocss/p-part.jpg"}})]),t._v(" "),r("hr"),t._v(" "),r("p",{staticClass:"g-mb40"},[r("a",{staticClass:"u-git-btn",attrs:{href:"https://github.com/MichealWayne/Moo-CSS",target:"_blank",title:"以兹鼓励~"}},[r("span",{staticClass:"u-star"}),t._v(" "),r("span",{staticClass:"u-star__txt",attrs:{id:"star"}},[t._v("Star ")])]),t._v(" "),r("a",{staticClass:"u-npm-btn g-ml20",attrs:{href:"https://www.npmjs.com/package/moo-css-base",target:"_blank"}},[r("img",{staticClass:"f-vm",attrs:{src:s(174)}})])]),t._v(" "),r("h3",{attrs:{id:"介绍"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#介绍","aria-hidden":"true"}},[t._v("#")]),t._v(" 介绍")]),t._v(" "),r("p",[t._v("Moo-CSS (Moo, [mu:]哞~)是结合BEM、SMACSS、MCSS、OOCSS等写法思想,利用css modules及CSS in JS工具,根据实际需求整理总结而成的一套"),r("strong",[t._v("CSS写法规则策略")]),t._v(",适用于大中小型web项目样式开发,旨在提高开发和维护效率。")]),t._v(" "),r("h4",{attrs:{id:"核心"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#核心","aria-hidden":"true"}},[t._v("#")]),t._v(" 核心")]),t._v(" "),r("p",[t._v("组件化+面向对象。")]),t._v(" "),r("h4",{attrs:{id:"特性"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#特性","aria-hidden":"true"}},[t._v("#")]),t._v(" 特性")]),t._v(" "),r("ul",[r("li",[t._v("优点:\n"),r("ul",[r("li",[t._v("重用性强")]),t._v(" "),r("li",[t._v("维护性强")]),t._v(" "),r("li",[t._v("拓展性强")])])]),t._v(" "),r("li",[t._v("缺点:\n"),r("ul",[r("li",[t._v("上手成本")])])])]),t._v(" "),r("h4",{attrs:{id:"最新版本"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#最新版本","aria-hidden":"true"}},[t._v("#")]),t._v(" 最新版本")]),t._v(" "),r("ul",[r("li",[t._v("0.9(公测,下期1.0为正式版本)")])]),t._v(" "),r("p",{staticClass:"u-pb50"})])}];s.d(a,"a",function(){return r}),s.d(a,"b",function(){return n})},191:function(t,a,s){"use strict";s.r(a);var r=s(189),n=s(169);for(var i in n)"default"!==i&&function(t){s.d(a,t,function(){return n[t]})}(i);s(175);var e=s(0),c=Object(e.a)(n.default,r.a,r.b,!1,null,null,null);a.default=c.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{169:function(t,a,s){"use strict";s.r(a);var r=s(170),n=s.n(r);for(var i in r)"default"!==i&&function(t){s.d(a,t,function(){return r[t]})}(i);a.default=n.a},170:function(t,a){},171:function(t,a,s){},174:function(t,a,s){t.exports=s.p+"assets/img/npm.7464c86e.svg"},175:function(t,a,s){"use strict";var r=s(171);s.n(r).a},191:function(t,a,s){"use strict";var r=function(){var t=this.$createElement;this._self._c;return this._m(0)},n=[function(){var t=this,a=t.$createElement,r=t._self._c||a;return r("div",{staticClass:"content"},[r("p",{staticClass:"f-tc u-pb50"},[r("img",{attrs:{src:"//blog.michealwayne.cn/images/notes/oocss/p-part.jpg"}})]),t._v(" "),r("hr"),t._v(" "),r("p",{staticClass:"g-mb40"},[r("a",{staticClass:"u-git-btn",attrs:{href:"https://github.com/MichealWayne/Moo-CSS",target:"_blank",title:"以兹鼓励~"}},[r("span",{staticClass:"u-star"}),t._v(" "),r("span",{staticClass:"u-star__txt",attrs:{id:"star"}},[t._v("Star ")])]),t._v(" "),r("a",{staticClass:"u-npm-btn g-ml20",attrs:{href:"https://www.npmjs.com/package/moo-css-base",target:"_blank"}},[r("img",{staticClass:"f-vm",attrs:{src:s(174)}})])]),t._v(" "),r("h3",{attrs:{id:"介绍"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#介绍","aria-hidden":"true"}},[t._v("#")]),t._v(" 介绍")]),t._v(" "),r("p",[t._v("Moo-CSS (Moo, [mu:]哞~)是结合BEM、SMACSS、MCSS、OOCSS等写法思想,利用css modules及CSS in JS工具,根据实际需求整理总结而成的一套"),r("strong",[t._v("CSS写法规则策略")]),t._v(",适用于大中小型web项目样式开发,旨在提高开发和维护效率。")]),t._v(" "),r("h4",{attrs:{id:"核心"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#核心","aria-hidden":"true"}},[t._v("#")]),t._v(" 核心")]),t._v(" "),r("p",[t._v("组件化+面向对象。")]),t._v(" "),r("h4",{attrs:{id:"特性"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#特性","aria-hidden":"true"}},[t._v("#")]),t._v(" 特性")]),t._v(" "),r("ul",[r("li",[t._v("优点:\n"),r("ul",[r("li",[t._v("重用性强")]),t._v(" "),r("li",[t._v("维护性强")]),t._v(" "),r("li",[t._v("拓展性强")])])]),t._v(" "),r("li",[t._v("缺点:\n"),r("ul",[r("li",[t._v("上手成本")])])])]),t._v(" "),r("h4",{attrs:{id:"最新版本"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#最新版本","aria-hidden":"true"}},[t._v("#")]),t._v(" 最新版本")]),t._v(" "),r("ul",[r("li",[t._v("0.9(公测,下期1.0为正式版本)")])]),t._v(" "),r("p",{staticClass:"u-pb50"})])}];s.d(a,"a",function(){return r}),s.d(a,"b",function(){return n})},193:function(t,a,s){"use strict";s.r(a);var r=s(191),n=s(169);for(var i in n)"default"!==i&&function(t){s.d(a,t,function(){return n[t]})}(i);s(175);var e=s(0),c=Object(e.a)(n.default,r.a,r.b,!1,null,null,null);a.default=c.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/4.2fbbf434.js b/docs/assets/js/4.2fbbf434.js new file mode 100644 index 0000000..9071330 --- /dev/null +++ b/docs/assets/js/4.2fbbf434.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{176:function(s,t,a){s.exports=a.p+"assets/img/mobile-demo1.d6906be4.png"},177:function(s,t,a){s.exports=a.p+"assets/img/mobile-demo2.4813612f.png"},178:function(s,t,a){s.exports=a.p+"assets/img/pc-demo1.d4ef0a08.png"},205:function(s,t,a){"use strict";a.r(t);var e=[function(){var s=this.$createElement,t=this._self._c||s;return t("h1",{attrs:{id:"核心:base层"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#核心:base层","aria-hidden":"true"}},[this._v("#")]),this._v(" 核心:Base层")])},function(){var s=this.$createElement,t=this._self._c||s;return t("p",[this._v("通过前文可知,Base层是高频样式/方法的集中层级。Base层具有"),t("strong",[this._v("高频率")]),this._v("、"),t("strong",[this._v("轻量性")]),this._v("、"),t("strong",[this._v("不涉及业务")]),this._v("的特征,也可作为UI库或框架组件组的基础依赖库。")])},function(){var s=this.$createElement,t=this._self._c||s;return t("h2",{attrs:{id:"权重计算参考公式"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#权重计算参考公式","aria-hidden":"true"}},[this._v("#")]),this._v(" 权重计算参考公式")])},function(){var s=this.$createElement,t=this._self._c||s;return t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[this._v("1 / (样式资源量 / 样式属性耦合度 * 0.4 + 0.3 / 样式使用率 ^ 2 + 选择器权重 * 0.3)\n")])])])},function(){var s=this.$createElement,t=this._self._c||s;return t("p",[this._v("其中,样式资源量可由样式代码量和引入资源大小进行衡量;样式属性耦合度是指在多样式属性的样式中,属性直接的耦合度,如溢出显示'...'这样的耦合度就非常高;样式使用率主要考虑多页面(包括路由页面)的样式使用率;选择器权重计算值越小越好。"),t("strong",[this._v("权重公式仅做参考,简单来说就是提取高频使用且不占用大量资源的原子样式/方法。")])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("div",{staticClass:"language-css extra-class"},[a("pre",{pre:!0,attrs:{class:"language-css"}},[a("code",[a("span",{pre:!0,attrs:{class:"token selector"}},[s._v(".f-tc")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[s._v("text-align")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" center "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\t"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("/* 满足高使用率、低资源量高耦合度、选择器较低权重 */")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[s._v("[s-bgc_gray]")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[s._v("background-color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" #999 "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\t"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("/* 满足低选择器权重、低资源量 */")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[s._v(".f-ellipsis")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[s._v("white-space")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" nowrap"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[s._v("text-overflow")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" ellipsis"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[s._v("overflow")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" hidden "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("/* 满足高耦合、高使用率、低选择器权重 */")]),s._v("\n")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("div",{staticClass:"language-css extra-class"},[a("pre",{pre:!0,attrs:{class:"language-css"}},[a("code",[a("span",{pre:!0,attrs:{class:"token selector"}},[s._v('[s-type="red"]')]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[s._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" white"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[s._v("background")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" red"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[s._v("box-shadow")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" 0 0 10px red "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\t"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("/* 满足低权重但样式耦合度低 */")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[s._v(".z-index_max")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[s._v("z-index")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" 99999 "),a("span",{pre:!0,attrs:{class:"token important"}},[s._v("!important")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("/* 满足低样式资源高耦合度但是选择器权重很高且使用率并不高 */")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[s._v(".u-ques")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[s._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" 20px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[s._v("height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" 20px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[s._v("background-image")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token url"}},[s._v("url(./i-question.png)")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("/* 满足高耦合但是样式资源量较高 */")]),s._v("\n")])])])},function(){var s=this.$createElement,t=this._self._c||s;return t("h2",{attrs:{id:"moo-css-base"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#moo-css-base","aria-hidden":"true"}},[this._v("#")]),this._v(" moo-css-base")])},function(){var s=this.$createElement,t=this._self._c||s;return t("ul",[t("li",[this._v("功能:浏览器默认样式reset、提供常用原子样式、组件样式基础、颜色变量及常用mixins方法库。")]),this._v(" "),t("li",[this._v("兼容:移动端安卓4.4及以上/ios8.1及以上;PC除flex外兼容IE6。")]),this._v(" "),t("li",[this._v("体积:其css压缩版本大小(gizp)为移动端3.5k、PC端4.2k。")]),this._v(" "),t("li",[this._v("预处理支持情况:less/sass/stylus。")])])},function(){var s=this.$createElement,t=this._self._c||s;return t("div",{staticClass:"language-sh extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[this._v("npm i -D moo-css-base\n")])])])},function(){var s=this.$createElement,t=this._self._c||s;return t("h3",{attrs:{id:"初始化注入"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#初始化注入","aria-hidden":"true"}},[this._v("#")]),this._v(" 初始化注入")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("div",{staticClass:"language-less extra-class"},[a("pre",{pre:!0,attrs:{class:"language-less"}},[a("code",[a("span",{pre:!0,attrs:{class:"token variable"}},[s._v("@import")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'~moo-css-base/mobile.less'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v("\t"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// init less mobile style")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token variable"}},[s._v("@import")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'~moo-css-base/pc.less'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v("\t"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// init less pc style")]),s._v("\n")])])])},function(){var s=this.$createElement,t=this._self._c||s;return t("div",{staticClass:"language-sass extra-class"},[t("pre",{pre:!0,attrs:{class:"language-sass"}},[t("code",[t("span",{pre:!0,attrs:{class:"token atrule-line"}},[t("span",{pre:!0,attrs:{class:"token atrule"}},[this._v("@import")]),this._v(" '~moo-css-base/mobile.scss';\t// init sass mobile style")]),this._v("\n"),t("span",{pre:!0,attrs:{class:"token atrule-line"}},[t("span",{pre:!0,attrs:{class:"token atrule"}},[this._v("@import")]),this._v(" '~moo-css-base/pc.scss';\t// init sass pc style")]),this._v("\n")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("div",{staticClass:"language-stylus extra-class"},[a("pre",{pre:!0,attrs:{class:"language-stylus"}},[a("code",[a("span",{pre:!0,attrs:{class:"token atrule-declaration"}},[a("span",{pre:!0,attrs:{class:"token atrule"}},[s._v("@import")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'~moo-css-base/mobile.styl'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v("\t")]),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// init stylus mobile style")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token atrule-declaration"}},[a("span",{pre:!0,attrs:{class:"token atrule"}},[s._v("@import")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'~moo-css-base/pc.styl'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v("\t")]),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// init stylus pc style")]),s._v("\n")])])])},function(){var s=this.$createElement,t=this._self._c||s;return t("h4",{attrs:{id:"css直接引用"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#css直接引用","aria-hidden":"true"}},[this._v("#")]),this._v(" css直接引用")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("\x3c!-- 使用移动版 --\x3e")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("<")]),s._v("link")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[s._v("rel")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v('"')]),s._v("stylesheet"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v('"')])]),s._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[s._v("href")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v('"')]),s._v("./moo-css-base/mobile.css"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("/>")])]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("\x3c!-- 使用PC版 --\x3e")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("<")]),s._v("link")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[s._v("rel")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v('"')]),s._v("stylesheet"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v('"')])]),s._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[s._v("href")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v('"')]),s._v("./moo-css-base/pc.css"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("/>")])]),s._v("\n")])])])},function(){var s=this.$createElement,t=this._self._c||s;return t("h3",{attrs:{id:"使用样式方法"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#使用样式方法","aria-hidden":"true"}},[this._v("#")]),this._v(" 使用样式方法")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("div",{staticClass:"language-less extra-class"},[a("pre",{pre:!0,attrs:{class:"language-less"}},[a("code",[a("span",{pre:!0,attrs:{class:"token variable"}},[s._v("@import")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'~moo-css-base/mobileMixins.less'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v("\t"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// import less mobile functions")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[s._v(".m-test")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n\t"),a("span",{pre:!0,attrs:{class:"token mixin-usage function"}},[s._v(".wh")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("1vw"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" 1vh"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("div",{staticClass:"language-less extra-class"},[a("pre",{pre:!0,attrs:{class:"language-less"}},[a("code",[a("span",{pre:!0,attrs:{class:"token variable"}},[s._v("@import")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'~moo-css-base/pcMixins.less'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v("\t"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// import less pc functions")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[s._v(".m-test")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n\t"),a("span",{pre:!0,attrs:{class:"token mixin-usage function"}},[s._v(".opacity")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("0.5"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("div",{staticClass:"language-sass extra-class"},[a("pre",{pre:!0,attrs:{class:"language-sass"}},[a("code",[a("span",{pre:!0,attrs:{class:"token atrule-line"}},[a("span",{pre:!0,attrs:{class:"token atrule"}},[s._v("@import")]),s._v(" '~moo-css-base/mobileMixins.scss';\t// import sass mobile functions")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[s._v(".m-test {")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token atrule-line"}},[s._v("\t"),a("span",{pre:!0,attrs:{class:"token atrule"}},[s._v("@include")]),s._v(" wh(1vw, 1vh);")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[s._v("}")]),s._v("\n")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("div",{staticClass:"language-sass extra-class"},[a("pre",{pre:!0,attrs:{class:"language-sass"}},[a("code",[a("span",{pre:!0,attrs:{class:"token atrule-line"}},[a("span",{pre:!0,attrs:{class:"token atrule"}},[s._v("@import")]),s._v(" '~moo-css-base/pcMixins.scss';\t// import sass pc functions")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[s._v(".m-test {")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token atrule-line"}},[s._v("\t"),a("span",{pre:!0,attrs:{class:"token atrule"}},[s._v("@include")]),s._v(" opacity(0.5);")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[s._v("}")]),s._v("\n")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("div",{staticClass:"language-stylus extra-class"},[a("pre",{pre:!0,attrs:{class:"language-stylus"}},[a("code",[a("span",{pre:!0,attrs:{class:"token atrule-declaration"}},[a("span",{pre:!0,attrs:{class:"token atrule"}},[s._v("@import")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'~moo-css-base/mobileMixins.styl'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v("\t")]),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// import sass mobile functions")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[s._v(".m-test")]),s._v("\n\t"),a("span",{pre:!0,attrs:{class:"token func"}},[a("span",{pre:!0,attrs:{class:"token function"}},[s._v("wh")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("1")]),s._v("vw"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("1")]),s._v("vh"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")])]),s._v("\n")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("div",{staticClass:"language-stylus extra-class"},[a("pre",{pre:!0,attrs:{class:"language-stylus"}},[a("code",[a("span",{pre:!0,attrs:{class:"token atrule-declaration"}},[a("span",{pre:!0,attrs:{class:"token atrule"}},[s._v("@import")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'~moo-css-base/pcMixins.styl'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v("\t")]),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// import sass pc functions")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[s._v(".m-test ")]),s._v("\n\t"),a("span",{pre:!0,attrs:{class:"token func"}},[a("span",{pre:!0,attrs:{class:"token function"}},[s._v("opacity")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.5")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")])]),s._v("\n\n")])])])},function(){var s=this.$createElement,t=this._self._c||s;return t("h3",{attrs:{id:"使用颜色变量"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#使用颜色变量","aria-hidden":"true"}},[this._v("#")]),this._v(" 使用颜色变量")])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("div",{staticClass:"language-less extra-class"},[a("pre",{pre:!0,attrs:{class:"language-less"}},[a("code",[a("span",{pre:!0,attrs:{class:"token variable"}},[s._v("@import")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'~moo-css-base/mobileColors.less'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v("\t"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// import less mobile colors")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[s._v(".u-error")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[s._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token variable"}},[s._v("@red")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("div",{staticClass:"language-less extra-class"},[a("pre",{pre:!0,attrs:{class:"language-less"}},[a("code",[a("span",{pre:!0,attrs:{class:"token variable"}},[s._v("@import")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'~moo-css-base/mobileColors.less'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v("\t"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// import less pc colors")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[s._v(".u-error")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[s._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token variable"}},[s._v("@blue")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("div",{staticClass:"language-sass extra-class"},[a("pre",{pre:!0,attrs:{class:"language-sass"}},[a("code",[a("span",{pre:!0,attrs:{class:"token atrule-line"}},[a("span",{pre:!0,attrs:{class:"token atrule"}},[s._v("@import")]),s._v(" '~moo-css-base/mobileColors.less';\t// import sass mobile colors")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[s._v(".u-error {")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token property-line"}},[s._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[s._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token variable"}},[s._v("$red")]),s._v(";")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[s._v("}")]),s._v("\n")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("div",{staticClass:"language-sass extra-class"},[a("pre",{pre:!0,attrs:{class:"language-sass"}},[a("code",[a("span",{pre:!0,attrs:{class:"token atrule-line"}},[a("span",{pre:!0,attrs:{class:"token atrule"}},[s._v("@import")]),s._v(" '~moo-css-base/mobileColors.less';\t// import sass pc colors")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[s._v(".u-error {")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token property-line"}},[s._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[s._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token variable"}},[s._v("$blue")]),s._v(";")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[s._v("}")]),s._v("\n")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("div",{staticClass:"language-stylus extra-class"},[a("pre",{pre:!0,attrs:{class:"language-stylus"}},[a("code",[a("span",{pre:!0,attrs:{class:"token atrule-declaration"}},[a("span",{pre:!0,attrs:{class:"token atrule"}},[s._v("@import")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'~moo-css-base/mobileColors.less'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v("\t")]),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// import stylus mobile colors")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[s._v(".u-error")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token property-declaration"}},[a("span",{pre:!0,attrs:{class:"token property"}},[s._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" $red"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")])]),s._v("\n")])])])},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("div",{staticClass:"language-stylus extra-class"},[a("pre",{pre:!0,attrs:{class:"language-stylus"}},[a("code",[a("span",{pre:!0,attrs:{class:"token atrule-declaration"}},[a("span",{pre:!0,attrs:{class:"token atrule"}},[s._v("@import")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'~moo-css-base/pcColors.less'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v("\t")]),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// import stylus pc colors")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[s._v(".u-error")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token property-declaration"}},[a("span",{pre:!0,attrs:{class:"token property"}},[s._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" $blue")]),s._v("\n")])])])},function(){var s=this.$createElement,t=this._self._c||s;return t("h4",{attrs:{id:"less"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#less","aria-hidden":"true"}},[this._v("#")]),this._v(" less")])},function(){var s=this.$createElement,t=this._self._c||s;return t("h4",{attrs:{id:"sass"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#sass","aria-hidden":"true"}},[this._v("#")]),this._v(" sass")])},function(){var s=this.$createElement,t=this._self._c||s;return t("h4",{attrs:{id:"stylus"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#stylus","aria-hidden":"true"}},[this._v("#")]),this._v(" stylus")])},function(){var s=this.$createElement,t=this._self._c||s;return t("h2",{attrs:{id:"demo及说明"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#demo及说明","aria-hidden":"true"}},[this._v("#")]),this._v(" demo及说明")])},function(){var s=this.$createElement,t=this._self._c||s;return t("h3",{attrs:{id:"移动demo1-zepto原生-less"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#移动demo1-zepto原生-less","aria-hidden":"true"}},[this._v("#")]),this._v(" 移动demo1(Zepto原生+less)")])},function(){var s=this.$createElement,t=this._self._c||s;return t("p",[this._v("DOM结构如下:\n"),t("img",{attrs:{src:a(176),alt:"mobile demo 1 structure"}})])},function(){var s=this.$createElement,t=this._self._c||s;return t("h3",{attrs:{id:"移动demo2-vuejs-less"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#移动demo2-vuejs-less","aria-hidden":"true"}},[this._v("#")]),this._v(" 移动demo2(VueJS+less)")])},function(){var s=this.$createElement,t=this._self._c||s;return t("p",[this._v("DOM结构如下:\n"),t("img",{attrs:{src:a(177),alt:"mobile demo 2 structure"}})])},function(){var s=this.$createElement,t=this._self._c||s;return t("h3",{attrs:{id:"pc-demo1-reactjs-sass"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#pc-demo1-reactjs-sass","aria-hidden":"true"}},[this._v("#")]),this._v(" PC demo1(ReactJS+sass)")])},function(){var s=this.$createElement,t=this._self._c||s;return t("p",[this._v("DOM结构如下:\n"),t("img",{attrs:{src:a(178),alt:"pc demo 1 structure"}})])}],n=a(0),r=Object(n.a)({},function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("div",{staticClass:"content"},[s._m(0),s._v(" "),s._m(1),s._v(" "),s._m(2),s._v(" "),s._m(3),a("p",[s._v("数值越大权重越高,高权重可归入Base层。")]),s._v(" "),s._m(4),s._v(" "),a("p",[s._v("比如说下面几个样式可纳入Base层:")]),s._v(" "),s._m(5),a("p",[s._v("再举几个反例")]),s._v(" "),s._m(6),a("p",[s._v("由于Base层的独特地位,该层选择器命名必须严格遵守"),a("router-link",{attrs:{to:"./../nameRule/#基本规则"}},[s._v("样式属性模块命名规范")]),s._v("。确认并封装Base层样式库之后,这套共用的样式库便可以在今后的项目中持续使用,前文也有提过,Base层确立之后便建议后续维护中"),a("strong",[s._v("只渐进添加,不删减")]),s._v("。")],1),s._v(" "),s._m(7),s._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/MichealWayne/Moo-CSS/tree/master/moo-css-base",target:"_blank",rel:"noopener noreferrer"}},[s._v("Moo-CSS base"),a("OutboundLink")],1),s._v("为本人从团队多年项目中抽离的公用CSS样式/方法库,遵守Moo-CSS规范,作为页面样式的Base层在全局使用。")]),s._v(" "),s._m(8),s._v(" "),a("p",[s._v("moo-css-base可直接在项目中按需引用,或者可以作为Base层的划分参考。")]),s._v(" "),a("p",[s._v("安装如下:")]),s._v(" "),s._m(9),a("p",[s._v("使用如:")]),s._v(" "),s._m(10),s._v(" "),a("p",[s._v("初始化注入将reset浏览器默认样式,并且提供高频率的全局样式使用,包括(grid、function、unit、skin、status、component基础样式),具体可见"),a("router-link",{attrs:{to:"./../nameDictionary/#样式"}},[s._v("词典 moo-css-base样式")])],1),s._v(" "),s._m(11),s._m(12),s._m(13),s._m(14),s._v(" "),s._m(15),s._m(16),s._v(" "),a("p",[s._v("moo-css-base提供的样式方法为高频率样式方法集合,部分为较高样式,具体可见"),a("router-link",{attrs:{to:"./../nameDictionary/#方法"}},[s._v("词典 moo-css-base方法")])],1),s._v(" "),s._m(17),s._m(18),s._m(19),s._m(20),s._m(21),s._m(22),s._m(23),s._v(" "),a("p",[s._v("moo-css-base提供的颜色变量为变量形式,全部颜色可见"),a("router-link",{attrs:{to:"./../nameDictionary/#颜色"}},[s._v("词典 moo-css-base颜色")])],1),s._v(" "),s._m(24),s._m(25),s._m(26),s._m(27),s._m(28),s._m(29),a("p",[s._v("各模块代码:")]),s._v(" "),s._m(30),s._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/MichealWayne/Moo-CSS/tree/master/Moo-CSS/less",target:"_blank",rel:"noopener noreferrer"}},[s._v("https://github.com/MichealWayne/Moo-CSS/tree/master/Moo-CSS/less"),a("OutboundLink")],1)]),s._v(" "),s._m(31),s._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/MichealWayne/Moo-CSS/tree/master/Moo-CSS/sass",target:"_blank",rel:"noopener noreferrer"}},[s._v("https://github.com/MichealWayne/Moo-CSS/tree/master/Moo-CSS/sass"),a("OutboundLink")],1)]),s._v(" "),s._m(32),s._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/MichealWayne/Moo-CSS/tree/master/Moo-CSS/stylus",target:"_blank",rel:"noopener noreferrer"}},[s._v("https://github.com/MichealWayne/Moo-CSS/tree/master/Moo-CSS/stylus"),a("OutboundLink")],1)]),s._v(" "),s._m(33),s._v(" "),a("p",[s._v("为了便于理解,这里提供了几个简单样例。")]),s._v(" "),s._m(34),s._v(" "),a("ul",[a("li",[s._v("访问地址:"),a("a",{attrs:{href:"http://blog.michealwayne.cn/Moo-CSS/demo/mobile/dist/mobileIndex.html",target:"_blank",rel:"noopener noreferrer"}},[s._v("http://blog.michealwayne.cn/Moo-CSS/demo/mobile/dist/mobileIndex.html"),a("OutboundLink")],1)]),s._v(" "),a("li",[s._v("代码地址:"),a("a",{attrs:{href:"https://github.com/MichealWayne/Moo-CSS/tree/master/demo/mobile",target:"_blank",rel:"noopener noreferrer"}},[s._v("github mobile demo"),a("OutboundLink")],1)])]),s._v(" "),s._m(35),s._v(" "),a("p",[s._v("其中Module层由BEM实现。")]),s._v(" "),s._m(36),s._v(" "),a("ul",[a("li",[s._v("访问地址:"),a("a",{attrs:{href:"http://blog.michealwayne.cn/Moo-CSS/demo/mobile/dist/mobileNavs.html",target:"_blank",rel:"noopener noreferrer"}},[s._v("http://blog.michealwayne.cn/Moo-CSS/demo/mobile/dist/mobileIndex.html"),a("OutboundLink")],1)]),s._v(" "),a("li",[s._v("代码地址:"),a("a",{attrs:{href:"https://github.com/MichealWayne/Moo-CSS/tree/master/demo/mobile",target:"_blank",rel:"noopener noreferrer"}},[s._v("github mobile demo"),a("OutboundLink")],1)])]),s._v(" "),s._m(37),s._v(" "),a("p",[s._v("其中Module层由css modules实现。")]),s._v(" "),s._m(38),s._v(" "),a("ul",[a("li",[s._v("访问地址:"),a("a",{attrs:{href:"http://blog.michealwayne.cn/Moo-CSS/demo/pc/dist/#/",target:"_blank",rel:"noopener noreferrer"}},[s._v("http://blog.michealwayne.cn/Moo-CSS/demo/pc/dist/#/"),a("OutboundLink")],1)]),s._v(" "),a("li",[s._v("代码地址:"),a("a",{attrs:{href:"https://github.com/MichealWayne/Moo-CSS/tree/master/demo/pc",target:"_blank",rel:"noopener noreferrer"}},[s._v("github pc demo"),a("OutboundLink")],1)])]),s._v(" "),s._m(39),s._v(" "),a("p",[s._v("其中Module层除Footer外(Footer使用了CSS in JS)均由css modules实现。")])])},e,!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/4.6194ac4b.js b/docs/assets/js/4.6194ac4b.js deleted file mode 100644 index 00f2510..0000000 --- a/docs/assets/js/4.6194ac4b.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{176:function(t,s,a){t.exports=a.p+"assets/img/mobile-demo1.d6906be4.png"},177:function(t,s,a){t.exports=a.p+"assets/img/mobile-demo2.4813612f.png"},178:function(t,s,a){t.exports=a.p+"assets/img/pc-demo1.d4ef0a08.png"},203:function(t,s,a){"use strict";a.r(s);var e=[function(){var t=this.$createElement,s=this._self._c||t;return s("h1",{attrs:{id:"核心:base层"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#核心:base层","aria-hidden":"true"}},[this._v("#")]),this._v(" 核心:Base层")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("通过前文可知,Base层是高频样式/方法的集中层级。Base层具有"),s("strong",[this._v("高频率")]),this._v("、"),s("strong",[this._v("轻量性")]),this._v("、"),s("strong",[this._v("不涉及业务")]),this._v("的特征,也可作为UI库或框架组件组的基础依赖库。")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"权重计算参考公式"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#权重计算参考公式","aria-hidden":"true"}},[this._v("#")]),this._v(" 权重计算参考公式")])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[this._v("1 / (样式资源量 / 样式属性耦合度 * 0.4 + 0.3 / 样式使用率 ^ 2 + 选择器权重 * 0.3)\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("其中,样式资源量可由样式代码量和引入资源大小进行衡量;样式属性耦合度是指在多样式属性的样式中,属性直接的耦合度,如溢出显示'...'这样的耦合度就非常高;样式使用率主要考虑多页面(包括路由页面)的样式使用率;选择器权重计算值越小越好。"),s("strong",[this._v("权重公式仅做参考,简单来说就是提取高频使用且不占用大量资源的原子样式/方法。")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-css extra-class"},[a("pre",{pre:!0,attrs:{class:"language-css"}},[a("code",[a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".f-tc")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-align")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" center "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\t"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* 满足高使用率、低资源量高耦合度、选择器较低权重 */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v("[s-bgc_gray]")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("background-color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" #999 "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\t"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* 满足低选择器权重、低资源量 */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".f-ellipsis")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("white-space")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" nowrap"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-overflow")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ellipsis"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("overflow")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" hidden "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* 满足高耦合、高使用率、低选择器权重 */")]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-css extra-class"},[a("pre",{pre:!0,attrs:{class:"language-css"}},[a("code",[a("span",{pre:!0,attrs:{class:"token selector"}},[t._v('[s-type="red"]')]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" white"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("background")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" red"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("box-shadow")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0 0 10px red "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\t"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* 满足低权重但样式耦合度低 */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".z-index_max")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("z-index")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 99999 "),a("span",{pre:!0,attrs:{class:"token important"}},[t._v("!important")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* 满足低样式资源高耦合度但是选择器权重很高且使用率并不高 */")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-ques")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 20px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 20px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("background-image")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token url"}},[t._v("url(./i-question.png)")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* 满足高耦合但是样式资源量较高 */")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"moo-css-base"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#moo-css-base","aria-hidden":"true"}},[this._v("#")]),this._v(" moo-css-base")])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("功能:浏览器默认样式reset、提供常用原子样式、组件样式基础、颜色变量及常用mixins方法库。")]),this._v(" "),s("li",[this._v("兼容:移动端安卓4.4及以上/ios8.1及以上;PC除flex外兼容IE6。")]),this._v(" "),s("li",[this._v("体积:其css压缩版本大小(gizp)为移动端3.5k、PC端4.2k。")]),this._v(" "),s("li",[this._v("预处理支持情况:less/sass/stylus。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[this._v("npm i -D moo-css-base\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"初始化注入"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#初始化注入","aria-hidden":"true"}},[this._v("#")]),this._v(" 初始化注入")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-less extra-class"},[a("pre",{pre:!0,attrs:{class:"language-less"}},[a("code",[a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("@import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'~moo-css-base/mobile.less'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\t"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// init less mobile style")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("@import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'~moo-css-base/pc.less'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\t"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// init less pc style")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"language-sass extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sass"}},[s("code",[s("span",{pre:!0,attrs:{class:"token atrule-line"}},[s("span",{pre:!0,attrs:{class:"token atrule"}},[this._v("@import")]),this._v(" '~moo-css-base/mobile.scss';\t// init sass mobile style")]),this._v("\n"),s("span",{pre:!0,attrs:{class:"token atrule-line"}},[s("span",{pre:!0,attrs:{class:"token atrule"}},[this._v("@import")]),this._v(" '~moo-css-base/pc.scss';\t// init sass pc style")]),this._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-stylus extra-class"},[a("pre",{pre:!0,attrs:{class:"language-stylus"}},[a("code",[a("span",{pre:!0,attrs:{class:"token atrule-declaration"}},[a("span",{pre:!0,attrs:{class:"token atrule"}},[t._v("@import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'~moo-css-base/mobile.styl'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\t")]),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// init stylus mobile style")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token atrule-declaration"}},[a("span",{pre:!0,attrs:{class:"token atrule"}},[t._v("@import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'~moo-css-base/pc.styl'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\t")]),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// init stylus pc style")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"css直接引用"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#css直接引用","aria-hidden":"true"}},[this._v("#")]),this._v(" css直接引用")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("\x3c!-- 使用移动版 --\x3e")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("link")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("rel")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("stylesheet"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("href")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("./moo-css-base/mobile.css"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("\x3c!-- 使用PC版 --\x3e")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("link")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("rel")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("stylesheet"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("href")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("./moo-css-base/pc.css"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"使用样式方法"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#使用样式方法","aria-hidden":"true"}},[this._v("#")]),this._v(" 使用样式方法")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-less extra-class"},[a("pre",{pre:!0,attrs:{class:"language-less"}},[a("code",[a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("@import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'~moo-css-base/mobileMixins.less'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\t"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// import less mobile functions")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".m-test")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t"),a("span",{pre:!0,attrs:{class:"token mixin-usage function"}},[t._v(".wh")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("1vw"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" 1vh"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-less extra-class"},[a("pre",{pre:!0,attrs:{class:"language-less"}},[a("code",[a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("@import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'~moo-css-base/pcMixins.less'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\t"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// import less pc functions")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".m-test")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t"),a("span",{pre:!0,attrs:{class:"token mixin-usage function"}},[t._v(".opacity")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("0.5"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-sass extra-class"},[a("pre",{pre:!0,attrs:{class:"language-sass"}},[a("code",[a("span",{pre:!0,attrs:{class:"token atrule-line"}},[a("span",{pre:!0,attrs:{class:"token atrule"}},[t._v("@import")]),t._v(" '~moo-css-base/mobileMixins.scss';\t// import sass mobile functions")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".m-test {")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token atrule-line"}},[t._v("\t"),a("span",{pre:!0,attrs:{class:"token atrule"}},[t._v("@include")]),t._v(" wh(1vw, 1vh);")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-sass extra-class"},[a("pre",{pre:!0,attrs:{class:"language-sass"}},[a("code",[a("span",{pre:!0,attrs:{class:"token atrule-line"}},[a("span",{pre:!0,attrs:{class:"token atrule"}},[t._v("@import")]),t._v(" '~moo-css-base/pcMixins.scss';\t// import sass pc functions")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".m-test {")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token atrule-line"}},[t._v("\t"),a("span",{pre:!0,attrs:{class:"token atrule"}},[t._v("@include")]),t._v(" opacity(0.5);")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-stylus extra-class"},[a("pre",{pre:!0,attrs:{class:"language-stylus"}},[a("code",[a("span",{pre:!0,attrs:{class:"token atrule-declaration"}},[a("span",{pre:!0,attrs:{class:"token atrule"}},[t._v("@import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'~moo-css-base/mobileMixins.styl'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\t")]),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// import sass mobile functions")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".m-test")]),t._v("\n\t"),a("span",{pre:!0,attrs:{class:"token func"}},[a("span",{pre:!0,attrs:{class:"token function"}},[t._v("wh")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),t._v("vw"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),t._v("vh"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")])]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-stylus extra-class"},[a("pre",{pre:!0,attrs:{class:"language-stylus"}},[a("code",[a("span",{pre:!0,attrs:{class:"token atrule-declaration"}},[a("span",{pre:!0,attrs:{class:"token atrule"}},[t._v("@import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'~moo-css-base/pcMixins.styl'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\t")]),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// import sass pc functions")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".m-test ")]),t._v("\n\t"),a("span",{pre:!0,attrs:{class:"token func"}},[a("span",{pre:!0,attrs:{class:"token function"}},[t._v("opacity")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("0.5")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")])]),t._v("\n\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"使用颜色变量"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#使用颜色变量","aria-hidden":"true"}},[this._v("#")]),this._v(" 使用颜色变量")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-less extra-class"},[a("pre",{pre:!0,attrs:{class:"language-less"}},[a("code",[a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("@import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'~moo-css-base/mobileColors.less'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\t"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// import less mobile colors")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-error")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("@red")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-less extra-class"},[a("pre",{pre:!0,attrs:{class:"language-less"}},[a("code",[a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("@import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'~moo-css-base/mobileColors.less'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\t"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// import less pc colors")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-error")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("@blue")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-sass extra-class"},[a("pre",{pre:!0,attrs:{class:"language-sass"}},[a("code",[a("span",{pre:!0,attrs:{class:"token atrule-line"}},[a("span",{pre:!0,attrs:{class:"token atrule"}},[t._v("@import")]),t._v(" '~moo-css-base/mobileColors.less';\t// import sass mobile colors")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-error {")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token property-line"}},[t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("$red")]),t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-sass extra-class"},[a("pre",{pre:!0,attrs:{class:"language-sass"}},[a("code",[a("span",{pre:!0,attrs:{class:"token atrule-line"}},[a("span",{pre:!0,attrs:{class:"token atrule"}},[t._v("@import")]),t._v(" '~moo-css-base/mobileColors.less';\t// import sass pc colors")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-error {")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token property-line"}},[t._v(" "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("$blue")]),t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-stylus extra-class"},[a("pre",{pre:!0,attrs:{class:"language-stylus"}},[a("code",[a("span",{pre:!0,attrs:{class:"token atrule-declaration"}},[a("span",{pre:!0,attrs:{class:"token atrule"}},[t._v("@import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'~moo-css-base/mobileColors.less'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\t")]),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// import stylus mobile colors")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-error")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property-declaration"}},[a("span",{pre:!0,attrs:{class:"token property"}},[t._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" $red"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")])]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-stylus extra-class"},[a("pre",{pre:!0,attrs:{class:"language-stylus"}},[a("code",[a("span",{pre:!0,attrs:{class:"token atrule-declaration"}},[a("span",{pre:!0,attrs:{class:"token atrule"}},[t._v("@import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'~moo-css-base/pcColors.less'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\t")]),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// import stylus pc colors")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-error")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property-declaration"}},[a("span",{pre:!0,attrs:{class:"token property"}},[t._v("color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" $blue")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"less"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#less","aria-hidden":"true"}},[this._v("#")]),this._v(" less")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"sass"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#sass","aria-hidden":"true"}},[this._v("#")]),this._v(" sass")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"stylus"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#stylus","aria-hidden":"true"}},[this._v("#")]),this._v(" stylus")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"demo及说明"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#demo及说明","aria-hidden":"true"}},[this._v("#")]),this._v(" demo及说明")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"移动demo1-zepto原生-less"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#移动demo1-zepto原生-less","aria-hidden":"true"}},[this._v("#")]),this._v(" 移动demo1(Zepto原生+less)")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("DOM结构如下:\n"),s("img",{attrs:{src:a(176),alt:"mobile demo 1 structure"}})])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"移动demo2-vuejs-less"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#移动demo2-vuejs-less","aria-hidden":"true"}},[this._v("#")]),this._v(" 移动demo2(VueJS+less)")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("DOM结构如下:\n"),s("img",{attrs:{src:a(177),alt:"mobile demo 2 structure"}})])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"pc-demo1-reactjs-sass"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#pc-demo1-reactjs-sass","aria-hidden":"true"}},[this._v("#")]),this._v(" PC demo1(ReactJS+sass)")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("DOM结构如下:\n"),s("img",{attrs:{src:a(178),alt:"pc demo 1 structure"}})])}],n=a(0),r=Object(n.a)({},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"content"},[t._m(0),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),a("p",[t._v("数值越大权重越高,高权重可归入Base层。")]),t._v(" "),t._m(4),t._v(" "),a("p",[t._v("比如说下面几个样式可纳入Base层:")]),t._v(" "),t._m(5),a("p",[t._v("再举几个反例")]),t._v(" "),t._m(6),a("p",[t._v("由于Base层的独特地位,该层选择器命名必须严格遵守"),a("router-link",{attrs:{to:"./../nameRule/#基本规则"}},[t._v("样式属性模块命名规范")]),t._v("。确认并封装Base层样式库之后,这套共用的样式库便可以在今后的项目中持续使用,前文也有提过,Base层确立之后便建议后续维护中"),a("strong",[t._v("只渐进添加,不删减")]),t._v("。")],1),t._v(" "),t._m(7),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/MichealWayne/Moo-CSS/tree/master/Moo-CSS",target:"_blank",rel:"noopener noreferrer"}},[t._v("Moo-CSS base"),a("OutboundLink")],1),t._v("为本人从团队多年项目中抽离的公用CSS样式/方法库,遵守Moo-CSS规范,作为页面样式的Base层在全局使用。")]),t._v(" "),t._m(8),t._v(" "),a("p",[t._v("moo-css-base可直接在项目中按需引用,或者可以作为Base层的划分参考。")]),t._v(" "),a("p",[t._v("安装如下:")]),t._v(" "),t._m(9),a("p",[t._v("使用如:")]),t._v(" "),t._m(10),t._v(" "),a("p",[t._v("初始化注入将reset浏览器默认样式,并且提供高频率的全局样式使用,包括(grid、function、unit、skin、status、component基础样式),具体可见"),a("router-link",{attrs:{to:"./../nameDictionary/#样式"}},[t._v("词典 moo-css-base样式")])],1),t._v(" "),t._m(11),t._m(12),t._m(13),t._m(14),t._v(" "),t._m(15),t._m(16),t._v(" "),a("p",[t._v("moo-css-base提供的样式方法为高频率样式方法集合,部分为较高样式,具体可见"),a("router-link",{attrs:{to:"./../nameDictionary/#方法"}},[t._v("词典 moo-css-base方法")])],1),t._v(" "),t._m(17),t._m(18),t._m(19),t._m(20),t._m(21),t._m(22),t._m(23),t._v(" "),a("p",[t._v("moo-css-base提供的颜色变量为变量形式,全部颜色可见"),a("router-link",{attrs:{to:"./../nameDictionary/#颜色"}},[t._v("词典 moo-css-base颜色")])],1),t._v(" "),t._m(24),t._m(25),t._m(26),t._m(27),t._m(28),t._m(29),a("p",[t._v("各模块代码:")]),t._v(" "),t._m(30),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/MichealWayne/Moo-CSS/tree/master/Moo-CSS/less",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/MichealWayne/Moo-CSS/tree/master/Moo-CSS/less"),a("OutboundLink")],1)]),t._v(" "),t._m(31),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/MichealWayne/Moo-CSS/tree/master/Moo-CSS/sass",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/MichealWayne/Moo-CSS/tree/master/Moo-CSS/sass"),a("OutboundLink")],1)]),t._v(" "),t._m(32),t._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/MichealWayne/Moo-CSS/tree/master/Moo-CSS/stylus",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/MichealWayne/Moo-CSS/tree/master/Moo-CSS/stylus"),a("OutboundLink")],1)]),t._v(" "),t._m(33),t._v(" "),a("p",[t._v("为了便于理解,这里提供了几个简单样例。")]),t._v(" "),t._m(34),t._v(" "),a("ul",[a("li",[t._v("访问地址:"),a("a",{attrs:{href:"http://blog.michealwayne.cn/Moo-CSS/demo/mobile/dist/mobileIndex.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://blog.michealwayne.cn/Moo-CSS/demo/mobile/dist/mobileIndex.html"),a("OutboundLink")],1)]),t._v(" "),a("li",[t._v("代码地址:"),a("a",{attrs:{href:"https://github.com/MichealWayne/Moo-CSS/tree/master/demo/mobile",target:"_blank",rel:"noopener noreferrer"}},[t._v("github mobile demo"),a("OutboundLink")],1)])]),t._v(" "),t._m(35),t._v(" "),a("p",[t._v("其中Module层由BEM实现。")]),t._v(" "),t._m(36),t._v(" "),a("ul",[a("li",[t._v("访问地址:"),a("a",{attrs:{href:"http://blog.michealwayne.cn/Moo-CSS/demo/mobile/dist/mobileNavs.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://blog.michealwayne.cn/Moo-CSS/demo/mobile/dist/mobileIndex.html"),a("OutboundLink")],1)]),t._v(" "),a("li",[t._v("代码地址:"),a("a",{attrs:{href:"https://github.com/MichealWayne/Moo-CSS/tree/master/demo/mobile",target:"_blank",rel:"noopener noreferrer"}},[t._v("github mobile demo"),a("OutboundLink")],1)])]),t._v(" "),t._m(37),t._v(" "),a("p",[t._v("其中Module层由css modules实现。")]),t._v(" "),t._m(38),t._v(" "),a("ul",[a("li",[t._v("访问地址:"),a("a",{attrs:{href:"http://blog.michealwayne.cn/Moo-CSS/demo/pc/dist/#/",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://blog.michealwayne.cn/Moo-CSS/demo/pc/dist/#/"),a("OutboundLink")],1)]),t._v(" "),a("li",[t._v("代码地址:"),a("a",{attrs:{href:"https://github.com/MichealWayne/Moo-CSS/tree/master/demo/pc",target:"_blank",rel:"noopener noreferrer"}},[t._v("github pc demo"),a("OutboundLink")],1)])]),t._v(" "),t._m(39),t._v(" "),a("p",[t._v("其中Module层除Footer外(Footer使用了CSS in JS)均由css modules实现。")])])},e,!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/5.aef08fa2.js b/docs/assets/js/5.aef08fa2.js new file mode 100644 index 0000000..062e075 --- /dev/null +++ b/docs/assets/js/5.aef08fa2.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{179:function(t,s,a){t.exports=a.p+"assets/img/p-4-chrome.7a3409a9.png"},180:function(t,s,a){t.exports=a.p+"assets/img/p-4-vscode.cf022980.png"},181:function(t,s,a){t.exports=a.p+"assets/img/p-vw.65f4af19.png"},201:function(t,s,a){"use strict";a.r(s);var n=[function(){var t=this.$createElement,s=this._self._c||t;return s("h1",{attrs:{id:"其他"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#其他","aria-hidden":"true"}},[this._v("#")]),this._v(" 其他")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"生态及展望"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#生态及展望","aria-hidden":"true"}},[this._v("#")]),this._v(" 生态及展望")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"_1-chrome插件"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_1-chrome插件","aria-hidden":"true"}},[this._v("#")]),this._v(" 1 Chrome插件")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("img",{attrs:{src:a(179),alt:"image-20200128153527967"}})])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"_2-vscode插件"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-vscode插件","aria-hidden":"true"}},[this._v("#")]),this._v(" 2 VSCode插件")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("img",{attrs:{src:a(180),alt:"image-20200128153730920"}})])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"_3-loader"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_3-loader","aria-hidden":"true"}},[this._v("#")]),this._v(" 3 loader")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"_4-自动化转化"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_4-自动化转化","aria-hidden":"true"}},[this._v("#")]),this._v(" 4 自动化转化")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"常见问题"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#常见问题","aria-hidden":"true"}},[this._v("#")]),this._v(" 常见问题")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"_1-主流前端框架中的component和module"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_1-主流前端框架中的component和module","aria-hidden":"true"}},[this._v("#")]),this._v(" 1.主流前端框架中的Component和Module")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"sfc——vue-angular-1-x"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#sfc——vue-angular-1-x","aria-hidden":"true"}},[this._v("#")]),this._v(" SFC——Vue/Angular(1.x)")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-vue extra-class"},[a("pre",{pre:!0,attrs:{class:"language-vue"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("template")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-a"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("..."),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("style")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token style"}},[a("span",{pre:!0,attrs:{class:"token language-css"}},[t._v("\n "),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".m-a")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-vue extra-class"},[a("pre",{pre:!0,attrs:{class:"language-vue"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("template")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v(":class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("$style.a"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("..."),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("style")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("module")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token style"}},[a("span",{pre:!0,attrs:{class:"token language-css"}},[t._v("\n "),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".a")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\t\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-vue extra-class"},[a("pre",{pre:!0,attrs:{class:"language-vue"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("template")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("u-a"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("..."),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("style")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token style"}},[a("span",{pre:!0,attrs:{class:"token language-css"}},[t._v("\n "),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-a")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"css-in-js——react-angular-2-x"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#css-in-js——react-angular-2-x","aria-hidden":"true"}},[this._v("#")]),this._v(" css in js——React/Angular(2.x)")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-jsx extra-class"},[a("pre",{pre:!0,attrs:{class:"language-jsx"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" React"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Component"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'react'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" styled "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'styled-components'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" Title "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" styled"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("h1"),a("span",{pre:!0,attrs:{class:"token template-string"}},[a("span",{pre:!0,attrs:{class:"token string"}},[t._v("`\n font-size: 1.5em;\n text-align: center;\n color: palevioletred;\n`")])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" Wrapper "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" styled"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("section"),a("span",{pre:!0,attrs:{class:"token template-string"}},[a("span",{pre:!0,attrs:{class:"token string"}},[t._v("`\n padding: 4em;\n background: papayawhip;\n`")])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("A")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("extends")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Component")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t"),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t\t"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Wrapper")])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n\t\t ")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Title")])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n\t\t\t")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("h1")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("className")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("u-w30 g-mt20"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("...")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n\t\t ")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n\t\t")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\t"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"_2-component为何没有独有的命名前缀"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-component为何没有独有的命名前缀","aria-hidden":"true"}},[this._v("#")]),this._v(" 2.Component为何没有独有的命名前缀")])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[s("strong",[this._v("保证Component单元特质")]),this._v(":在很多模块划分的CSS策略中,组件层和模块层的一直存在划分模糊的问题。Moo-CSS建议Component样式只保留组件核心特征,不推荐样式封闭,从而具有更好的拓展性。")]),this._v(" "),s("li",[s("strong",[this._v("Component以及Module命名前缀的非必要性")]),this._v(":Component以及Module推荐使用css modules,其命名前缀并不像样式属性或Base般必要。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"_3-关于预处理的mixins和skins"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_3-关于预处理的mixins和skins","aria-hidden":"true"}},[this._v("#")]),this._v(" 3.关于预处理的mixins和skins")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-less extra-class"},[a("pre",{pre:!0,attrs:{class:"language-less"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// border-top 1px mobile")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".bdt1px("),a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("@color")]),t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v("position: relative\n &:after")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("left")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("top")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 100%"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 1px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("-webkit-transform")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("scale")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("1"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" 0.5"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("transform")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("scale")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("1"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" 0.5"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("background-color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("@color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-less extra-class"},[a("pre",{pre:!0,attrs:{class:"language-less"}},[a("code",[a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("@import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'mixins.less'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".m-nav")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".m-nav__item")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token mixin-usage function"}},[t._v(".bdt1px")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("red"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"_4-关于font-size及line-height归类为gird而不是function的争议"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_4-关于font-size及line-height归类为gird而不是function的争议","aria-hidden":"true"}},[this._v("#")]),this._v(" 4.关于font-size及line-height归类为gird而不是function的争议")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"_5-关于moo-css-base移动端样式库自适应使用vw作为长度单位"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_5-关于moo-css-base移动端样式库自适应使用vw作为长度单位","aria-hidden":"true"}},[this._v("#")]),this._v(" 5.关于moo-css-base移动端样式库自适应使用vw作为长度单位")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("img",{attrs:{src:a(181),alt:"vw兼容情况"}})])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"_6-用moo-css-base与其他ui库或组件库样式冲突吗"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_6-用moo-css-base与其他ui库或组件库样式冲突吗","aria-hidden":"true"}},[this._v("#")]),this._v(" 6.用moo-css-base与其他UI库或组件库样式冲突吗")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"_7-关于过渡和动画"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_7-关于过渡和动画","aria-hidden":"true"}},[this._v("#")]),this._v(" 7.关于过渡和动画")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"反馈"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#反馈","aria-hidden":"true"}},[this._v("#")]),this._v(" 反馈")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"意见反馈"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#意见反馈","aria-hidden":"true"}},[this._v("#")]),this._v(" 意见反馈")])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"mailto:michealwayne@163.com"}},[this._v("mail: michealwayne@163.com")])])}],e=a(0),r=Object(e.a)({},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"content"},[t._m(0),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),a("p",[t._v("前端辅助Chrome插件"),a("a",{attrs:{href:"https://github.com/MichealWayne/fe-tools",target:"_blank",rel:"noopener noreferrer"}},[t._v("fe-tools"),a("OutboundLink")],1),t._v("已经接入了Moo-CSS模块,提供CSS样式属性查询,moo-css的分类查询,moo-css-base的检索功能。")]),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),a("p",[t._v("为方便 moo-css-base 在 IDE 中快速提示开发,已创建了 vscode 提示插件moo-css-plugin。")]),t._v(" "),t._m(5),t._v(" "),t._m(6),t._v(" "),a("p",[t._v("当前css开发中,不存在于moo-css-base中的样式还需要我们手动写CSS代码,如.g-fs88,结合即将完成的moo-loader,我们可以使这部分工作由loader自动添加完成,以更高效得完成业务样式开发工作。")]),t._v(" "),t._m(7),t._v(" "),a("p",[t._v("目前很多的设计稿是以sketch文件的形式提供,那么就可以设计一套解析规则,提取CSS样式及节点特征,结合Moo-CSS规则自动生成符合Moo-CSS规范的HTML标签及CSS样式,目标是实现样式的自动化开发操作。")]),t._v(" "),a("p",[t._v("相信未来样式开发会变得更加自由和高效。")]),t._v(" "),t._m(8),t._v(" "),t._m(9),t._v(" "),a("p",[t._v("前文也有提过,在使用主流前端框架,如Vue,Module层可根据在路由views目录文件中各自定义;Component可在组件components目录中定义,易于区分和维护。可参考"),a("a",{attrs:{href:"https://github.com/MichealWayne/Moo-CSS/tree/master/demo",target:"_blank",rel:"noopener noreferrer"}},[t._v("移动demo2以及PCdemo"),a("OutboundLink")],1),t._v("。")]),t._v(" "),t._m(10),t._v(" "),a("p",[t._v("如views/a.vue")]),t._v(" "),t._m(11),a("p",[t._v("或直接使用css modules")]),t._v(" "),t._m(12),a("p",[t._v("components/b.vue")]),t._v(" "),t._m(13),t._m(14),t._v(" "),a("p",[t._v("如")]),t._v(" "),t._m(15),t._m(16),t._v(" "),t._m(17),t._v(" "),t._m(18),t._v(" "),a("p",[t._v("mixins和skins通常在项目样式Base层和Component层,由于预处理定义的方法跟变量不会影响生成后的css体积,因此原则上是越精细越好,也是业务中较频繁维护的部分。moo-css-base的mixins方法库也将逐步优化和添加。")]),t._v(" "),a("p",[t._v("如mixins.less")]),t._v(" "),t._m(19),a("p",[t._v("module.less")]),t._v(" "),t._m(20),t._m(21),t._v(" "),a("p",[t._v("有人质疑为什么把font-size及line-height归为gird而不是function,原因有2:font-size以及line-height会影响整体布局,特别是一些还在用rem作为自适应布局单位的项目;font-size缩写同font-style(fs)。")]),t._v(" "),t._m(22),t._v(" "),a("p",[t._v("rem本身作为自适应的过渡属性已经承载了多年,viewport在当下移动设备兼容问题已完全不用考虑。使用vw即可避免rem单位换算的过程消耗,同时也避免了各开发团队rem换算单位不一致带来的尴尬。")]),t._v(" "),t._m(23),t._v(" "),t._m(24),t._v(" "),a("p",[t._v("不冲突。因为Moo-CSS较特殊的命名前缀规则,以及moo-css-base只提供原子样式,冲突的概率非常小。")]),t._v(" "),t._m(25),t._v(" "),a("p",[t._v("过渡和动画的业务场景较为复杂和特殊,moo-css-base中并没有直接的封装效果或方法,可以直接使用"),a("a",{attrs:{href:"https://github.com/daneden/animate.css/blob/master/animate.css",target:"_blank",rel:"noopener noreferrer"}},[t._v("animate.css"),a("OutboundLink")],1),t._v("或自行封装一个动效库("),a("code",[t._v("a-")]),t._v("标识前缀、Base层)。")]),t._v(" "),a("hr"),t._v(" "),t._m(26),t._v(" "),t._m(27),t._v(" "),a("ul",[t._m(28),t._v(" "),a("li",[a("a",{attrs:{href:"https://github.com/MichealWayne/Moo-css/issues",target:"_blank",rel:"noopener noreferrer"}},[t._v("github: Moo-css/issues"),a("OutboundLink")],1)])])])},n,!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/5.ccbd581a.js b/docs/assets/js/6.6f2a9a89.js similarity index 74% rename from docs/assets/js/5.ccbd581a.js rename to docs/assets/js/6.6f2a9a89.js index a67d1c4..fb178e1 100644 --- a/docs/assets/js/5.ccbd581a.js +++ b/docs/assets/js/6.6f2a9a89.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{167:function(t,e,n){},172:function(t,e,n){"use strict";var r=n(167);n.n(r).a},198:function(t,e,n){"use strict";n.r(e);var r={functional:!0,props:{type:{type:String,default:"tip"},text:String,vertical:{type:String,default:"top"}},render:function(t,e){var n=e.props,r=e.slots;return t("span",{class:["badge",n.type,n.vertical]},n.text||r().default)}},a=(n(172),n(0)),i=Object(a.a)(r,void 0,void 0,!1,null,"7e9e148b",null);e.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{167:function(t,e,n){},172:function(t,e,n){"use strict";var r=n(167);n.n(r).a},200:function(t,e,n){"use strict";n.r(e);var r={functional:!0,props:{type:{type:String,default:"tip"},text:String,vertical:{type:String,default:"top"}},render:function(t,e){var n=e.props,r=e.slots;return t("span",{class:["badge",n.type,n.vertical]},n.text||r().default)}},a=(n(172),n(0)),i=Object(a.a)(r,void 0,void 0,!1,null,"7e9e148b",null);e.default=i.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/7.491a4276.js b/docs/assets/js/7.491a4276.js deleted file mode 100644 index 528dc4f..0000000 --- a/docs/assets/js/7.491a4276.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{179:function(t,s,a){t.exports=a.p+"assets/img/p-vw.65f4af19.png"},199:function(t,s,a){"use strict";a.r(s);var n=[function(){var t=this.$createElement,s=this._self._c||t;return s("h1",{attrs:{id:"其他"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#其他","aria-hidden":"true"}},[this._v("#")]),this._v(" 其他")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"常见问题"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#常见问题","aria-hidden":"true"}},[this._v("#")]),this._v(" 常见问题")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"_1-主流前端框架中的component和module"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_1-主流前端框架中的component和module","aria-hidden":"true"}},[this._v("#")]),this._v(" 1.主流前端框架中的Component和Module")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"sfc——vue-angular-1-x"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#sfc——vue-angular-1-x","aria-hidden":"true"}},[this._v("#")]),this._v(" SFC——Vue/Angular(1.x)")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-vue extra-class"},[a("pre",{pre:!0,attrs:{class:"language-vue"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("template")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("m-a"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("..."),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("style")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token style"}},[a("span",{pre:!0,attrs:{class:"token language-css"}},[t._v("\n "),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".m-a")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-vue extra-class"},[a("pre",{pre:!0,attrs:{class:"language-vue"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("template")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v(":class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("$style.a"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("..."),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("style")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("module")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token style"}},[a("span",{pre:!0,attrs:{class:"token language-css"}},[t._v("\n "),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".a")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\t\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-vue extra-class"},[a("pre",{pre:!0,attrs:{class:"language-vue"}},[a("code",[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("template")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("u-a"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("..."),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("style")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token style"}},[a("span",{pre:!0,attrs:{class:"token language-css"}},[t._v("\n "),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".u-a")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h4",{attrs:{id:"css-in-js——react-angular-2-x"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#css-in-js——react-angular-2-x","aria-hidden":"true"}},[this._v("#")]),this._v(" css in js——React/Angular(2.x)")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-jsx extra-class"},[a("pre",{pre:!0,attrs:{class:"language-jsx"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" React"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("Component"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'react'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" styled "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'styled-components'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" Title "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" styled"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("h1"),a("span",{pre:!0,attrs:{class:"token template-string"}},[a("span",{pre:!0,attrs:{class:"token string"}},[t._v("`\n font-size: 1.5em;\n text-align: center;\n color: palevioletred;\n`")])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" Wrapper "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" styled"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("section"),a("span",{pre:!0,attrs:{class:"token template-string"}},[a("span",{pre:!0,attrs:{class:"token string"}},[t._v("`\n padding: 4em;\n background: papayawhip;\n`")])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("A")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("extends")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Component")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t"),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t\t"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Wrapper")])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n\t\t ")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Title")])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n\t\t\t")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("h1")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("className")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("u-w30 g-mt20"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("...")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n\t\t ")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n\t\t")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\t"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"_2-component为何没有独有的命名前缀"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-component为何没有独有的命名前缀","aria-hidden":"true"}},[this._v("#")]),this._v(" 2.Component为何没有独有的命名前缀")])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[s("strong",[this._v("保证Component单元特质")]),this._v(":在很多模块划分的CSS策略中,组件层和模块层的一直存在划分模糊的问题。Moo-CSS建议Component样式只保留组件核心特征,不推荐样式封闭,从而具有更好的拓展性。")]),this._v(" "),s("li",[s("strong",[this._v("Component以及Module命名前缀的非必要性")]),this._v(":Component以及Module推荐使用css modules,其命名前缀并不像样式属性或Base般必要。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"_3-关于预处理的mixins和skins"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_3-关于预处理的mixins和skins","aria-hidden":"true"}},[this._v("#")]),this._v(" 3.关于预处理的mixins和skins")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-less extra-class"},[a("pre",{pre:!0,attrs:{class:"language-less"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// border-top 1px mobile")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".bdt1px("),a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("@color")]),t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v("position: relative\n &:after")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("left")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("top")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 100%"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 1px"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("-webkit-transform")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("scale")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("1"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" 0.5"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("transform")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("scale")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("1"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" 0.5"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[t._v("background-color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("@color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-less extra-class"},[a("pre",{pre:!0,attrs:{class:"language-less"}},[a("code",[a("span",{pre:!0,attrs:{class:"token variable"}},[t._v("@import")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v("'mixins.less'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".m-nav")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".m-nav__item")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token mixin-usage function"}},[t._v(".bdt1px")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("red"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"_4-关于font-size及line-height归类为gird而不是function的争议"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_4-关于font-size及line-height归类为gird而不是function的争议","aria-hidden":"true"}},[this._v("#")]),this._v(" 4.关于font-size及line-height归类为gird而不是function的争议")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"_5-关于moo-css-base移动端样式库自适应使用vw作为长度单位"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_5-关于moo-css-base移动端样式库自适应使用vw作为长度单位","aria-hidden":"true"}},[this._v("#")]),this._v(" 5.关于moo-css-base移动端样式库自适应使用vw作为长度单位")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("img",{attrs:{src:a(179),alt:"vw兼容情况"}})])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"_6-用moo-css-base与其他ui库或组件库样式冲突吗"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_6-用moo-css-base与其他ui库或组件库样式冲突吗","aria-hidden":"true"}},[this._v("#")]),this._v(" 6.用moo-css-base与其他UI库或组件库样式冲突吗")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"_7-关于过渡和动画"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_7-关于过渡和动画","aria-hidden":"true"}},[this._v("#")]),this._v(" 7.关于过渡和动画")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"反馈"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#反馈","aria-hidden":"true"}},[this._v("#")]),this._v(" 反馈")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"意见反馈"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#意见反馈","aria-hidden":"true"}},[this._v("#")]),this._v(" 意见反馈")])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("a",{attrs:{href:"mailto:michealwayne@163.com"}},[this._v("mail: michealwayne@163.com")])])}],e=a(0),r=Object(e.a)({},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"content"},[t._m(0),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),a("p",[t._v("前文也有提过,在使用主流前端框架,如Vue,Module层可根据在路由views目录文件中各自定义;Component可在组件components目录中定义,易于区分和维护。可参考"),a("a",{attrs:{href:"https://github.com/MichealWayne/Moo-CSS/tree/master/demo",target:"_blank",rel:"noopener noreferrer"}},[t._v("移动demo2以及PCdemo"),a("OutboundLink")],1),t._v("。")]),t._v(" "),t._m(3),t._v(" "),a("p",[t._v("如views/a.vue")]),t._v(" "),t._m(4),a("p",[t._v("或直接使用css modules")]),t._v(" "),t._m(5),a("p",[t._v("components/b.vue")]),t._v(" "),t._m(6),t._m(7),t._v(" "),a("p",[t._v("如")]),t._v(" "),t._m(8),t._m(9),t._v(" "),t._m(10),t._v(" "),t._m(11),t._v(" "),a("p",[t._v("mixins和skins通常在项目样式Base层和Component层,由于预处理定义的方法跟变量不会影响生成后的css体积,因此原则上是越精细越好,也是业务中较频繁维护的部分。moo-css-base的mixins方法库也将逐步优化和添加。")]),t._v(" "),a("p",[t._v("如mixins.less")]),t._v(" "),t._m(12),a("p",[t._v("module.less")]),t._v(" "),t._m(13),t._m(14),t._v(" "),a("p",[t._v("有人质疑为什么把font-size及line-height归为gird而不是function,原因有2:font-size以及line-height会影响整体布局,特别是一些还在用rem作为自适应布局单位的项目;font-size缩写同font-style(fs)。")]),t._v(" "),t._m(15),t._v(" "),a("p",[t._v("rem本身作为自适应的过渡属性已经承载了多年,viewport在当下移动设备兼容问题已完全不用考虑。使用vw即可避免rem单位换算的过程消耗,同时也避免了各开发团队rem换算单位不一致带来的尴尬。")]),t._v(" "),t._m(16),t._v(" "),t._m(17),t._v(" "),a("p",[t._v("不冲突。因为Moo-CSS较特殊的命名前缀规则,以及moo-css-base只提供原子样式,冲突的概率非常小。")]),t._v(" "),t._m(18),t._v(" "),a("p",[t._v("过渡和动画的业务场景较为复杂和特殊,moo-css-base中并没有直接的封装效果或方法,可以直接使用"),a("a",{attrs:{href:"https://github.com/daneden/animate.css/blob/master/animate.css",target:"_blank",rel:"noopener noreferrer"}},[t._v("animate.css"),a("OutboundLink")],1),t._v("或自行封装一个动效库("),a("code",[t._v("a-")]),t._v("标识前缀、Base层)。")]),t._v(" "),a("hr"),t._v(" "),t._m(19),t._v(" "),t._m(20),t._v(" "),a("ul",[t._m(21),t._v(" "),a("li",[a("a",{attrs:{href:"https://github.com/MichealWayne/Moo-css/issues",target:"_blank",rel:"noopener noreferrer"}},[t._v("github: Moo-css/issues"),a("OutboundLink")],1)])])])},n,!1,null,null,null);s.default=r.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/6.ea2f1e6c.js b/docs/assets/js/7.bbc94108.js similarity index 86% rename from docs/assets/js/6.ea2f1e6c.js rename to docs/assets/js/7.bbc94108.js index ef2eb19..f9ef3cb 100644 --- a/docs/assets/js/6.ea2f1e6c.js +++ b/docs/assets/js/7.bbc94108.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{168:function(e,n,s){},173:function(e,n,s){"use strict";var i=s(168);s.n(i).a},192:function(e,n,s){"use strict";s.r(n);s(52);var i={data:function(){return{isPC:!1}},props:{router:String},mounted:function(){var e=["android","iphone","symbianos","windows phone","windows mobile","windows ce","ipad","ipod"],n=navigator.userAgent.toLowerCase(),s=!0;for(var i in e)if(~n.indexOf(e[i])){s=!1;break}this.isPC=s,s&&(document.documentElement.className="pc "+document.documentElement.className)}},t=(s(173),s(0)),o=Object(t.a)(i,function(){var e=this.$createElement,n=this._self._c||e;return n("section",{directives:[{name:"show",rawName:"v-show",value:this.isPC,expression:"isPC"}],staticClass:"m-phone"},[n("iframe",{staticClass:"u-scrollItem",attrs:{src:"//fund.10jqka.com.cn/public/ijijin-view-show/dist/#/"+(this.router||"")}})])},[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{168:function(e,n,s){},173:function(e,n,s){"use strict";var i=s(168);s.n(i).a},194:function(e,n,s){"use strict";s.r(n);s(52);var i={data:function(){return{isPC:!1}},props:{router:String},mounted:function(){var e=["android","iphone","symbianos","windows phone","windows mobile","windows ce","ipad","ipod"],n=navigator.userAgent.toLowerCase(),s=!0;for(var i in e)if(~n.indexOf(e[i])){s=!1;break}this.isPC=s,s&&(document.documentElement.className="pc "+document.documentElement.className)}},t=(s(173),s(0)),o=Object(t.a)(i,function(){var e=this.$createElement,n=this._self._c||e;return n("section",{directives:[{name:"show",rawName:"v-show",value:this.isPC,expression:"isPC"}],staticClass:"m-phone"},[n("iframe",{staticClass:"u-scrollItem",attrs:{src:"//fund.10jqka.com.cn/public/ijijin-view-show/dist/#/"+(this.router||"")}})])},[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/8.d35c3762.js b/docs/assets/js/8.c961094c.js similarity index 99% rename from docs/assets/js/8.d35c3762.js rename to docs/assets/js/8.c961094c.js index a654817..236d268 100644 --- a/docs/assets/js/8.d35c3762.js +++ b/docs/assets/js/8.c961094c.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{202:function(t,s,n){"use strict";n.r(s);var a=n(0),e=Object(a.a)({},function(){var t=this,s=t.$createElement,n=t._self._c||s;return n("div",{staticClass:"content"},[t._m(0),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),n("p",[t._v("很多人都感觉,比起弱类型语言,强类型语言因为其严谨性会更容易维护。同样的,Moo-CSS将css样式进行分类,目的也是为了更好得维护。")]),t._v(" "),n("p",[t._v("根据样式属性的特征,将样式分类为以下模块:")]),t._v(" "),t._m(5),t._v(" "),n("p",[t._v("另外两种特殊模块:")]),t._v(" "),t._m(6),t._v(" "),n("p",[t._v("Moo-CSS推荐其中grid, module, unit, component, status, animation通常由类(class)实现;skin通常由属性(attribute)实现。function大部分由类实现,部分由属性实现。")]),t._v(" "),n("p",[t._v("如:")]),t._v(" "),t._m(7),t._m(8),t._v(" "),n("p",[t._v("根据样式属性的特征,将项目样式分层为以下模块层级:")]),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),n("p",[t._v("相比于全局样式通用的样式属性来达到复用的效果,私有样式更侧重于样式的独立性。Moo-CSS中,私有样式的模块实现借助于webpack的"),n("a",{attrs:{href:"https://www.npmjs.com/package/css-loader",target:"_blank",rel:"noopener noreferrer"}},[t._v("css-loader"),n("OutboundLink")],1),t._v("或"),n("a",{attrs:{href:"https://www.npmjs.com/package/postcss-loader",target:"_blank",rel:"noopener noreferrer"}},[t._v("postcss-loader"),n("OutboundLink")],1),t._v("。重点实现"),n("strong",[t._v("Module")]),t._v("模块层的样式私有化。")]),t._v(" "),n("p",[t._v("*基本使用可参照:")]),t._v(" "),n("ul",[n("li",[n("a",{attrs:{href:"https://vue-loader-v14.vuejs.org/zh-cn/features/css-modules.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("vue css-modules"),n("OutboundLink")],1)]),t._v(" "),n("li",[n("a",{attrs:{href:"https://github.com/ruanyf/css-modules-demos",target:"_blank",rel:"noopener noreferrer"}},[t._v("React css-modules demo"),n("OutboundLink")],1)]),t._v(" "),n("li",[n("a",{attrs:{href:"https://github.com/styled-components/styled-components",target:"_blank",rel:"noopener noreferrer"}},[t._v("styled-components"),n("OutboundLink")],1)])]),t._v(" "),n("p",[t._v("由于Base层、Component层、Skin层以及Layout层的样式基本无样式冲突情况,故Moo-CSS有且仅将Module层用于私有化。")])])},[function(){var t=this.$createElement,s=this._self._c||t;return s("h1",{attrs:{id:"module"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#module","aria-hidden":"true"}},[this._v("#")]),this._v(" Module")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("Moo-CSS中的M,模块化。Moo-CSS的模块化主要体现在"),s("strong",[this._v("全局样式的模块化")]),this._v("以及"),s("strong",[this._v("模块私有样式")]),this._v("两个方面。")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"全局样式模块"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#全局样式模块","aria-hidden":"true"}},[this._v("#")]),this._v(" 全局样式模块")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("Moo-CSS将全局样式分解为"),s("strong",[this._v("样式分类")]),this._v("的模块化以及"),s("strong",[this._v("样式层级")]),this._v("的模块化。全局环境的修改需要变动的代码很少,因此该部分的常用模块将提取于公用样式。")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"样式分类"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#样式分类","aria-hidden":"true"}},[this._v("#")]),this._v(" 样式分类")])},function(){var t=this,s=t.$createElement,n=t._self._c||s;return n("ul",[n("li",[n("strong",[t._v("reset")]),t._v(":重置。重置浏览器默认样式;")]),t._v(" "),n("li",[n("strong",[t._v("grid")]),t._v(":布局。布局位置相关样式。包含样式属性:margin, position, line-height等;")]),t._v(" "),n("li",[n("strong",[t._v("module")]),t._v(":模块。业务模块,头、导航、菜单、列表等等;")]),t._v(" "),n("li",[n("strong",[t._v("function")]),t._v(":功能。溢出隐藏等功能性样式;包含样式属性:clear, text-align, overflow, font-style, font-weight, font-family, vertical-align, white-space, text-decoration, text-indent等;")]),t._v(" "),n("li",[n("strong",[t._v("unit")]),t._v(":单元。宽高,padding等影响块或元素的常用单元样式;包含样式属性:width, height, padding, display, border, flex等;")]),t._v(" "),n("li",[n("strong",[t._v("component")]),t._v(":组件。图标,蒙层等常用轻量样式组件;")]),t._v(" "),n("li",[n("strong",[t._v("status")]),t._v(":状态。透明度、是否隐藏、层级等显示状态样式(是规定唯一可设置!important的部分);包含样式属性:visibility, opacity, z-index, transform等;")]),t._v(" "),n("li",[n("strong",[t._v("skin")]),t._v(":皮肤。主题颜色背景色等;包含样式属性:color, background-color, box-shadow等;")]),t._v(" "),n("li",[n("strong",[t._v("animation")]),t._v(":动画。过渡和动画。包含样式属性:animtaion, transition。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[s("strong",[this._v("JavaScript DOM")]),this._v(":DOM操作。供js操作DOM节点,"),s("strong",[this._v("不作样式使用")])]),this._v(" "),s("li",[s("strong",[this._v("React/Vue/Angular sepcial")]),this._v(":框架独有。供专有框架使用,如过渡动画。")])])},function(){var t=this,s=t.$createElement,n=t._self._c||s;return n("div",{staticClass:"language-CSS extra-class"},[n("pre",{pre:!0,attrs:{class:"language-css"}},[n("code",[t._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* reset */")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v("*")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" \n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("margin")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("padding")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("border")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v("a,\n a:hover")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-decoration")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" none"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n \n "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* module */")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".menu")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 100%"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 100px"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("overflow-y")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" auto"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".menu li")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("heigth")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 60px"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("line-height")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 60px"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n \n "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* grid */")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".pr")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("position")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" relative"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".mt10")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("margin-top")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0.133rem"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n \n "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* function */")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".unl")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-decoration")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" underline"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".ellipsis")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("white-space")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" nowrap"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-overflow")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ellipsis"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("-o-text-overflow")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ellipsis"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("overflow")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" hidden"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".tc")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-align")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" center"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n \n \n "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* unit */")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".w10")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10px"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".h10")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10px"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".pt30")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("padding-top")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 30px"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n \n "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* component */")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".btn")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("padding")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-align")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" center"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("cursor")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" pointer"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("border-radius")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 4px"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".win_bg")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("position")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" fixed"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("z-index")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 18"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("top")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("bottom")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("left")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("right")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 100%"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".icon-circle")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 6px"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 6px"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("border-radius")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 50%"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n \n "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* status */")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v("hide")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("display")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" none "),n("span",{pre:!0,attrs:{class:"token important"}},[t._v("!important")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".index_999")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("z-index")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 999"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".hide_60per")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("opacity")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 60"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("filter")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("alpha")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("opacity=60"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n \n "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* animation */")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".fadein")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("animation")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" fadein 1s 1 ease"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token atrule"}},[n("span",{pre:!0,attrs:{class:"token rule"}},[t._v("@keyframes")]),t._v(" fadein")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v("from")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("opacity")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v("to")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("opacity")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 1"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n \n "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* theme */")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".bgc_red")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("background-color")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" red"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n \n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v("[cr-blue]")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("color")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" blue"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".icon-circle[big]")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 60px"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 60px"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"样式分层"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#样式分层","aria-hidden":"true"}},[this._v("#")]),this._v(" 样式分层")])},function(){var t=this,s=t.$createElement,n=t._self._c||s;return n("ul",[n("li",[n("strong",[t._v("Base")]),t._v(":基础层,样式最底层,包含样式重置reset以及极常出现的布局及单样式、展示状态。(通常所有页面共用且不做修改)。")]),t._v(" "),n("li",[n("strong",[t._v("Component")]),t._v(":组件层,包含样式组件和方法组件,简单组件样式,如按钮、蒙层;方法组件包括动画方法和预处理方法如rem单位设置、背景图片设置。可依赖于Base层和Skin层。")]),t._v(" "),n("li",[n("strong",[t._v("Skin")]),t._v(":皮肤层,业务中常出现的颜色,背景色,且提供预处理的颜色变量。常供应于Component层和Module层;")]),t._v(" "),n("li",[n("strong",[t._v("Module")]),t._v(":模块层,根据业务划分的模块,依赖于上面几个模块;")]),t._v(" "),n("li",[n("strong",[t._v("Layout")]),t._v(": 结构层,提供Module层布局样式,构成最终页面。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"私有样式模块"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#私有样式模块","aria-hidden":"true"}},[this._v("#")]),this._v(" 私有样式模块")])}],!1,null,null,null);s.default=e.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{204:function(t,s,n){"use strict";n.r(s);var a=n(0),e=Object(a.a)({},function(){var t=this,s=t.$createElement,n=t._self._c||s;return n("div",{staticClass:"content"},[t._m(0),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),n("p",[t._v("很多人都感觉,比起弱类型语言,强类型语言因为其严谨性会更容易维护。同样的,Moo-CSS将css样式进行分类,目的也是为了更好得维护。")]),t._v(" "),n("p",[t._v("根据样式属性的特征,将样式分类为以下模块:")]),t._v(" "),t._m(5),t._v(" "),n("p",[t._v("另外两种特殊模块:")]),t._v(" "),t._m(6),t._v(" "),n("p",[t._v("Moo-CSS推荐其中grid, module, unit, component, status, animation通常由类(class)实现;skin通常由属性(attribute)实现。function大部分由类实现,部分由属性实现。")]),t._v(" "),n("p",[t._v("如:")]),t._v(" "),t._m(7),t._m(8),t._v(" "),n("p",[t._v("根据样式属性的特征,将项目样式分层为以下模块层级:")]),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),n("p",[t._v("相比于全局样式通用的样式属性来达到复用的效果,私有样式更侧重于样式的独立性。Moo-CSS中,私有样式的模块实现借助于webpack的"),n("a",{attrs:{href:"https://www.npmjs.com/package/css-loader",target:"_blank",rel:"noopener noreferrer"}},[t._v("css-loader"),n("OutboundLink")],1),t._v("或"),n("a",{attrs:{href:"https://www.npmjs.com/package/postcss-loader",target:"_blank",rel:"noopener noreferrer"}},[t._v("postcss-loader"),n("OutboundLink")],1),t._v("。重点实现"),n("strong",[t._v("Module")]),t._v("模块层的样式私有化。")]),t._v(" "),n("p",[t._v("*基本使用可参照:")]),t._v(" "),n("ul",[n("li",[n("a",{attrs:{href:"https://vue-loader-v14.vuejs.org/zh-cn/features/css-modules.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("vue css-modules"),n("OutboundLink")],1)]),t._v(" "),n("li",[n("a",{attrs:{href:"https://github.com/ruanyf/css-modules-demos",target:"_blank",rel:"noopener noreferrer"}},[t._v("React css-modules demo"),n("OutboundLink")],1)]),t._v(" "),n("li",[n("a",{attrs:{href:"https://github.com/styled-components/styled-components",target:"_blank",rel:"noopener noreferrer"}},[t._v("styled-components"),n("OutboundLink")],1)])]),t._v(" "),n("p",[t._v("由于Base层、Component层、Skin层以及Layout层的样式基本无样式冲突情况,故Moo-CSS有且仅将Module层用于私有化。")])])},[function(){var t=this.$createElement,s=this._self._c||t;return s("h1",{attrs:{id:"module"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#module","aria-hidden":"true"}},[this._v("#")]),this._v(" Module")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("Moo-CSS中的M,模块化。Moo-CSS的模块化主要体现在"),s("strong",[this._v("全局样式的模块化")]),this._v("以及"),s("strong",[this._v("模块私有样式")]),this._v("两个方面。")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"全局样式模块"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#全局样式模块","aria-hidden":"true"}},[this._v("#")]),this._v(" 全局样式模块")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("Moo-CSS将全局样式分解为"),s("strong",[this._v("样式分类")]),this._v("的模块化以及"),s("strong",[this._v("样式层级")]),this._v("的模块化。全局环境的修改需要变动的代码很少,因此该部分的常用模块将提取于公用样式。")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"样式分类"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#样式分类","aria-hidden":"true"}},[this._v("#")]),this._v(" 样式分类")])},function(){var t=this,s=t.$createElement,n=t._self._c||s;return n("ul",[n("li",[n("strong",[t._v("reset")]),t._v(":重置。重置浏览器默认样式;")]),t._v(" "),n("li",[n("strong",[t._v("grid")]),t._v(":布局。布局位置相关样式。包含样式属性:margin, position, line-height等;")]),t._v(" "),n("li",[n("strong",[t._v("module")]),t._v(":模块。业务模块,头、导航、菜单、列表等等;")]),t._v(" "),n("li",[n("strong",[t._v("function")]),t._v(":功能。溢出隐藏等功能性样式;包含样式属性:clear, text-align, overflow, font-style, font-weight, font-family, vertical-align, white-space, text-decoration, text-indent等;")]),t._v(" "),n("li",[n("strong",[t._v("unit")]),t._v(":单元。宽高,padding等影响块或元素的常用单元样式;包含样式属性:width, height, padding, display, border, flex等;")]),t._v(" "),n("li",[n("strong",[t._v("component")]),t._v(":组件。图标,蒙层等常用轻量样式组件;")]),t._v(" "),n("li",[n("strong",[t._v("status")]),t._v(":状态。透明度、是否隐藏、层级等显示状态样式(是规定唯一可设置!important的部分);包含样式属性:visibility, opacity, z-index, transform等;")]),t._v(" "),n("li",[n("strong",[t._v("skin")]),t._v(":皮肤。主题颜色背景色等;包含样式属性:color, background-color, box-shadow等;")]),t._v(" "),n("li",[n("strong",[t._v("animation")]),t._v(":动画。过渡和动画。包含样式属性:animtaion, transition。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[s("strong",[this._v("JavaScript DOM")]),this._v(":DOM操作。供js操作DOM节点,"),s("strong",[this._v("不作样式使用")])]),this._v(" "),s("li",[s("strong",[this._v("React/Vue/Angular sepcial")]),this._v(":框架独有。供专有框架使用,如过渡动画。")])])},function(){var t=this,s=t.$createElement,n=t._self._c||s;return n("div",{staticClass:"language-CSS extra-class"},[n("pre",{pre:!0,attrs:{class:"language-css"}},[n("code",[t._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* reset */")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v("*")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" \n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("margin")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("padding")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("border")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v("a,\n a:hover")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-decoration")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" none"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n \n "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* module */")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".menu")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 100%"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 100px"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("overflow-y")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" auto"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".menu li")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("heigth")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 60px"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("line-height")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 60px"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n \n "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* grid */")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".pr")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("position")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" relative"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".mt10")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("margin-top")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0.133rem"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n \n "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* function */")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".unl")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-decoration")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" underline"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".ellipsis")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("white-space")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" nowrap"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-overflow")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ellipsis"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("-o-text-overflow")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ellipsis"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("overflow")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" hidden"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".tc")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-align")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" center"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n \n \n "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* unit */")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".w10")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10px"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".h10")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10px"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".pt30")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("padding-top")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 30px"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n \n "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* component */")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".btn")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("padding")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("text-align")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" center"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("cursor")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" pointer"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("border-radius")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 4px"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".win_bg")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("position")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" fixed"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("z-index")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 18"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("top")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("bottom")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("left")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("right")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 100%"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".icon-circle")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 6px"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 6px"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("border-radius")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 50%"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n \n "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* status */")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v("hide")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("display")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" none "),n("span",{pre:!0,attrs:{class:"token important"}},[t._v("!important")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".index_999")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("z-index")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 999"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".hide_60per")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("opacity")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 60"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("filter")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[t._v("alpha")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("opacity=60"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n \n "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* animation */")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".fadein")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("animation")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" fadein 1s 1 ease"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token atrule"}},[n("span",{pre:!0,attrs:{class:"token rule"}},[t._v("@keyframes")]),t._v(" fadein")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v("from")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("opacity")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v("to")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("opacity")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 1"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n \n "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* theme */")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".bgc_red")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("background-color")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" red"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n \n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v("[cr-blue]")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("color")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" blue"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token selector"}},[t._v(".icon-circle[big]")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("width")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 60px"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v("height")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 60px"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"样式分层"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#样式分层","aria-hidden":"true"}},[this._v("#")]),this._v(" 样式分层")])},function(){var t=this,s=t.$createElement,n=t._self._c||s;return n("ul",[n("li",[n("strong",[t._v("Base")]),t._v(":基础层,样式最底层,包含样式重置reset以及极常出现的布局及单样式、展示状态。(通常所有页面共用且不做修改)。")]),t._v(" "),n("li",[n("strong",[t._v("Component")]),t._v(":组件层,包含样式组件和方法组件,简单组件样式,如按钮、蒙层;方法组件包括动画方法和预处理方法如rem单位设置、背景图片设置。可依赖于Base层和Skin层。")]),t._v(" "),n("li",[n("strong",[t._v("Skin")]),t._v(":皮肤层,业务中常出现的颜色,背景色,且提供预处理的颜色变量。常供应于Component层和Module层;")]),t._v(" "),n("li",[n("strong",[t._v("Module")]),t._v(":模块层,根据业务划分的模块,依赖于上面几个模块;")]),t._v(" "),n("li",[n("strong",[t._v("Layout")]),t._v(": 结构层,提供Module层布局样式,构成最终页面。")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"私有样式模块"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#私有样式模块","aria-hidden":"true"}},[this._v("#")]),this._v(" 私有样式模块")])}],!1,null,null,null);s.default=e.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/9.1e03a0f1.js b/docs/assets/js/9.d65ac9cd.js similarity index 91% rename from docs/assets/js/9.1e03a0f1.js rename to docs/assets/js/9.d65ac9cd.js index 7e8717b..c4aacd5 100644 --- a/docs/assets/js/9.1e03a0f1.js +++ b/docs/assets/js/9.d65ac9cd.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{200:function(t,e,s){"use strict";s.r(e);var i=s(0),n=Object(i.a)({},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"content"},[this._m(0),this._v(" "),e("p",[this._v("Moo-CSS中的OO,面向对象。Moo-CSS的面向对象主要体现在"),e("router-link",{attrs:{to:"./../M/"}},[this._v("Module各层级")]),this._v("的面向对象。")],1)])},[function(){var t=this.$createElement,e=this._self._c||t;return e("h1",{attrs:{id:"object-oriented"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#object-oriented","aria-hidden":"true"}},[this._v("#")]),this._v(" Object-Oriented")])}],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{202:function(t,e,s){"use strict";s.r(e);var i=s(0),n=Object(i.a)({},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"content"},[this._m(0),this._v(" "),e("p",[this._v("Moo-CSS中的OO,面向对象。Moo-CSS的面向对象主要体现在"),e("router-link",{attrs:{to:"./../M/"}},[this._v("Module各层级")]),this._v("的面向对象。")],1)])},[function(){var t=this.$createElement,e=this._self._c||t;return e("h1",{attrs:{id:"object-oriented"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#object-oriented","aria-hidden":"true"}},[this._v("#")]),this._v(" Object-Oriented")])}],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/docs/assets/js/app.4c478446.js b/docs/assets/js/app.48bd9f76.js similarity index 92% rename from docs/assets/js/app.4c478446.js rename to docs/assets/js/app.48bd9f76.js index 1c7781e..dea219e 100644 --- a/docs/assets/js/app.4c478446.js +++ b/docs/assets/js/app.48bd9f76.js @@ -1,8 +1,8 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[]]);!function(t){function e(e){for(var r,a,s=e[0],u=e[1],c=e[2],f=0,p=[];f0?o(r(t),9007199254740991):0}},function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){for(var r=n(20),o=n(28),i=n(11),a=n(3),s=n(10),u=n(18),c=n(1),l=c("iterator"),f=c("toStringTag"),p=u.Array,d={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},h=o(d),v=0;v=t.length?(this._t=void 0,o(1)):o(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},function(t,e,n){"use strict";var r=n(6);t.exports=function(t,e){return!!t&&r(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e,n){"use strict";var r=n(2),o=n(32)(3);r(r.P+r.F*!n(21)([].some,!0),"Array",{some:function(t){return o(this,t,arguments[1])}})},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(8).f,o=n(14),i=n(1)("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,i)&&r(t,i,{configurable:!0,value:e})}},function(t,e,n){var r=n(2);r(r.S+r.F,"Object",{assign:n(104)})},function(t,e,n){var r=n(80),o=n(64);t.exports=Object.keys||function(t){return r(t,o)}},function(t,e,n){var r=n(62),o=n(16);t.exports=function(t){return r(o(t))}},function(t,e,n){var r=n(19),o=n(28);n(83)("keys",function(){return function(t){return o(r(t))}})},function(t,e,n){"use strict";var r=n(2),o=n(32)(0),i=n(21)([].forEach,!0);r(r.P+r.F*!i,"Array",{forEach:function(t){return o(this,t,arguments[1])}})},function(t,e,n){var r=n(9),o=n(62),i=n(19),a=n(15),s=n(112);t.exports=function(t,e){var n=1==t,u=2==t,c=3==t,l=4==t,f=6==t,p=5==t||f,d=e||s;return function(e,s,h){for(var v,m,g=i(e),y=o(g),b=r(s,h,3),_=a(y.length),x=0,w=n?d(e,_):u?d(e,0):void 0;_>x;x++)if((p||x in y)&&(m=b(v=y[x],x,g),t))if(n)w[x]=m;else if(m)switch(t){case 3:return!0;case 5:return v;case 6:return x;case 2:w.push(v)}else if(l)return!1;return f?-1:c||l?l:w}}},function(t,e,n){"use strict";var r=n(2),o=n(32)(2);r(r.P+r.F*!n(21)([].filter,!0),"Array",{filter:function(t){return o(this,t,arguments[1])}})},function(t,e,n){"use strict";var r=n(2),o=n(32)(1);r(r.P+r.F*!n(21)([].map,!0),"Array",{map:function(t){return o(this,t,arguments[1])}})},function(t,e,n){"use strict";var r=n(5),o=n(19),i=n(15),a=n(25),s=n(68),u=n(69),c=Math.max,l=Math.min,f=Math.floor,p=/\$([$&`']|\d\d?|<[^>]*>)/g,d=/\$([$&`']|\d\d?)/g;n(71)("replace",2,function(t,e,n,h){return[function(r,o){var i=t(this),a=null==r?void 0:r[e];return void 0!==a?a.call(r,i,o):n.call(String(i),r,o)},function(t,e){var o=h(n,t,this,e);if(o.done)return o.value;var f=r(t),p=String(this),d="function"==typeof e;d||(e=String(e));var m=f.global;if(m){var g=f.unicode;f.lastIndex=0}for(var y=[];;){var b=u(f,p);if(null===b)break;if(y.push(b),!m)break;""===String(b[0])&&(f.lastIndex=s(p,i(f.lastIndex),g))}for(var _,x="",w=0,C=0;C=w&&(x+=p.slice(w,$)+j,w=$+k.length)}return x+p.slice(w)}];function v(t,e,r,i,a,s){var u=r+t.length,c=i.length,l=d;return void 0!==a&&(a=o(a),l=p),n.call(s,l,function(n,o){var s;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(u);case"<":s=a[o.slice(1,-1)];break;default:var l=+o;if(0===l)return n;if(l>c){var p=f(l/10);return 0===p?n:p<=c?void 0===i[p-1]?o.charAt(1):i[p-1]+o.charAt(1):n}s=i[l-1]}return void 0===s?"":s})}})},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){var r,o; +(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[]]);!function(t){function e(e){for(var r,a,s=e[0],u=e[1],c=e[2],f=0,p=[];f0?o(r(t),9007199254740991):0}},function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){for(var r=n(20),o=n(28),i=n(11),a=n(3),s=n(10),u=n(18),c=n(1),l=c("iterator"),f=c("toStringTag"),p=u.Array,d={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},h=o(d),v=0;v=t.length?(this._t=void 0,o(1)):o(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},function(t,e,n){"use strict";var r=n(6);t.exports=function(t,e){return!!t&&r(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e,n){"use strict";var r=n(2),o=n(32)(3);r(r.P+r.F*!n(21)([].some,!0),"Array",{some:function(t){return o(this,t,arguments[1])}})},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(8).f,o=n(14),i=n(1)("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,i)&&r(t,i,{configurable:!0,value:e})}},function(t,e,n){var r=n(2);r(r.S+r.F,"Object",{assign:n(104)})},function(t,e,n){var r=n(80),o=n(64);t.exports=Object.keys||function(t){return r(t,o)}},function(t,e,n){var r=n(62),o=n(16);t.exports=function(t){return r(o(t))}},function(t,e,n){var r=n(19),o=n(28);n(83)("keys",function(){return function(t){return o(r(t))}})},function(t,e,n){"use strict";var r=n(2),o=n(32)(0),i=n(21)([].forEach,!0);r(r.P+r.F*!i,"Array",{forEach:function(t){return o(this,t,arguments[1])}})},function(t,e,n){var r=n(9),o=n(62),i=n(19),a=n(15),s=n(112);t.exports=function(t,e){var n=1==t,u=2==t,c=3==t,l=4==t,f=6==t,p=5==t||f,d=e||s;return function(e,s,h){for(var v,m,g=i(e),y=o(g),b=r(s,h,3),_=a(y.length),x=0,w=n?d(e,_):u?d(e,0):void 0;_>x;x++)if((p||x in y)&&(m=b(v=y[x],x,g),t))if(n)w[x]=m;else if(m)switch(t){case 3:return!0;case 5:return v;case 6:return x;case 2:w.push(v)}else if(l)return!1;return f?-1:c||l?l:w}}},function(t,e,n){"use strict";var r=n(2),o=n(32)(2);r(r.P+r.F*!n(21)([].filter,!0),"Array",{filter:function(t){return o(this,t,arguments[1])}})},function(t,e,n){"use strict";var r=n(2),o=n(32)(1);r(r.P+r.F*!n(21)([].map,!0),"Array",{map:function(t){return o(this,t,arguments[1])}})},function(t,e,n){"use strict";var r=n(5),o=n(19),i=n(15),a=n(25),s=n(68),u=n(69),c=Math.max,l=Math.min,f=Math.floor,p=/\$([$&`']|\d\d?|<[^>]*>)/g,d=/\$([$&`']|\d\d?)/g;n(71)("replace",2,function(t,e,n,h){return[function(r,o){var i=t(this),a=null==r?void 0:r[e];return void 0!==a?a.call(r,i,o):n.call(String(i),r,o)},function(t,e){var o=h(n,t,this,e);if(o.done)return o.value;var f=r(t),p=String(this),d="function"==typeof e;d||(e=String(e));var m=f.global;if(m){var g=f.unicode;f.lastIndex=0}for(var y=[];;){var b=u(f,p);if(null===b)break;if(y.push(b),!m)break;""===String(b[0])&&(f.lastIndex=s(p,i(f.lastIndex),g))}for(var _,x="",w=0,C=0;C=w&&(x+=p.slice(w,$)+j,w=$+k.length)}return x+p.slice(w)}];function v(t,e,r,i,a,s){var u=r+t.length,c=i.length,l=d;return void 0!==a&&(a=o(a),l=p),n.call(s,l,function(n,o){var s;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(u);case"<":s=a[o.slice(1,-1)];break;default:var l=+o;if(0===l)return n;if(l>c){var p=f(l/10);return 0===p?n:p<=c?void 0===i[p-1]?o.charAt(1):i[p-1]+o.charAt(1):n}s=i[l-1]}return void 0===s?"":s})}})},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){var r,o; /* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress * @license MIT */void 0===(o="function"==typeof(r=function(){var t,e,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function o(t,e,n){return tn?n:t}function i(t){return 100*(-1+t)}n.configure=function(t){var e,n;for(e in t)void 0!==(n=t[e])&&t.hasOwnProperty(e)&&(r[e]=n);return this},n.status=null,n.set=function(t){var e=n.isStarted();t=o(t,r.minimum,1),n.status=1===t?null:t;var u=n.render(!e),c=u.querySelector(r.barSelector),l=r.speed,f=r.easing;return u.offsetWidth,a(function(e){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(c,function(t,e,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+i(t)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+i(t)+"%,0)"}:{"margin-left":i(t)+"%"}).transition="all "+e+"ms "+n,o}(t,l,f)),1===t?(s(u,{transition:"none",opacity:1}),u.offsetWidth,setTimeout(function(){s(u,{transition:"all "+l+"ms linear",opacity:0}),setTimeout(function(){n.remove(),e()},l)},l)):setTimeout(e,l)}),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var t=function(){setTimeout(function(){n.status&&(n.trickle(),t())},r.trickleSpeed)};return r.trickle&&t(),this},n.done=function(t){return t||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(t){var e=n.status;return e?("number"!=typeof t&&(t=(1-e)*o(Math.random()*e,.1,.95)),e=o(e+t,0,.994),n.set(e)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},t=0,e=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===e&&n.start(),t++,e++,r.always(function(){0==--e?(t=0,n.done()):n.set((t-e)/t)}),this):this},n.render=function(t){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var e=document.createElement("div");e.id="nprogress",e.innerHTML=r.template;var o,a=e.querySelector(r.barSelector),u=t?"-100":i(n.status||0),l=document.querySelector(r.parent);return s(a,{transition:"all 0 linear",transform:"translate3d("+u+"%,0,0)"}),r.showSpinner||(o=e.querySelector(r.spinnerSelector))&&p(o),l!=document.body&&c(l,"nprogress-custom-parent"),l.appendChild(e),e},n.remove=function(){l(document.documentElement,"nprogress-busy"),l(document.querySelector(r.parent),"nprogress-custom-parent");var t=document.getElementById("nprogress");t&&p(t)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var t=document.body.style,e="WebkitTransform"in t?"Webkit":"MozTransform"in t?"Moz":"msTransform"in t?"ms":"OTransform"in t?"O":"";return e+"Perspective"in t?"translate3d":e+"Transform"in t?"translate":"margin"};var a=function(){var t=[];function e(){var n=t.shift();n&&n(e)}return function(n){t.push(n),1==t.length&&e()}}(),s=function(){var t=["Webkit","O","Moz","ms"],e={};function n(n){return n=n.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(t,e){return e.toUpperCase()}),e[n]||(e[n]=function(e){var n=document.body.style;if(e in n)return e;for(var r,o=t.length,i=e.charAt(0).toUpperCase()+e.slice(1);o--;)if((r=t[o]+i)in n)return r;return e}(n))}function r(t,e,r){e=n(e),t.style[e]=r}return function(t,e){var n,o,i=arguments;if(2==i.length)for(n in e)void 0!==(o=e[n])&&e.hasOwnProperty(n)&&r(t,n,o);else r(t,i[1],i[2])}}();function u(t,e){var n="string"==typeof t?t:f(t);return n.indexOf(" "+e+" ")>=0}function c(t,e){var n=f(t),r=n+e;u(n,e)||(t.className=r.substring(1))}function l(t,e){var n,r=f(t);u(t,e)&&(n=r.replace(" "+e+" "," "),t.className=n.substring(1,n.length-1))}function f(t){return(" "+(t.className||"")+" ").replace(/\s+/gi," ")}function p(t){t&&t.parentNode&&t.parentNode.removeChild(t)}return n})?r.call(e,n,e,t):r)||(t.exports=o)},function(t,e,n){"use strict";var r=n(2),o=n(81)(!1),i=[].indexOf,a=!!i&&1/[1].indexOf(1,-0)<0;r(r.P+r.F*(a||!n(21)(i)),"Array",{indexOf:function(t){return a?i.apply(this,arguments)||0:o(this,t,arguments[1])}})},function(t,e){t.exports=!1},function(t,e,n){var r=n(12),o=n(1)("toStringTag"),i="Arguments"==r(function(){return arguments}());t.exports=function(t){var e,n,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),o))?n:i?r(e):"Object"==(a=r(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,n){var r=n(13),o=n(3),i=o["__core-js_shared__"]||(o["__core-js_shared__"]={});(t.exports=function(t,e){return i[t]||(i[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:n(53)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,e,n){var r=n(4),o=n(3).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){t.exports=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+": incorrect invocation!");return t}},function(t,e,n){var r=n(9),o=n(96),i=n(97),a=n(5),s=n(15),u=n(98),c={},l={};(e=t.exports=function(t,e,n,f,p){var d,h,v,m,g=p?function(){return t}:u(t),y=r(n,f,e?2:1),b=0;if("function"!=typeof g)throw TypeError(t+" is not iterable!");if(i(g)){for(d=s(t.length);d>b;b++)if((m=e?y(a(h=t[b])[0],h[1]):y(t[b]))===c||m===l)return m}else for(v=g.call(t);!(h=v.next()).done;)if((m=o(v,y,h.value,e))===c||m===l)return m}).BREAK=c,e.RETURN=l},function(t,e,n){var r=n(11);t.exports=function(t,e,n){for(var o in e)r(t,o,e[o],n);return t}},function(t,e,n){"use strict";var r=n(3),o=n(8),i=n(7),a=n(1)("species");t.exports=function(t){var e=r[t];i&&e&&!e[a]&&o.f(e,a,{configurable:!0,get:function(){return this}})}},function(t,e,n){var r=n(12);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e,n){var r=n(55)("keys"),o=n(24);t.exports=function(t){return r[t]||(r[t]=o(t))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var r=n(24)("meta"),o=n(4),i=n(14),a=n(8).f,s=0,u=Object.isExtensible||function(){return!0},c=!n(6)(function(){return u(Object.preventExtensions({}))}),l=function(t){a(t,r,{value:{i:"O"+ ++s,w:{}}})},f=t.exports={KEY:r,NEED:!1,fastKey:function(t,e){if(!o(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!i(t,r)){if(!u(t))return"F";if(!e)return"E";l(t)}return t[r].i},getWeak:function(t,e){if(!i(t,r)){if(!u(t))return!0;if(!e)return!1;l(t)}return t[r].w},onFreeze:function(t){return c&&f.NEED&&u(t)&&!i(t,r)&&l(t),t}}},function(t,e,n){"use strict";var r=n(53),o=n(2),i=n(11),a=n(10),s=n(18),u=n(109),c=n(26),l=n(111),f=n(1)("iterator"),p=!([].keys&&"next"in[].keys()),d=function(){return this};t.exports=function(t,e,n,h,v,m,g){u(n,e,h);var y,b,_,x=function(t){if(!p&&t in $)return $[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},w=e+" Iterator",C="values"==v,k=!1,$=t.prototype,S=$[f]||$["@@iterator"]||v&&$[v],O=S||x(v),E=v?C?x("entries"):O:void 0,A="Array"==e&&$.entries||S;if(A&&(_=l(A.call(new t)))!==Object.prototype&&_.next&&(c(_,w,!0),r||"function"==typeof _[f]||a(_,f,d)),C&&S&&"values"!==S.name&&(k=!0,O=function(){return S.call(this)}),r&&!g||!p&&!k&&$[f]||a($,f,O),s[e]=O,s[w]=d,v)if(y={values:C?O:x("values"),keys:m?O:x("keys"),entries:E},g)for(b in y)b in $||i($,b,y[b]);else o(o.P+o.F*(p||k),e,y);return y}},function(t,e,n){var r=n(8).f,o=Function.prototype,i=/^\s*function ([^ (]*)/;"name"in o||n(7)&&r(o,"name",{configurable:!0,get:function(){try{return(""+this).match(i)[1]}catch(t){return""}}})},function(t,e,n){"use strict";var r=n(88)(!0);t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},function(t,e,n){"use strict";var r=n(54),o=RegExp.prototype.exec;t.exports=function(t,e){var n=t.exec;if("function"==typeof n){var i=n.call(t,e);if("object"!=typeof i)throw new TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(t))throw new TypeError("RegExp#exec called on incompatible receiver");return o.call(t,e)}},function(t,e,n){"use strict";var r,o,i=n(89),a=RegExp.prototype.exec,s=String.prototype.replace,u=a,c=(r=/a/,o=/b*/g,a.call(r,"a"),a.call(o,"a"),0!==r.lastIndex||0!==o.lastIndex),l=void 0!==/()??/.exec("")[1];(c||l)&&(u=function(t){var e,n,r,o,u=this;return l&&(n=new RegExp("^"+u.source+"$(?!\\s)",i.call(u))),c&&(e=u.lastIndex),r=a.call(u,t),c&&r&&(u.lastIndex=u.global?r.index+r[0].length:e),l&&r&&r.length>1&&s.call(r[0],n,function(){for(o=1;o")}),f=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();t.exports=function(t,e,n){var p=s(t),d=!i(function(){var e={};return e[p]=function(){return 7},7!=""[t](e)}),h=d?!i(function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[c]=function(){return n}),n[p](""),!e}):void 0;if(!d||!h||"replace"===t&&!l||"split"===t&&!f){var v=/./[p],m=n(a,p,""[t],function(t,e,n,r,o){return e.exec===u?d&&!o?{done:!0,value:v.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}}),g=m[0],y=m[1];r(String.prototype,t,g),o(RegExp.prototype,p,2==e?function(t,e){return y.call(t,this,e)}:function(t){return y.call(t,this)})}}},function(t,e,n){"use strict";var r,o,i,a,s=n(53),u=n(3),c=n(9),l=n(54),f=n(2),p=n(4),d=n(23),h=n(58),v=n(59),m=n(75),g=n(76).set,y=n(100)(),b=n(78),_=n(101),x=n(102),w=n(103),C=u.TypeError,k=u.process,$=k&&k.versions,S=$&&$.v8||"",O=u.Promise,E="process"==l(k),A=function(){},j=o=b.f,T=!!function(){try{var t=O.resolve(1),e=(t.constructor={})[n(1)("species")]=function(t){t(A,A)};return(E||"function"==typeof PromiseRejectionEvent)&&t.then(A)instanceof e&&0!==S.indexOf("6.6")&&-1===x.indexOf("Chrome/66")}catch(t){}}(),L=function(t){var e;return!(!p(t)||"function"!=typeof(e=t.then))&&e},P=function(t,e){if(!t._n){t._n=!0;var n=t._c;y(function(){for(var r=t._v,o=1==t._s,i=0,a=function(e){var n,i,a,s=o?e.ok:e.fail,u=e.resolve,c=e.reject,l=e.domain;try{s?(o||(2==t._h&&R(t),t._h=1),!0===s?n=r:(l&&l.enter(),n=s(r),l&&(l.exit(),a=!0)),n===e.promise?c(C("Promise-chain cycle")):(i=L(n))?i.call(n,u,c):u(n)):c(r)}catch(t){l&&!a&&l.exit(),c(t)}};n.length>i;)a(n[i++]);t._c=[],t._n=!1,e&&!t._h&&I(t)})}},I=function(t){g.call(u,function(){var e,n,r,o=t._v,i=M(t);if(i&&(e=_(function(){E?k.emit("unhandledRejection",o,t):(n=u.onunhandledrejection)?n({promise:t,reason:o}):(r=u.console)&&r.error&&r.error("Unhandled promise rejection",o)}),t._h=E||M(t)?2:1),t._a=void 0,i&&e.e)throw e.v})},M=function(t){return 1!==t._h&&0===(t._a||t._c).length},R=function(t){g.call(u,function(){var e;E?k.emit("rejectionHandled",t):(e=u.onrejectionhandled)&&e({promise:t,reason:t._v})})},D=function(t){var e=this;e._d||(e._d=!0,(e=e._w||e)._v=t,e._s=2,e._a||(e._a=e._c.slice()),P(e,!0))},N=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw C("Promise can't be resolved itself");(e=L(t))?y(function(){var r={_w:n,_d:!1};try{e.call(t,c(N,r,1),c(D,r,1))}catch(t){D.call(r,t)}}):(n._v=t,n._s=1,P(n,!1))}catch(t){D.call({_w:n,_d:!1},t)}}};T||(O=function(t){h(this,O,"Promise","_h"),d(t),r.call(this);try{t(c(N,this,1),c(D,this,1))}catch(t){D.call(this,t)}},(r=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=n(60)(O.prototype,{then:function(t,e){var n=j(m(this,O));return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=E?k.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&P(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),i=function(){var t=new r;this.promise=t,this.resolve=c(N,t,1),this.reject=c(D,t,1)},b.f=j=function(t){return t===O||t===a?new i(t):o(t)}),f(f.G+f.W+f.F*!T,{Promise:O}),n(26)(O,"Promise"),n(61)("Promise"),a=n(13).Promise,f(f.S+f.F*!T,"Promise",{reject:function(t){var e=j(this);return(0,e.reject)(t),e.promise}}),f(f.S+f.F*(s||!T),"Promise",{resolve:function(t){return w(s&&this===a?O:this,t)}}),f(f.S+f.F*!(T&&n(79)(function(t){O.all(t).catch(A)})),"Promise",{all:function(t){var e=this,n=j(e),r=n.resolve,o=n.reject,i=_(function(){var n=[],i=0,a=1;v(t,!1,function(t){var s=i++,u=!1;n.push(void 0),a++,e.resolve(t).then(function(t){u||(u=!0,n[s]=t,--a||r(n))},o)}),--a||r(n)});return i.e&&o(i.v),n.promise},race:function(t){var e=this,n=j(e),r=n.reject,o=_(function(){v(t,!1,function(t){e.resolve(t).then(n.resolve,r)})});return o.e&&r(o.v),n.promise}})},function(t,e,n){t.exports=!n(7)&&!n(6)(function(){return 7!=Object.defineProperty(n(56)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){var r=n(4);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){var r=n(5),o=n(23),i=n(1)("species");t.exports=function(t,e){var n,a=r(t).constructor;return void 0===a||null==(n=r(a)[i])?e:o(n)}},function(t,e,n){var r,o,i,a=n(9),s=n(99),u=n(77),c=n(56),l=n(3),f=l.process,p=l.setImmediate,d=l.clearImmediate,h=l.MessageChannel,v=l.Dispatch,m=0,g={},y=function(){var t=+this;if(g.hasOwnProperty(t)){var e=g[t];delete g[t],e()}},b=function(t){y.call(t.data)};p&&d||(p=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return g[++m]=function(){s("function"==typeof t?t:Function(t),e)},r(m),m},d=function(t){delete g[t]},"process"==n(12)(f)?r=function(t){f.nextTick(a(y,t,1))}:v&&v.now?r=function(t){v.now(a(y,t,1))}:h?(i=(o=new h).port2,o.port1.onmessage=b,r=a(i.postMessage,i,1)):l.addEventListener&&"function"==typeof postMessage&&!l.importScripts?(r=function(t){l.postMessage(t+"","*")},l.addEventListener("message",b,!1)):r="onreadystatechange"in c("script")?function(t){u.appendChild(c("script")).onreadystatechange=function(){u.removeChild(this),y.call(t)}}:function(t){setTimeout(a(y,t,1),0)}),t.exports={set:p,clear:d}},function(t,e,n){var r=n(3).document;t.exports=r&&r.documentElement},function(t,e,n){"use strict";var r=n(23);function o(t){var e,n;this.promise=new t(function(t,r){if(void 0!==e||void 0!==n)throw TypeError("Bad Promise constructor");e=t,n=r}),this.resolve=r(e),this.reject=r(n)}t.exports.f=function(t){return new o(t)}},function(t,e,n){var r=n(1)("iterator"),o=!1;try{var i=[7][r]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!o)return!1;var n=!1;try{var i=[7],a=i[r]();a.next=function(){return{done:n=!0}},i[r]=function(){return a},t(i)}catch(t){}return n}},function(t,e,n){var r=n(14),o=n(29),i=n(81)(!1),a=n(63)("IE_PROTO");t.exports=function(t,e){var n,s=o(t),u=0,c=[];for(n in s)n!=a&&r(s,n)&&c.push(n);for(;e.length>u;)r(s,n=e[u++])&&(~i(c,n)||c.push(n));return c}},function(t,e,n){var r=n(29),o=n(15),i=n(105);t.exports=function(t){return function(e,n,a){var s,u=r(e),c=o(u.length),l=i(a,c);if(t&&n!=n){for(;c>l;)if((s=u[l++])!=s)return!0}else for(;c>l;l++)if((t||l in u)&&u[l]===n)return t||l||0;return!t&&-1}}},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var r=n(2),o=n(13),i=n(6);t.exports=function(t,e){var n=(o.Object||{})[t]||Object[t],a={};a[t]=e(n),r(r.S+r.F*i(function(){n(1)}),"Object",a)}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var r=n(5),o=n(110),i=n(64),a=n(63)("IE_PROTO"),s=function(){},u=function(){var t,e=n(56)("iframe"),r=i.length;for(e.style.display="none",n(77).appendChild(e),e.src="javascript:",(t=e.contentWindow.document).open(),t.write(" + diff --git a/docs/guide/index.html b/docs/guide/index.html index 4949f9a..80aa5b3 100644 --- a/docs/guide/index.html +++ b/docs/guide/index.html @@ -8,7 +8,7 @@ - + @@ -16,12 +16,12 @@ Github

引导

写CSS并不难,但是要写出可长期维护、不易被他人吐槽的CSS很难。

抛出问题

在日常CSS的编写(也包括使用了预处理工具)的过程中,我们经常会遇到如下几个主要问题:

  • 难以复用:很多样式相似,但往往就差那么点边距,差点大小跟字体颜色或者布局有区别,然后就需要C/V操作后再修改了,样式难以直接复用。
  • 命名冲突:由于CSS样式具有全局性,在复杂项目中,有时候会出现命名冲突,容易导致样式错乱的情况,并且这种情况较难debug。
  • 选择器及层级结构混乱:为了避免样式冲突,有些人会使用多层选择器来保证样式的依赖,但往往导致选择器层级过高而较难维护,同样也导致样式权重过高而难以调整;
  • 权重混乱:id、@important的使用,选择器的混乱往往容易导致样式权重混乱而难以维护;同样的,选择器的权重混乱和命名混乱也会导致代码的可读性很差。

这些问题在复杂性项目,特别是多人协作项目中尤为明显。Moo-CSS目的在于解决上述问题,以方便前端更好得开发CSS。

解决方案

多年以来,从BEM、SAMCSS等写法规范到近年来随着组件化框架发展而广泛使用的css modules和css in js,这些方案或者工具都旨在解决以上问题。Moo-CSS在这些基础上给出了一套CSS开发规范策略。


目录

  • 致敬:简单了解OOCSS、BEM、SMACSS等CSS写法策略、css modules以及CSS in jS; +

引导

写CSS并不难,但是要写出可长期维护、不易被他人吐槽的CSS很难。

抛出问题

在日常CSS的编写(也包括使用了预处理工具)的过程中,我们经常会遇到如下几个主要问题:

  • 难以复用:很多样式相似,但往往就差那么点边距,差点大小跟字体颜色或者布局有区别,然后就需要C/V操作后再修改了,样式难以直接复用。
  • 命名冲突:由于CSS样式具有全局性,在复杂项目中,有时候会出现命名冲突,容易导致样式错乱的情况,并且这种情况较难debug。
  • 选择器及层级结构混乱:为了避免样式冲突,有些人会使用多层选择器来保证样式的依赖,但往往导致选择器层级过高而较难维护,同样也导致样式权重过高而难以调整;
  • 权重混乱:id、@important的使用,选择器的混乱往往容易导致样式权重混乱而难以维护;同样的,选择器的权重混乱和命名混乱也会导致代码的可读性很差。

这些问题在复杂性项目,特别是多人协作项目中尤为明显。Moo-CSS目的在于解决上述问题,以方便前端更好得开发CSS。

解决方案

多年以来,从BEM、SAMCSS等写法规范到近年来随着组件化框架发展而广泛使用的css modules和css in js,这些方案或者工具都旨在解决以上问题。Moo-CSS在这些基础上给出了一套CSS开发规范策略。


目录

- + diff --git a/docs/index.html b/docs/index.html index b19f2a7..910c7e5 100644 --- a/docs/index.html +++ b/docs/index.html @@ -8,7 +8,7 @@ - + @@ -16,13 +16,13 @@ Github
hero

Moo-CSS

模块化面向对象的CSS写法规则策略

立即了解 →

重用性强

样式模块化、原子化,大部分样式能复用和缓存。

维护性强

分层分类,对象化的开发方式易读易改。

拓展性强

组件化的理念,简单样式能直接拼出。


Star

介绍

Moo-CSS (Moo, [mu:]哞~)是结合BEM、SMACSS、MCSS、OOCSS等写法思想,利用css modules及CSS in JS工具,根据实际需求整理总结而成的一套CSS写法规则策略,适用于大中小型web项目样式开发,旨在提高开发和维护效率。

核心

组件化+面向对象。

特性

  • 优点:
    • 重用性强
    • 维护性强
    • 拓展性强
  • 缺点:
    • 上手成本

最新版本

  • 0.9(公测,下期1.0为正式版本)

- + diff --git a/docs/moocss/index.html b/docs/moocss/index.html index 2337a5f..8e76a7d 100644 --- a/docs/moocss/index.html +++ b/docs/moocss/index.html @@ -8,7 +8,7 @@ - + @@ -16,7 +16,7 @@ Github

Moo-css

模块化面向对象思想的css写法规范策略。

M模块

Moo-CSS中的M(Module),模块化。Moo-CSS的模块化主要体现在样式属性的模块化以及样式层级的模块化两个方面。

样式属性分类

很多人都感觉,比起弱类型语言,强类型语言因为其严谨性特别在大型项目中会更容易维护。同样的,Moo-CSS将CSS样式属性进行分类,类似于底层变量使用,目的也是为了使项目具有更好的维护性。

根据样式属性的特征,Moo-CSS将样式属性分类样式划分为以下模块,并根据模块特征给定命名前缀(命名规则-标志前缀):

  • grid布局样式。布局、位置相关样式。如margin, position, line-height等;
  • function功能样式。文字居中、溢出隐藏等功能性样式。如clear, text-align, overflow, font-style, font-weight, font-family, vertical-align, white-space, text-decoration, text-indent等;
  • unit单元样式。宽高、padding等影响块或元素的常用单元样式。如width, height, padding, display, border, flex等;
  • status状态样式。透明度、是否隐藏、层级等显示状态样式(是唯一可设置!important的部分)。如visibility, opacity, z-index, transform等;
  • skin皮肤样式。主题颜色背景色等。如color, background-color, box-shadow等;
  • animation动画样式。过渡和动画。如animtaion, transition。

另外两种特殊模块:

  • JavaScript DOMDOM操作样式。供js操作DOM节点,建议不带有样式属性
  • React/Vue/Angular sepcial框架独有样式。供专有框架使用,如过渡动画。

更多样式属性归类可参考样式模块词典>>

注意,Moo-CSS推荐其中 +

Moo-css

模块化面向对象思想的css写法规范策略。

M模块

Moo-CSS中的M(Module),模块化。Moo-CSS的模块化主要体现在样式属性的模块化以及样式层级的模块化两个方面。

样式属性分类

很多人都感觉,比起弱类型语言,强类型语言因为其严谨性特别在大型项目中会更容易维护。同样的,Moo-CSS将CSS样式属性进行分类,类似于底层变量使用,目的也是为了使项目具有更好的维护性。

根据样式属性的特征,Moo-CSS将样式属性分类样式划分为以下模块,并根据模块特征给定命名前缀(命名规则-标志前缀):

  • grid布局样式。布局、位置相关样式。如margin, position, line-height等;
  • function功能样式。文字居中、溢出隐藏等功能性样式。如clear, text-align, overflow, font-style, font-weight, font-family, vertical-align, white-space, text-decoration, text-indent等;
  • unit单元样式。宽高、padding等影响块或元素的常用单元样式。如width, height, padding, display, border, flex等;
  • status状态样式。透明度、是否隐藏、层级等显示状态样式(是唯一可设置!important的部分)。如visibility, opacity, z-index, transform等;
  • skin皮肤样式。主题颜色背景色等。如color, background-color, box-shadow等;
  • animation动画样式。过渡和动画。如animtaion, transition。

另外两种特殊模块:

  • JavaScript DOMDOM操作样式。供js操作DOM节点,建议不带有样式属性
  • React/Vue/Angular sepcial框架独有样式。供专有框架使用,如过渡动画。

更多样式属性归类可参考样式模块词典>>

注意,Moo-CSS推荐其中 grid, module, unit, component, status, animation通常由类(className)选择器实现; skin通常由属性(attribute)选择器实现,*小程序通过className实现; function大部分由className实现,部分低权重样式由attribute实现。

使用className以及attribute来确认样式可以较好避免权重问题,且从中我们可以得知skin作为辅助样式而样式权重相比较低。Moo-CSS推荐避免ID以及!important进行样式开发,有且仅有一个!important样式用于元素隐藏(.z-hide { display: none !important })。

如:

/* reset */
@@ -330,6 +330,6 @@
         
         →
       

- + diff --git a/docs/nameDictionary/index.html b/docs/nameDictionary/index.html index 661be98..f9a2a1a 100644 --- a/docs/nameDictionary/index.html +++ b/docs/nameDictionary/index.html @@ -8,7 +8,7 @@ - + @@ -16,7 +16,7 @@ Github

命名词典

Module命名词典

a - link (<a> tag)
 ac - action
 add - additional
 adv - advertise
@@ -125,7 +125,7 @@
 unl - underline
 v - vertical-align | visibility
 w - width
-

样式模块词典

grid(g-)

属性 说明 CSS版本
box-sizing 设置要应用盒子尺寸相关属性的元素 3
margin 设置元素盒子四个外边距宽度的简写属性 1
margin-bottom 设置盒子下外边距的宽度 1
margin-left 设置盒子左外边距的宽度 1
margin-right 设置盒子右外边距的宽度 1
margin-top 设置盒子上外边距的宽度 1
bottom 设置元素下外边距边界与包含块下边界之间的偏移 2
left 设置元素左外边距边界与包含块左边界之间的偏移 2
position 设置元素的定位方法 2
right 设置元素右外边距边界与包含块右边界之间的偏移 2
top 设置元素上外边距边界与包含块上边界之间的偏移 2
font 在一条声明中设置文本字体、大小和颜色的简写属性 1
line-height 设置行高 1

function(f-)

属性 说明 CSS版本
background-attachment 设置元素的背景附着属性,决定背景图片是否随页面一起滚动 1
background-clip 设置元素背景颜色和图像的裁剪区域 3
background-origin 设置背景图像绘制的起始位置 3
background-position 设置背景图像在元素盒子中的位置 1
background-repeat 设置背景图像的重复方式 1
background-size 设置背景图像的绘制尺寸 3
border 为所有边界设置所有边框宽度的简写属性 1
border-bottom 为所有下边框设置宽度的简写属性 1
border-bottom-left-radius 将边框左下角设置为圆角 3
border-bottom-right-radius 将边框右下角设置为圆角 3
border-bottom-style 设置元素下边框的样式 1
border-image-repeat 指定边框图像的缩放和重复方式 3
border-image-slice 指定边框图像的切割方式 3
border-left 设置元素左边框的简写属性 1
border-left-style 设置左边框的样式 1
border-radius 指定圆角边框的简写属性 3
border-right 设置元素右边框的简写属性 1
border-right-style 设置右边框的样式 1
border-style 设置所有边框样式的简写属性 1
border-top 为所有上边框设置宽度的简写属性 1
border-top-left-radius 将边框左上角设置为圆角 3
border-top-right-radius 将边框右上角设置为圆角 3
border-top-style 设置元素上边框的样式 1
outline-offset 设置轮廓距离元素边框边缘的偏移量 2
outline-style 设置轮廓的样式 2
outline 在一条声明中设置轮廓的简写属性 2
clear 设置盒子的左边界、右边界或左右两个边界不允许出现浮动元素 1
float 将元素移动到其包含块的左边界或者右边界,或者另一个浮动元素的边界 1
overflow 设置内容横向和竖向溢出盒子时处理方式的简写属性 2
overflow-x 设置内容横向溢出盒子时的处理方式 3
overflow-y 设置内容纵向溢出盒子时的处理方式 3
font 在一条声明中设置文本字体、大小和颜色的简写属性 1
font-family 指定文本所用的字体系列,排在前面的优先使用 1
font-style 指定采用正常字体、斜体还是倾斜字体 1
font-variant 指定字体是否以小型大写字母显示 1
font-weight 指定文本粗细 1
letter-spacing 设置字母间距 1
text-align 设置文本对齐方式 1
text-decoration 规定添加到文本的修饰(如下划线) 1
text-indent 规定文本块中首行文本的缩进 1
text-justify 设置文本对齐方式 3
word-spacing 指定单词间距 1
border-collapse 指定表格相邻单元格边框的显示样式 2
border-spacing 指定相邻单元格的边框的距离 2
cursor 指定光标的形状 2
empty-cells 指定是否显示表格中的空单元格 2
list-style 设置列表样式的简写属性 1
list-style-type 指定列表项标记的类型 1
transform 指定应用于元素的变换 3
transform-origin 指定元素变换的起点 3
text-transform 属性控制文本的大小写 1
direction 指定文本方向 2

unit(u-)

属性 说明 CSS版本
align-items flex子项在flex容器的当前行的侧轴(纵轴)方向上的对齐方式 3
justify-content 用于设置或检索弹性盒子元素在主轴(横轴)方向上的对齐方式 3
caption-side 指定表格标题的位置 2
list-style-position 指定列表项标记相对于列表项内容的位置 1
table-layout 指定表格单元格、行和列的算法规则 2
border-bottom-width 设置元素下边框的宽度 1
border-image-width 设置边框图像的宽度 3
border-left-width 设置左边框的宽度 1
border-right-width 设置右边框的宽度 1
border-top-width 设置元素上边框的宽度 1
border-width 设置四个边框的宽度 1
outline-width 设置轮廓的宽度 2
outline 在一条声明中设置轮廓的简写属性 2
display 设置元素盒子的类型 1
height 设置元素盒子的高度 1
max-height 设置元素的最大高度 2
max-width 设置元素的最大宽度 2
min-height 设置元素的最小高度 2
min-width 设置元素的最小宽度 2
padding 设置元素盒子四个内边距宽度的简写属性 1
padding-bottom 设置盒子下内边距的宽度 1
padding-left 设置盒子左内边距的宽度 1
padding-right 设置盒子右内边距的宽度 1
padding-top 设置盒子上内边距的宽度 1
width 设置元素的宽度 1
column-count 指定多列布局的列数 3
column-fill 多列布局中列与列之间的内容如何发布 3
column-gap 指定多列布局中列与列之间的间隔 3
column-rule 多列布局中定义列与列之间的规则的简写属性 3
column-rule-color 设置多列布局中的颜色规划 3
column-rule-style 设置多列布局中的样式规则 3
column-rule-width 设置多列布局中的宽度规则 3
columns 在多列布局中设置列数和列宽度的简写属性 3
column-span 指定多列布局中元素能跨多少列 3
column-width 设置多列布局中列的宽度 3
flex-align、flex-direction、flex-order、flex-pack 它们都是由弹性盒子布局定义的 3

status(z-)

属性 说明 CSS版本
visibility 设置元素的可见性 2
z-index 设置定位元素的堆叠顺序 2
opacity 设置元素的透明度 3
display 指定元素在页面上的显示方式 1

skin(s-)

属性 说明 CSS版本
color 设置元素的前景色 1
list-style-image 指定列表项标记使用的图像 1
text-shadow 指定文本块的阴影效果 3
box-shadow 设置元素的一个或者多个阴影效果 3
outline-color 设置元素边框外围轮廓线的颜色 2
border-top-color 为所有上边框设置颜色 1
border-right-color 设置右边框的颜色 1
border-left-color 设置左边框的颜色 1
border-bottom-color 为所有下边框设置颜色 1
background-color 设置背景颜色 1

animation(a-)

属性 说明 CSS版本
transition 指定CSS属性过渡效果的简写属性 3
transition-delay 指定触发过渡的延迟时间 3
transition-duration 指定过渡的持续时间 3
transition-property 指定带有过渡效果的属性 3
transition-timing-function 指定过渡期间计算中间属性值的函数 3
animation 设置动画的简写属性 3
animation-deplay 指定动画开始前的延迟时间 3
animation-direction 指定动画重复播放时的播放方向 3
animation-duration 指定动画的持续时间 3
animation-iteration-count 指定动画的循环次数 3
animation-name 指定用于动画的关键帧集合的名称 3
animation-play-state 指定动画状态(播放或暂停) 3
animation-timing-function 指定关键帧之间计算属性值的函数 3

moo-css-base词典

颜色

变量 十六进制色值 说明 效果
body_bg #efeef5 灰-页面背景
part_bg #fff 白-模块背景
font-base #323232 黑,正文-1
font-base_ #333 黑,正文-2
font-sub #666 灰色-正文
font-sub_ #999 浅灰-次要文字
font-link #11a6fc 蓝色-链接
font-up #fe5d4e 红色-涨
font-down #009801 绿色-跌
button-red #cf0e0f 红色,按钮
button-orange #ff7010 橙色,按钮
button-yellow #f1ae3f 黄色,按钮
button-gray #ccc 灰色,按钮
button-disable #d6d6d6 灰色,按钮不可用
border-gray #e2e2e2 边框-灰
red #fe5d4e 红色-涨、按钮
orange-light #ff8f2e 浅橙
orange #ff7010 橙色
yellow #f1ae3f 黄色
green #009801 绿色
blue #01a2fc 蓝色
gray #d3d6d8 灰色
gray-light #999 浅灰色
white #fff 白色

方法

方法名 参数 说明 平台
unit name, px 设置vw属性,name为属性名,px为像素值,如less:.unit(width, 100) mobile
wh width, height 设置宽高 mobile/PC
square width 设置正方形(宽高相等) mobile/PC
hh height 设置高度同时设置行高,height=line-height mobile/PC
font font-size, line-height 设置字体大小及行高,如less:.font(24px, 40px) mobile/PC
sc font-size, color 设置字体大小及颜色,如less:.sc(26px, #ccc) mobile/PC
mulit-ellipsis maxline 多行文字溢出展示"...",如less: .mulit-ellipsis(2) mobile/PC
pseudo-class - 设置伪元素布局,通常用作css图形、边框1px mobile/PC
font-DIN - font-family使用DIN字体 mobile
position top, left 设置top及left,如less:.position(10%, 15vh) mobile/PC
bis url 设置背景图且填充整个容器,如.bis('https://github.com/MichealWayne/Moo-CSS/raw/master/docs/logo.png') mobile/PC
blur range 设置模糊,range为模糊半径 mobile/PC
center - 水平垂直居中定位 mobile/PC
fixed-mask - 设置fixed全屏布局样式 mobile/PC
border-top-radius radius 单边圆角,上边 mobile/PC
border-right-radius radius 单边圆角,右边 mobile/PC
border-bottom-radius radius 单边圆角,下边 mobile/PC
border-left-radius radius 单边圆角,左边 mobile/PC
set-scroll color 设置滚动条颜色,需要hsl颜色,如less:.setScroll(hsla(200, 100%, 54%, 1)) mobile
set-scroll-elastic - 设置滚动区域带弹性效果(IOS) mobile
min-width min-width 设置最小宽度且兼容IE6 PC
min-height min-height 设置最小高度且兼容IE6 PC
dib - 内联块级元素, 兼容IE6 PC
fixed - 固定定位, 兼容IE6 PC
fl - 左浮动, 兼容 IE6 PC
fr - 右浮动, 兼容 IE6 PC
clearfix - 清除浮动 PC
no-select - 禁止文字选中 PC
bg-variant color 按钮颜色设置(hover及focus颜色加深) PC
opacity opacity 设置透明度,兼容 IE6 PC

样式

grid

类/属性名 属性 说明 平台
.g-box_b -webkit-box-sizing: border-box; box-sizing: border-box; 对元素指定宽度和高度包括了 padding 和 border 。 mobile/PC
.g-box_c -webkit-box-sizing: content-box; box-sizing: content-box; 指定元素的宽度和高度(最小/最大属性)适用于box的宽度和高度。元素的填充和边框布局和绘制指定宽度和高度除外。 mobile/PC
.g-center margin-left: auto;margin-right: auto; 块元素居中。 mobile/PC
.g-pf position: fixed; 设置固定定位 mobile/PC
.g-pr position: relative; 设置相对定位 mobile/PC
.g-pa position: absolute; 设置绝对定位 mobile/PC
.g-fs10 font-size: 1.3333vw; 字体大小为10px(750px设计稿,1vw=7.5px响应式,后续移动长度单位同此) mobile
.g-fs12 font-size: 1.6vw; 字体大小为12px mobile
.g-fs14 font-size: 1.8667vw; 字体大小为14px mobile
.g-fs16 font-size: 2.1333vw; 字体大小为16px mobile
.g-fs18 font-size: 2.4vw; 字体大小为18px mobile
.g-fs20 font-size: 2.6667vw; 字体大小为20px mobile
.g-fs22 font-size: 2.9333vw; 字体大小为22px mobile
.g-fs24 font-size: 3.2vw; 字体大小为24px mobile
.g-fs26 font-size: 3.4667vw; 字体大小为26px mobile
.g-fs28 font-size: 3.7333vw; 字体大小为28px mobile
.g-fs30 font-size: 4vw; 字体大小为30px mobile
.g-fs32 font-size: 4.2667vw; 字体大小为32px mobile
.g-fs34 font-size: 4.5333vw; 字体大小为34px mobile
.g-fs36 font-size: 4.8vw; 字体大小为36px mobile
.g-fs38 font-size: 5.0667vw; 字体大小为38px mobile
.g-fs40 font-size: 5.3333vw; 字体大小为40px mobile
.g-lh150per line-height: 1.5; 行高1.5 mobile/PC
.g-lh180per line-height: 1.8; 行高1.8 mobile/PC
.g-lh200per line-height: 2; 行高2 mobile/PC
.g-m20 margin: 2.6667vw; margin四边均为20px mobile
.g-m30 margin: 4vw; margin四边均为30px mobile
.g-m40 margin: 5.3333vw; margin四边均为40px mobile
.g-m50 margin: 6.6667vw; margin四边均为60px mobile
.g-mt10 margin-top: 1.3333vw; 上边距10px mobile
.g-mt20 margin-top: 2.6667vw; 上边距20px mobile
.g-mt30 margin-top: 4vw; 上边距30px mobile
.g-mt40 margin-top: 5.3333vw; 上边距40px mobile
.g-mt50 margin-top: 6.6667vw; 上边距50px mobile
.g-mt60 margin-top: 8vw; 上边距60px mobile
.g-mt70 margin-top: 9.3333vw; 上边距70px mobile
.g-mt80 margin-top: 10.6667vw; 上边距80px mobile
.g-mt90 margin-top: 12vw; 上边距90px mobile
.g-mt100 margin-top: 13.3333vw; 上边距100px mobile
.g-mr10 margin-right: 1.3333vw; 右边距10px mobile
.g-mr20 margin-right: 2.6667vw; 右边距20px mobile
.g-mr30 margin-right: 4vw; 右边距30px mobile
.g-mr40 margin-right: 5.3333vw; 右边距40px mobile
.g-mr50 margin-right: 6.6667vw; 右边距50px mobile
.g-mr60 margin-right: 8vw; 右边距60px mobile
.g-mr70 margin-right: 9.3333vw; 右边距70px mobile
.g-mr80 margin-right: 10.6667vw; 右边距80px mobile
.g-mr90 margin-right: 12vw; 右边距90px mobile
.g-mr100 margin-right: 13.3333vw; 右边距100px mobile
.g-mb10 margin-bottom: 1.3333vw; 下边距10px mobile
.g-mb20 margin-bottom: 2.6667vw; 下边距20px mobile
.g-mb30 margin-bottom: 4vw; 下边距30px mobile
.g-mb40 margin-bottom: 5.3333vw; 下边距40px mobile
.g-mb50 margin-bottom: 6.6667vw; 下边距50px mobile
.g-mb60 margin-bottom: 8vw; 下边距60px mobile
.g-mb70 margin-bottom: 9.3333vw; 下边距70px mobile
.g-mb80 margin-bottom: 10.6667vw; 下边距80px mobile
.g-mb90 margin-bottom: 12vw; 下边距90px mobile
.g-mb100 margin-bottom: 13.3333vw; 下边距100px mobile
.g-ml10 margin-left: 1.3333vw; 左边距10px mobile
.g-ml20 margin-left: 2.6667vw; 左边距20px mobile
.g-ml30 margin-left: 4vw; 左边距30px mobile
.g-ml40 margin-left: 5.3333vw; 左边距40px mobile
.g-ml50 margin-left: 6.6667vw; 左边距50px mobile
.g-ml60 margin-left: 8vw; 左边距60px mobile
.g-ml70 margin-left: 9.3333vw; 左边距70px mobile
.g-ml80 margin-left: 10.6667vw; 左边距80px mobile
.g-ml90 margin-left: 12vw; 左边距90px mobile
.g-ml100 margin-left: 13.3333vw; 左边距100px mobile
  • 注意:PC版.g-fs单位跨度从10px到40px,如.g-fs10, ... , .g-fs40;..g-mt/.g-mr*/.g-mb*/.g-ml*单位跨度从10px到200px,如.g-mt10, ... , .g-mt200

unit

类/属性名 属性 说明 平台
.u-block display: block 设置为块元素 mobile/PC
.u-block_il display: inline-block 设置为行内块元素 mobile/PC
.u-inline display: inline 设置为行内元素 mobile/PC
.u-w display: block; width: 100%; 块元素宽度100% mobile/PC
.u-w92per display: block; width: 92%; 块元素宽度92% mobile/PC
.u-w50per display: block; width: 50%; 块元素宽度50% mobile/PC
.u-w10 width: 1.3333vw; 宽度10px mobile
.u-w20 width: 2.6667vw; 宽度20px mobile
.u-w30 width: 4vw; 宽度30px mobile
.u-w40 width: 5.3333vw; 宽度40px mobile
.u-w50 width: 6.6667vw; 宽度50px mobile
.u-w60 width: 8vw; 宽度60px mobile
.u-w70 width: 9.3333vw; 宽度70px mobile
.u-w80 width: 10.6667vw; 宽度80px mobile
.u-w90 width: 12vw; 宽度90px mobile
.u-w100 width: 13.3333vw; 宽度100px mobile
.u-w150 width: 19.9995vw 宽度150px mobile
.u-w200 width: 26.6667vw 宽度200px mobile
.u-h height: 100% 高度100% mobile/PC
.u-h10 height: 1.3333vw; 高度10px mobile
.u-h20 height: 2.6667vw; 高度20px mobile
.u-h30 height: 4vw; 高度30px mobile
.u-h40 height: 5.3333vw; 高度40px mobile
.u-h50 height: 6.6667vw; 高度50px mobile
.u-h60 height: 8vw; 高度60px mobile
.u-h70 height: 9.3333vw; 高度70px mobile
.u-h80 height: 10.6667vw; 高度80px mobile
.u-h90 height: 12vw; 高度90px mobile
.u-h100 height: 13.3333vw; 高度100px mobile
.u-h150 height: 19.9995vw 高度150px mobile
.u-h200 height: 26.6667vw 高度200px mobile
.u-p10 padding: 1.3333vw; padding四边均为10px mobile
.u-p15 padding: 1.99995vw; padding四边均为10px mobile
.u-p20 padding: 2.6667vw; padding四边均为20px mobile
.u-p30 padding: 4vw; padding四边均为30px mobile
.u-pt10 padding-top: 1.3333vw; 上内边距10px mobile
.u-pt15 padding-top: 1.3333vw; 上内边距15px mobile
.u-pt20 padding-top: 2.6667vw; 上内边距20px mobile
.u-pt30 padding-top: 4vw; 上内边距30px mobile
.u-pt40 padding-top: 5.3333vw; 上内边距40px mobile
.u-pt50 padding-top: 6.6667vw; 上内边距50px mobile
.u-pt60 padding-top: 8vw; 上内边距60px mobile
.u-pt70 padding-top: 9.3333vw; 上内边距70px mobile
.u-pt80 padding-top: 10.6667vw; 上内边距80px mobile
.u-pt90 padding-top: 12vw; 上内边距90px mobile
.u-pt100 padding-top: 13.3333vw; 上内边距100px mobile
.u-pr4per padding-right: 4%; 右内边距4% mobile/PC
.u-pr10 padding-right: 1.3333vw; 右内边距10px mobile
.u-pr15 padding-right: 1.3333vw; 右内边距15px mobile
.u-pr20 padding-right: 2.6667vw; 右内边距20px mobile
.u-pr30 padding-right: 4vw; 右内边距30px mobile
.u-pr40 padding-right: 5.3333vw; 右内边距40px mobile
.u-pr50 padding-right: 6.6667vw; 右内边距50px mobile
.u-pr60 padding-right: 8vw; 右内边距60px mobile
.u-pr70 padding-right: 9.3333vw; 右内边距70px mobile
.u-pr80 padding-right: 10.6667vw; 右内边距80px mobile
.u-pr90 padding-right: 12vw; 右内边距90px mobile
.u-pr100 padding-right: 13.3333vw; 右内边距100px mobile
.u-pb10 padding-bottom: 1.3333vw; 下内边距10px mobile
.u-pb15 padding-bottom: 1.3333vw; 下内边距15px mobile
.u-pb20 padding-bottom: 2.6667vw; 下内边距20px mobile
.u-pb30 padding-bottom: 4vw; 下内边距30px mobile
.u-pb40 padding-bottom: 5.3333vw; 下内边距40px mobile
.u-pb50 padding-bottom: 6.6667vw; 下内边距50px mobile
.u-pb60 padding-bottom: 8vw; 下内边距60px mobile
.u-pb70 padding-bottom: 9.3333vw; 下内边距70px mobile
.u-pb80 padding-bottom: 10.6667vw; 下内边距80px mobile
.u-pb90 padding-bottom: 12vw; 下内边距90px mobile
.u-pb100 padding-bottom: 13.3333vw; 下内边距100px mobile
.u-pl4per padding-left: 4%; 左内边距4% mobile/PC
.u-pl10 padding-left: 1.3333vw; 左内边距10px mobile
.u-pl15 padding-left: 1.3333vw; 左内边距15px mobile
.u-pl20 padding-left: 2.6667vw; 左内边距20px mobile
.u-pl30 padding-left: 4vw; 左内边距30px mobile
.u-pl40 padding-left: 5.3333vw; 左内边距40px mobile
.u-pl50 padding-left: 6.6667vw; 左内边距50px mobile
.u-pl60 padding-left: 8vw; 左内边距60px mobile
.u-pl70 padding-left: 9.3333vw; 左内边距70px mobile
.u-pl80 padding-left: 10.6667vw; 左内边距80px mobile
.u-pl90 padding-left: 12vw; 左内边距90px mobile
.u-pl100 padding-left: 13.3333vw; 左内边距100px mobile
.u-flex display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; 设置flex布局 mobile/PC
.u-s-middle display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;-webkit-justify-content: space-around; justify-content: space-around; -webkit-align-items: center; align-items: center; 垂直居中,水平距两端留白平铺 mobile/PC
.u-l-middle display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;-webkit-box-align: center; -webkit-align-items: center; align-items: center; 垂直居中,水平靠左 mobile/PC
.u-c-middle display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;-webkit-box-align: center; -webkit-align-items: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; justify-content: center; 垂直居中,水平居中 mobile/PC
.u-j-middle display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;-webkit-box-align: center; -webkit-align-items: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; 垂直居中,水平贴两端平铺 mobile/PC
.u-r-middle display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;-webkit-box-align: center; -webkit-align-items: center; align-items: center; -webkit-box-pack: end; -webkit-justify-content: flex-end; justify-content: flex-end; 垂直居中,水平靠右 mobile/PC
  • 注意:PC版.u-w*/.u-h*/.u-pt*/.u-pr*/.u-pb*/.u-pl*单位跨度从10px到200px,如.u-w10, ... , .u-w200

function

类/属性名 属性 说明 平台
.f-wk_reset -webkit-appearance: none; 清除webkit默认样式 mobile/PC
.f-bg_cover, [f-bg_cover] background-repeat: no-repeat; background-position: 0 0; background-size: 100% 100%; 背景图片填充整个容器 mobile/PC
.f-ovhidden overflow: hidden; 溢出隐藏 mobile/PC
.f-scroll_y overflow-y: auto; 竖向滚动条自动 mobile/PC
.f-ellipsis white-space: nowrap; text-overflow: ellipsis; overflow: hidden; 单行文字超出显示'...' mobile/PC
.f-equal margin-bottom: -9999px; padding-bottom: 9999px; 多列等高 mobile/PC
.f-tl text-align: left; 文字左对齐 mobile/PC
.f-tc text-align: center; 文字居中对齐 mobile/PC
.f-tr text-align: right; 文字右对齐 mobile/PC
.f-tj -webkit-margin-start: 0; -webkit-margin-end: 0; text-align: justify; 文字两端对齐 mobile/PC
.f-vt vertical-align: top; 行元素垂直对齐方式为顶部 mobile/PC
.f-vm vertical-align: middle; 行元素垂直对齐方式为居中 mobile/PC
.f-vb vertical-align: bottom; 行元素垂直对齐方式为居底 mobile/PC
.f-fl float: left; display: inline; 左浮动 mobile/PC
.f-fr float: right; display: inline; 右浮动 mobile/PC
.f-cb clear: both; 两侧请浮动 mobile/PC
.f-cl clear: left; 左侧请浮动 mobile/PC
.f-cr clear: right; 右侧请浮动 mobile/PC
.f-nowrap white-space: nowrap; 保持文字不换行 mobile/PC
.f-normal font-weight: normal; 字体大小为普通 mobile/PC
.f-bold font-weight: bold; 文字大小为粗体 mobile/PC
.f-ti2 text-indent: 2em; 段落首行缩进2个字符 mobile/PC
.f-ft_italic font-style: italic; 文字斜体 mobile/PC
.f-unl text-decoration: underline; 文字加下划线 mobile/PC
.f-unl_none text-decoration: none; 文字取消下划线 mobile/PC
.f-bdr10 border-radius: 5px; 圆角5px,移动为10px mobile/PC
.f-bdr8 border-radius: 4px; 圆角4px,移动为8px mobile/PC
.f-clear height: 0px; line-height: 0px; font-size: 0px; clear: both; overflow: hidden; zoom: 1; 清浮动 PC
.f-tap_reset -webkit-tap-highlight-color: rgba(0, 0, 0, 0); 取消移动端触控蒙层 mobile
.f-song_font font-family: "宋体"; 使用宋体文字 PC
.f-yahei_font font-family: "Microsoft Yahei"; 使用微软雅黑文字 PC

component

类/属性名 属性 说明 平台
.u-icon, .u-btn display: block; 按钮/图标设置为块元素 mobile/PC
.u-icon_il, .u-btn_il display: inline-block; 按钮/图标设置为行内块元素 mobile/PC
.f-pclass position: relative;&:before,&:after {position: absolute;content: '';} 设置伪元素,通常用作图形或1px边框 mobile/PC
.f-b_1px position: relative; &:after{ position: absolute; content: ''; background-color: @border-gray;} 设置retina屏幕边框1px,需要配合.bt_1px/.br_1px/.bb_1px/.bl_1px使用 mobile/PC
.bt_1px left: 0; width: 100%; height: 1px; -webkit-transform: scale(1, 0.5); transform: scale(1, 0.5); top: 0; 设置上边框1px mobile/PC
.bb_1px left: 0; width: 100%; height: 1px; -webkit-transform: scale(1, 0.5); transform: scale(1, 0.5); bottom: 0; 设置下边框1px mobile/PC
.br_1px top: 0; width: 1px; height: 100%; -webkit-transform: scale(0.5, 1); transform: scale(0.5, 1); right: 0; 设置右边框1px mobile/PC
.bl_1px top: 0; width: 1px; height: 100%; -webkit-transform: scale(0.5, 1); transform: scale(0.5, 1); left: 0; 设置左边框1px mobile/PC
.u-btn, .u-btn_il padding: 0; text-align: center; border-radius: 4px; 设置按钮基础样式,赋值样式见下表button mobile/PC
.u-mask z-index: 18; position: fixed; top: 0; bottom: 0; left: 0; right: 0; width: 100%; background-color: rgba(0, 0, 0, 0.3); 固定黑色蒙层 mobile/PC
.u-win, .u-dialog position: fixed; z-index: 19; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); 弹窗基础样式 mobile/PC
button(component)

*为.u-btn/.u-btn_il的附加样式

类/属性名 属性 说明 平台
[no-bdr] border-radius: 0 按钮无圆角 mobile/PC
[s-color="yellow"] background-color: #f1ae3f; color: #fff; 黄色按钮 mobile/PC
[s-color="orange"] background-color: #ff7010; color: #fff; 橙色按钮 mobile/PC
[s-color="red"] background-color: #cf0e0f; color: #fff; 红色按钮 mobile/PC
[s-color="gray"] background-color: #ccc; color: #fff; 灰色按钮 mobile/PC
[s-color="bd_gray"] border: thin solid #999; color: #999; 灰色边框按钮 mobile/PC
[s-color="bd_white"] border: thin solid #fff; color: #999; 白色边框按钮 mobile/PC
[s-color="bd_yellow"] border: thin solid #f1ae3f; color: #f1ae3f; 黄色边框按钮 mobile/PC
[s-color="bd_red"] border: thin solid #cf0e0f; color: #cf0e0f; 红色边框按钮 mobile/PC
[s-color="small"] line-height: 26px; font-size: 12px; 小号按钮 mobile/PC
[s-color="medium"] line-height: 42px; font-size: 16px; 中号按钮 mobile/PC
[s-color="big"] line-height: 50px; font-size: 17px; 大号按钮 mobile/PC

skin

类/属性名 属性 说明 平台
[s-cr_red] color: #fe5d4e; 字体颜色为红色 mobile/PC
[s-cr_green] color: #009801; 字体颜色为绿色 mobile/PC
[s-cr_blue] color: #01a2fc; 字体颜色为蓝色 mobile/PC
[s-cr_gray] color: #999; 字体颜色为灰色 mobile/PC
[s-cr_white] color: #fff; 字体颜色为白色 mobile/PC
[s-ft_base] color: #323232; 字体颜色为文本基础颜色 mobile/PC
[s-ft_base_] color: #333; 字体颜色为文本第二种基础颜色 mobile/PC
[s-ft_sub] color: #666; 字体颜色为次文字颜色 mobile/PC
[s-ft_sub_] color: #999; 字体颜色为第二种次文字颜色 mobile/PC
[s-bgc_red] background-color: #fe5d4e; 背景颜色为红色 mobile/PC
[s-bgc_green] background-color: #009801; 背景颜色为绿色 mobile/PC
[s-bgc_blue] background-color: #01a2fc; 背景颜色为蓝色 mobile/PC
[s-bgc_gray] background-color: #999; 背景颜色为灰色 mobile/PC
[s-bgc_white] background-color: #fff; 背景颜色为白色 mobile/PC

status

类/属性名 属性 说明 平台
.z-hide display: none !important; 元素隐藏,最高优先级 mobile/PC
.z-v_hidden visibility: hidden; 元素视觉隐藏 mobile/PC
.z-v_visible visibility: visible; 元素视觉显示 mobile/PC
.z-hide_0 opacity: 0; 透明度为0 mobile/PC
.z-hide_30 opacity: 30; 透明度为30%(PC带有filter:aplpha(opacity=透明度)兼容处理,下面的相同) mobile/PC
.z-hide_60 opacity: 60; 透明度为60% mobile/PC
.z-hide_90 opacity: 90; 透明度为90% mobile/PC
.z-index_ z-index: -1; z轴层级为-1 mobile/PC
.z-index_999 z-index: 999; z轴层级为999 mobile/PC

样式模块词典

grid(g-)

属性 说明 CSS版本
box-sizing 设置要应用盒子尺寸相关属性的元素 3
margin 设置元素盒子四个外边距宽度的简写属性 1
margin-bottom 设置盒子下外边距的宽度 1
margin-left 设置盒子左外边距的宽度 1
margin-right 设置盒子右外边距的宽度 1
margin-top 设置盒子上外边距的宽度 1
bottom 设置元素下外边距边界与包含块下边界之间的偏移 2
left 设置元素左外边距边界与包含块左边界之间的偏移 2
position 设置元素的定位方法 2
right 设置元素右外边距边界与包含块右边界之间的偏移 2
top 设置元素上外边距边界与包含块上边界之间的偏移 2
font 在一条声明中设置文本字体、大小和颜色的简写属性 1
line-height 设置行高 1

function(f-)

属性 说明 CSS版本
background-attachment 设置元素的背景附着属性,决定背景图片是否随页面一起滚动 1
background-clip 设置元素背景颜色和图像的裁剪区域 3
background-origin 设置背景图像绘制的起始位置 3
background-position 设置背景图像在元素盒子中的位置 1
background-repeat 设置背景图像的重复方式 1
background-size 设置背景图像的绘制尺寸 3
border 为所有边界设置所有边框宽度的简写属性 1
border-bottom 为所有下边框设置宽度的简写属性 1
border-bottom-left-radius 将边框左下角设置为圆角 3
border-bottom-right-radius 将边框右下角设置为圆角 3
border-bottom-style 设置元素下边框的样式 1
border-image-repeat 指定边框图像的缩放和重复方式 3
border-image-slice 指定边框图像的切割方式 3
border-left 设置元素左边框的简写属性 1
border-left-style 设置左边框的样式 1
border-radius 指定圆角边框的简写属性 3
border-right 设置元素右边框的简写属性 1
border-right-style 设置右边框的样式 1
border-style 设置所有边框样式的简写属性 1
border-top 为所有上边框设置宽度的简写属性 1
border-top-left-radius 将边框左上角设置为圆角 3
border-top-right-radius 将边框右上角设置为圆角 3
border-top-style 设置元素上边框的样式 1
outline-offset 设置轮廓距离元素边框边缘的偏移量 2
outline-style 设置轮廓的样式 2
outline 在一条声明中设置轮廓的简写属性 2
clear 设置盒子的左边界、右边界或左右两个边界不允许出现浮动元素 1
float 将元素移动到其包含块的左边界或者右边界,或者另一个浮动元素的边界 1
overflow 设置内容横向和竖向溢出盒子时处理方式的简写属性 2
overflow-x 设置内容横向溢出盒子时的处理方式 3
overflow-y 设置内容纵向溢出盒子时的处理方式 3
font 在一条声明中设置文本字体、大小和颜色的简写属性 1
font-family 指定文本所用的字体系列,排在前面的优先使用 1
font-style 指定采用正常字体、斜体还是倾斜字体 1
font-variant 指定字体是否以小型大写字母显示 1
font-weight 指定文本粗细 1
letter-spacing 设置字母间距 1
text-align 设置文本对齐方式 1
text-decoration 规定添加到文本的修饰(如下划线) 1
text-indent 规定文本块中首行文本的缩进 1
text-justify 设置文本对齐方式 3
word-spacing 指定单词间距 1
border-collapse 指定表格相邻单元格边框的显示样式 2
border-spacing 指定相邻单元格的边框的距离 2
cursor 指定光标的形状 2
empty-cells 指定是否显示表格中的空单元格 2
list-style 设置列表样式的简写属性 1
list-style-type 指定列表项标记的类型 1
transform 指定应用于元素的变换 3
transform-origin 指定元素变换的起点 3
text-transform 属性控制文本的大小写 1
direction 指定文本方向 2

unit(u-)

属性 说明 CSS版本
align-items flex子项在flex容器的当前行的侧轴(纵轴)方向上的对齐方式 3
justify-content 用于设置或检索弹性盒子元素在主轴(横轴)方向上的对齐方式 3
caption-side 指定表格标题的位置 2
list-style-position 指定列表项标记相对于列表项内容的位置 1
table-layout 指定表格单元格、行和列的算法规则 2
border-bottom-width 设置元素下边框的宽度 1
border-image-width 设置边框图像的宽度 3
border-left-width 设置左边框的宽度 1
border-right-width 设置右边框的宽度 1
border-top-width 设置元素上边框的宽度 1
border-width 设置四个边框的宽度 1
outline-width 设置轮廓的宽度 2
outline 在一条声明中设置轮廓的简写属性 2
display 设置元素盒子的类型 1
height 设置元素盒子的高度 1
max-height 设置元素的最大高度 2
max-width 设置元素的最大宽度 2
min-height 设置元素的最小高度 2
min-width 设置元素的最小宽度 2
padding 设置元素盒子四个内边距宽度的简写属性 1
padding-bottom 设置盒子下内边距的宽度 1
padding-left 设置盒子左内边距的宽度 1
padding-right 设置盒子右内边距的宽度 1
padding-top 设置盒子上内边距的宽度 1
width 设置元素的宽度 1
column-count 指定多列布局的列数 3
column-fill 多列布局中列与列之间的内容如何发布 3
column-gap 指定多列布局中列与列之间的间隔 3
column-rule 多列布局中定义列与列之间的规则的简写属性 3
column-rule-color 设置多列布局中的颜色规划 3
column-rule-style 设置多列布局中的样式规则 3
column-rule-width 设置多列布局中的宽度规则 3
columns 在多列布局中设置列数和列宽度的简写属性 3
column-span 指定多列布局中元素能跨多少列 3
column-width 设置多列布局中列的宽度 3
flex-align、flex-direction、flex-order、flex-pack 它们都是由弹性盒子布局定义的 3

status(z-)

属性 说明 CSS版本
visibility 设置元素的可见性 2
z-index 设置定位元素的堆叠顺序 2
opacity 设置元素的透明度 3
display 指定元素在页面上的显示方式 1

skin(s-)

属性 说明 CSS版本
color 设置元素的前景色 1
list-style-image 指定列表项标记使用的图像 1
text-shadow 指定文本块的阴影效果 3
box-shadow 设置元素的一个或者多个阴影效果 3
outline-color 设置元素边框外围轮廓线的颜色 2
border-top-color 为所有上边框设置颜色 1
border-right-color 设置右边框的颜色 1
border-left-color 设置左边框的颜色 1
border-bottom-color 为所有下边框设置颜色 1
background-color 设置背景颜色 1

animation(a-)

属性 说明 CSS版本
transition 指定CSS属性过渡效果的简写属性 3
transition-delay 指定触发过渡的延迟时间 3
transition-duration 指定过渡的持续时间 3
transition-property 指定带有过渡效果的属性 3
transition-timing-function 指定过渡期间计算中间属性值的函数 3
animation 设置动画的简写属性 3
animation-deplay 指定动画开始前的延迟时间 3
animation-direction 指定动画重复播放时的播放方向 3
animation-duration 指定动画的持续时间 3
animation-iteration-count 指定动画的循环次数 3
animation-name 指定用于动画的关键帧集合的名称 3
animation-play-state 指定动画状态(播放或暂停) 3
animation-timing-function 指定关键帧之间计算属性值的函数 3

moo-css-base词典

颜色

变量 十六进制色值 说明 效果
body_bg #efeef5 灰-页面背景
part_bg #fff 白-模块背景
font-base #323232 黑,正文-1
font-base_ #333 黑,正文-2
font-sub #666 灰色-正文
font-sub_ #999 浅灰-次要文字
font-link #11a6fc 蓝色-链接
font-up #fe5d4e 红色-涨
font-down #009801 绿色-跌
button-red #cf0e0f 红色,按钮
button-orange #ff7010 橙色,按钮
button-yellow #f1ae3f 黄色,按钮
button-gray #ccc 灰色,按钮
button-disable #d6d6d6 灰色,按钮不可用
border-gray #e2e2e2 边框-灰
red #fe5d4e 红色-涨、按钮
orange-light #ff8f2e 浅橙
orange #ff7010 橙色
yellow #f1ae3f 黄色
green #009801 绿色
blue #01a2fc 蓝色
gray #d3d6d8 灰色
gray-light #999 浅灰色
white #fff 白色

方法

方法名 参数 说明 平台
unit name, px 设置vw属性,name为属性名,px为像素值,如less:.unit(width, 100) mobile
wh width, height 设置宽高 mobile/PC
square width 设置正方形(宽高相等) mobile/PC
hh height 设置高度同时设置行高,height=line-height mobile/PC
font font-size, line-height 设置字体大小及行高,如less:.font(24px, 40px) mobile/PC
sc font-size, color 设置字体大小及颜色,如less:.sc(26px, #ccc) mobile/PC
mulit-ellipsis maxline 多行文字溢出展示"...",如less: .mulit-ellipsis(2) mobile/PC
pseudo-class - 设置伪元素布局,通常用作css图形、边框1px mobile/PC
font-DIN - font-family使用DIN字体 mobile
position top, left 设置top及left,如less:.position(10%, 15vh) mobile/PC
bis url 设置背景图且填充整个容器,如.bis('https://github.com/MichealWayne/Moo-CSS/raw/master/docs/logo.png') mobile/PC
blur range 设置模糊,range为模糊半径 mobile/PC
center - 水平垂直居中定位 mobile/PC
fixed-mask - 设置fixed全屏布局样式 mobile/PC
border-top-radius radius 单边圆角,上边 mobile/PC
border-right-radius radius 单边圆角,右边 mobile/PC
border-bottom-radius radius 单边圆角,下边 mobile/PC
border-left-radius radius 单边圆角,左边 mobile/PC
set-scroll color 设置滚动条颜色,需要hsl颜色,如less:.setScroll(hsla(200, 100%, 54%, 1)) mobile
set-scroll-elastic - 设置滚动区域带弹性效果(IOS) mobile
min-width min-width 设置最小宽度且兼容IE6 PC
min-height min-height 设置最小高度且兼容IE6 PC
dib - 内联块级元素, 兼容IE6 PC
fixed - 固定定位, 兼容IE6 PC
fl - 左浮动, 兼容 IE6 PC
fr - 右浮动, 兼容 IE6 PC
clearfix - 清除浮动 PC
no-select - 禁止文字选中 PC
bg-variant color 按钮颜色设置(hover及focus颜色加深) PC
opacity opacity 设置透明度,兼容 IE6 PC

样式

grid

类/属性名 属性 说明 平台
.g-box_b -webkit-box-sizing: border-box; box-sizing: border-box; 对元素指定宽度和高度包括了 padding 和 border 。 mobile/PC
.g-box_c -webkit-box-sizing: content-box; box-sizing: content-box; 指定元素的宽度和高度(最小/最大属性)适用于box的宽度和高度。元素的填充和边框布局和绘制指定宽度和高度除外。 mobile/PC
.g-center margin-left: auto;margin-right: auto; 块元素居中。 mobile/PC
.g-pf position: fixed; 设置固定定位 mobile/PC
.g-pr position: relative; 设置相对定位 mobile/PC
.g-pa position: absolute; 设置绝对定位 mobile/PC
.g-fs10 font-size: 1.3333vw; 字体大小为10px(750px设计稿,1vw=7.5px响应式,后续移动长度单位同此) mobile
.g-fs12 font-size: 1.6vw; 字体大小为12px mobile
.g-fs14 font-size: 1.8667vw; 字体大小为14px mobile
.g-fs16 font-size: 2.1333vw; 字体大小为16px mobile
.g-fs18 font-size: 2.4vw; 字体大小为18px mobile
.g-fs20 font-size: 2.6667vw; 字体大小为20px mobile
.g-fs22 font-size: 2.9333vw; 字体大小为22px mobile
.g-fs24 font-size: 3.2vw; 字体大小为24px mobile
.g-fs26 font-size: 3.4667vw; 字体大小为26px mobile
.g-fs28 font-size: 3.7333vw; 字体大小为28px mobile
.g-fs30 font-size: 4vw; 字体大小为30px mobile
.g-fs32 font-size: 4.2667vw; 字体大小为32px mobile
.g-fs34 font-size: 4.5333vw; 字体大小为34px mobile
.g-fs36 font-size: 4.8vw; 字体大小为36px mobile
.g-fs38 font-size: 5.0667vw; 字体大小为38px mobile
.g-fs40 font-size: 5.3333vw; 字体大小为40px mobile
.g-lh150per line-height: 1.5; 行高1.5 mobile/PC
.g-lh180per line-height: 1.8; 行高1.8 mobile/PC
.g-lh200per line-height: 2; 行高2 mobile/PC
.g-m20 margin: 2.6667vw; margin四边均为20px mobile
.g-m30 margin: 4vw; margin四边均为30px mobile
.g-m40 margin: 5.3333vw; margin四边均为40px mobile
.g-m50 margin: 6.6667vw; margin四边均为60px mobile
.g-mt10 margin-top: 1.3333vw; 上边距10px mobile
.g-mt20 margin-top: 2.6667vw; 上边距20px mobile
.g-mt30 margin-top: 4vw; 上边距30px mobile
.g-mt40 margin-top: 5.3333vw; 上边距40px mobile
.g-mt50 margin-top: 6.6667vw; 上边距50px mobile
.g-mt60 margin-top: 8vw; 上边距60px mobile
.g-mt70 margin-top: 9.3333vw; 上边距70px mobile
.g-mt80 margin-top: 10.6667vw; 上边距80px mobile
.g-mt90 margin-top: 12vw; 上边距90px mobile
.g-mt100 margin-top: 13.3333vw; 上边距100px mobile
.g-mr10 margin-right: 1.3333vw; 右边距10px mobile
.g-mr20 margin-right: 2.6667vw; 右边距20px mobile
.g-mr30 margin-right: 4vw; 右边距30px mobile
.g-mr40 margin-right: 5.3333vw; 右边距40px mobile
.g-mr50 margin-right: 6.6667vw; 右边距50px mobile
.g-mr60 margin-right: 8vw; 右边距60px mobile
.g-mr70 margin-right: 9.3333vw; 右边距70px mobile
.g-mr80 margin-right: 10.6667vw; 右边距80px mobile
.g-mr90 margin-right: 12vw; 右边距90px mobile
.g-mr100 margin-right: 13.3333vw; 右边距100px mobile
.g-mb10 margin-bottom: 1.3333vw; 下边距10px mobile
.g-mb20 margin-bottom: 2.6667vw; 下边距20px mobile
.g-mb30 margin-bottom: 4vw; 下边距30px mobile
.g-mb40 margin-bottom: 5.3333vw; 下边距40px mobile
.g-mb50 margin-bottom: 6.6667vw; 下边距50px mobile
.g-mb60 margin-bottom: 8vw; 下边距60px mobile
.g-mb70 margin-bottom: 9.3333vw; 下边距70px mobile
.g-mb80 margin-bottom: 10.6667vw; 下边距80px mobile
.g-mb90 margin-bottom: 12vw; 下边距90px mobile
.g-mb100 margin-bottom: 13.3333vw; 下边距100px mobile
.g-ml10 margin-left: 1.3333vw; 左边距10px mobile
.g-ml20 margin-left: 2.6667vw; 左边距20px mobile
.g-ml30 margin-left: 4vw; 左边距30px mobile
.g-ml40 margin-left: 5.3333vw; 左边距40px mobile
.g-ml50 margin-left: 6.6667vw; 左边距50px mobile
.g-ml60 margin-left: 8vw; 左边距60px mobile
.g-ml70 margin-left: 9.3333vw; 左边距70px mobile
.g-ml80 margin-left: 10.6667vw; 左边距80px mobile
.g-ml90 margin-left: 12vw; 左边距90px mobile
.g-ml100 margin-left: 13.3333vw; 左边距100px mobile
  • 注意:PC版.g-fs单位跨度从10px到40px,如.g-fs10, ... , .g-fs40;..g-mt/.g-mr*/.g-mb*/.g-ml*单位跨度从10px到200px,如.g-mt10, ... , .g-mt200

unit

类/属性名 属性 说明 平台
.u-block display: block 设置为块元素 mobile/PC
.u-block_il display: inline-block 设置为行内块元素 mobile/PC
.u-inline display: inline 设置为行内元素 mobile/PC
.u-w display: block; width: 100%; 块元素宽度100% mobile/PC
.u-w92per display: block; width: 92%; 块元素宽度92% mobile/PC
.u-w50per display: block; width: 50%; 块元素宽度50% mobile/PC
.u-w10 width: 1.3333vw; 宽度10px mobile
.u-w20 width: 2.6667vw; 宽度20px mobile
.u-w30 width: 4vw; 宽度30px mobile
.u-w40 width: 5.3333vw; 宽度40px mobile
.u-w50 width: 6.6667vw; 宽度50px mobile
.u-w60 width: 8vw; 宽度60px mobile
.u-w70 width: 9.3333vw; 宽度70px mobile
.u-w80 width: 10.6667vw; 宽度80px mobile
.u-w90 width: 12vw; 宽度90px mobile
.u-w100 width: 13.3333vw; 宽度100px mobile
.u-w150 width: 19.9995vw 宽度150px mobile
.u-w200 width: 26.6667vw 宽度200px mobile
.u-h height: 100% 高度100% mobile/PC
.u-h10 height: 1.3333vw; 高度10px mobile
.u-h20 height: 2.6667vw; 高度20px mobile
.u-h30 height: 4vw; 高度30px mobile
.u-h40 height: 5.3333vw; 高度40px mobile
.u-h50 height: 6.6667vw; 高度50px mobile
.u-h60 height: 8vw; 高度60px mobile
.u-h70 height: 9.3333vw; 高度70px mobile
.u-h80 height: 10.6667vw; 高度80px mobile
.u-h90 height: 12vw; 高度90px mobile
.u-h100 height: 13.3333vw; 高度100px mobile
.u-h150 height: 19.9995vw 高度150px mobile
.u-h200 height: 26.6667vw 高度200px mobile
.u-p10 padding: 1.3333vw; padding四边均为10px mobile
.u-p15 padding: 1.99995vw; padding四边均为10px mobile
.u-p20 padding: 2.6667vw; padding四边均为20px mobile
.u-p30 padding: 4vw; padding四边均为30px mobile
.u-pt10 padding-top: 1.3333vw; 上内边距10px mobile
.u-pt15 padding-top: 1.3333vw; 上内边距15px mobile
.u-pt20 padding-top: 2.6667vw; 上内边距20px mobile
.u-pt30 padding-top: 4vw; 上内边距30px mobile
.u-pt40 padding-top: 5.3333vw; 上内边距40px mobile
.u-pt50 padding-top: 6.6667vw; 上内边距50px mobile
.u-pt60 padding-top: 8vw; 上内边距60px mobile
.u-pt70 padding-top: 9.3333vw; 上内边距70px mobile
.u-pt80 padding-top: 10.6667vw; 上内边距80px mobile
.u-pt90 padding-top: 12vw; 上内边距90px mobile
.u-pt100 padding-top: 13.3333vw; 上内边距100px mobile
.u-pr4per padding-right: 4%; 右内边距4% mobile/PC
.u-pr10 padding-right: 1.3333vw; 右内边距10px mobile
.u-pr15 padding-right: 1.3333vw; 右内边距15px mobile
.u-pr20 padding-right: 2.6667vw; 右内边距20px mobile
.u-pr30 padding-right: 4vw; 右内边距30px mobile
.u-pr40 padding-right: 5.3333vw; 右内边距40px mobile
.u-pr50 padding-right: 6.6667vw; 右内边距50px mobile
.u-pr60 padding-right: 8vw; 右内边距60px mobile
.u-pr70 padding-right: 9.3333vw; 右内边距70px mobile
.u-pr80 padding-right: 10.6667vw; 右内边距80px mobile
.u-pr90 padding-right: 12vw; 右内边距90px mobile
.u-pr100 padding-right: 13.3333vw; 右内边距100px mobile
.u-pb10 padding-bottom: 1.3333vw; 下内边距10px mobile
.u-pb15 padding-bottom: 1.3333vw; 下内边距15px mobile
.u-pb20 padding-bottom: 2.6667vw; 下内边距20px mobile
.u-pb30 padding-bottom: 4vw; 下内边距30px mobile
.u-pb40 padding-bottom: 5.3333vw; 下内边距40px mobile
.u-pb50 padding-bottom: 6.6667vw; 下内边距50px mobile
.u-pb60 padding-bottom: 8vw; 下内边距60px mobile
.u-pb70 padding-bottom: 9.3333vw; 下内边距70px mobile
.u-pb80 padding-bottom: 10.6667vw; 下内边距80px mobile
.u-pb90 padding-bottom: 12vw; 下内边距90px mobile
.u-pb100 padding-bottom: 13.3333vw; 下内边距100px mobile
.u-pl4per padding-left: 4%; 左内边距4% mobile/PC
.u-pl10 padding-left: 1.3333vw; 左内边距10px mobile
.u-pl15 padding-left: 1.3333vw; 左内边距15px mobile
.u-pl20 padding-left: 2.6667vw; 左内边距20px mobile
.u-pl30 padding-left: 4vw; 左内边距30px mobile
.u-pl40 padding-left: 5.3333vw; 左内边距40px mobile
.u-pl50 padding-left: 6.6667vw; 左内边距50px mobile
.u-pl60 padding-left: 8vw; 左内边距60px mobile
.u-pl70 padding-left: 9.3333vw; 左内边距70px mobile
.u-pl80 padding-left: 10.6667vw; 左内边距80px mobile
.u-pl90 padding-left: 12vw; 左内边距90px mobile
.u-pl100 padding-left: 13.3333vw; 左内边距100px mobile
.u-flex display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; 设置flex布局 mobile/PC
.u-s-middle display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;-webkit-justify-content: space-around; justify-content: space-around; -webkit-align-items: center; align-items: center; 垂直居中,水平距两端留白平铺 mobile/PC
.u-l-middle display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;-webkit-box-align: center; -webkit-align-items: center; align-items: center; 垂直居中,水平靠左 mobile/PC
.u-c-middle display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;-webkit-box-align: center; -webkit-align-items: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; justify-content: center; 垂直居中,水平居中 mobile/PC
.u-j-middle display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;-webkit-box-align: center; -webkit-align-items: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; 垂直居中,水平贴两端平铺 mobile/PC
.u-r-middle display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;-webkit-box-align: center; -webkit-align-items: center; align-items: center; -webkit-box-pack: end; -webkit-justify-content: flex-end; justify-content: flex-end; 垂直居中,水平靠右 mobile/PC
  • 注意:PC版.u-w*/.u-h*/.u-pt*/.u-pr*/.u-pb*/.u-pl*单位跨度从10px到200px,如.u-w10, ... , .u-w200

function

类/属性名 属性 说明 平台
.f-wk_reset -webkit-appearance: none; 清除webkit默认样式 mobile/PC
.f-bg_cover, [f-bg_cover] background-repeat: no-repeat; background-position: 0 0; background-size: 100% 100%; 背景图片填充整个容器 mobile/PC
.f-ovhidden overflow: hidden; 溢出隐藏 mobile/PC
.f-scroll_y overflow-y: auto; 竖向滚动条自动 mobile/PC
.f-ellipsis white-space: nowrap; text-overflow: ellipsis; overflow: hidden; 单行文字超出显示'...' mobile/PC
.f-equal margin-bottom: -9999px; padding-bottom: 9999px; 多列等高 mobile/PC
.f-tl text-align: left; 文字左对齐 mobile/PC
.f-tc text-align: center; 文字居中对齐 mobile/PC
.f-tr text-align: right; 文字右对齐 mobile/PC
.f-tj -webkit-margin-start: 0; -webkit-margin-end: 0; text-align: justify; 文字两端对齐 mobile/PC
.f-vt vertical-align: top; 行元素垂直对齐方式为顶部 mobile/PC
.f-vm vertical-align: middle; 行元素垂直对齐方式为居中 mobile/PC
.f-vb vertical-align: bottom; 行元素垂直对齐方式为居底 mobile/PC
.f-fl float: left; display: inline; 左浮动 mobile/PC
.f-fr float: right; display: inline; 右浮动 mobile/PC
.f-cb clear: both; 两侧请浮动 mobile/PC
.f-cl clear: left; 左侧请浮动 mobile/PC
.f-cr clear: right; 右侧请浮动 mobile/PC
.f-nowrap white-space: nowrap; 保持文字不换行 mobile/PC
.f-normal font-weight: normal; 字体大小为普通 mobile/PC
.f-bold font-weight: bold; 文字大小为粗体 mobile/PC
.f-ti2 text-indent: 2em; 段落首行缩进2个字符 mobile/PC
.f-ft_italic font-style: italic; 文字斜体 mobile/PC
.f-unl text-decoration: underline; 文字加下划线 mobile/PC
.f-unl_none text-decoration: none; 文字取消下划线 mobile/PC
.f-bdr10 border-radius: 5px; 圆角5px,移动为10px mobile/PC
.f-bdr8 border-radius: 4px; 圆角4px,移动为8px mobile/PC
.f-clear height: 0px; line-height: 0px; font-size: 0px; clear: both; overflow: hidden; zoom: 1; 清浮动 PC
.f-tap_reset -webkit-tap-highlight-color: rgba(0, 0, 0, 0); 取消移动端触控蒙层 mobile
.f-song_font font-family: "宋体"; 使用宋体文字 PC
.f-yahei_font font-family: "Microsoft Yahei"; 使用微软雅黑文字 PC
.f-event_none pointer-events: none; 事件穿透 mobile/PC (0.9.2起)
.f-inline_wrap content: "\A"; white-space: pre; 使行内元素换行 mobile/PC(0.9.2起)
.f-cursor_p cursor: pointer 鼠标覆盖交互为链接效果 PC(0.9.2起)
.f-cursor_none cursor: default 鼠标覆盖交互为默认鼠标效果 PC(0.9.2起)
.f-cursor_not cursor: not-allowed 鼠标覆盖交互为禁止效果 PC(0.9.2起)
.f-noselect -webkit-user-select: none; user-select: none; 禁止文字选中 mobile/PC(0.9.4起)

component

类/属性名 属性 说明 平台
.u-icon, .u-btn display: block; 按钮/图标设置为块元素 mobile/PC
.u-icon_il, .u-btn_il display: inline-block; 按钮/图标设置为行内块元素 mobile/PC
.f-pclass position: relative;&:before,&:after {position: absolute;content: '';} 设置伪元素,通常用作图形或1px边框 mobile/PC
.f-b_1px position: relative; &:after{ position: absolute; content: ''; background-color: @border-gray;} 设置retina屏幕边框1px,需要配合.bt_1px/.br_1px/.bb_1px/.bl_1px使用 mobile/PC
.bt_1px left: 0; width: 100%; height: 1px; -webkit-transform: scale(1, 0.5); transform: scale(1, 0.5); top: 0; 设置上边框1px mobile/PC
.bb_1px left: 0; width: 100%; height: 1px; -webkit-transform: scale(1, 0.5); transform: scale(1, 0.5); bottom: 0; 设置下边框1px mobile/PC
.br_1px top: 0; width: 1px; height: 100%; -webkit-transform: scale(0.5, 1); transform: scale(0.5, 1); right: 0; 设置右边框1px mobile/PC
.bl_1px top: 0; width: 1px; height: 100%; -webkit-transform: scale(0.5, 1); transform: scale(0.5, 1); left: 0; 设置左边框1px mobile/PC
.u-btn, .u-btn_il padding: 0; text-align: center; border-radius: 4px; 设置按钮基础样式,赋值样式见下表button mobile/PC
.u-mask z-index: 18; position: fixed; top: 0; bottom: 0; left: 0; right: 0; width: 100%; background-color: rgba(0, 0, 0, 0.3); 固定黑色蒙层 mobile/PC
.u-win, .u-dialog position: fixed; z-index: 19; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); 弹窗基础样式 mobile/PC
button(component)

*为.u-btn/.u-btn_il的附加样式

类/属性名 属性 说明 平台
[no-bdr] border-radius: 0 按钮无圆角 mobile/PC
[s-color="yellow"] background-color: #f1ae3f; color: #fff; 黄色按钮 mobile/PC
[s-color="orange"] background-color: #ff7010; color: #fff; 橙色按钮 mobile/PC
[s-color="red"] background-color: #cf0e0f; color: #fff; 红色按钮 mobile/PC
[s-color="gray"] background-color: #ccc; color: #fff; 灰色按钮 mobile/PC
[s-color="bd_gray"] border: thin solid #999; color: #999; 灰色边框按钮 mobile/PC
[s-color="bd_white"] border: thin solid #fff; color: #999; 白色边框按钮 mobile/PC
[s-color="bd_yellow"] border: thin solid #f1ae3f; color: #f1ae3f; 黄色边框按钮 mobile/PC
[s-color="bd_red"] border: thin solid #cf0e0f; color: #cf0e0f; 红色边框按钮 mobile/PC
[s-color="small"] line-height: 26px; font-size: 12px; 小号按钮 mobile/PC
[s-color="medium"] line-height: 42px; font-size: 16px; 中号按钮 mobile/PC
[s-color="big"] line-height: 50px; font-size: 17px; 大号按钮 mobile/PC

skin

类/属性名 属性 说明 平台
[s-cr_red], [s-cr="red"] color: #fe5d4e; 字体颜色为红色 mobile/PC
[s-cr_green], [s-cr="green"] color: #009801; 字体颜色为绿色 mobile/PC
[s-cr_blue], [s-cr="blue"] color: #01a2fc; 字体颜色为蓝色 mobile/PC
[s-cr_gray], [s-cr="gray"] color: #999; 字体颜色为灰色 mobile/PC
[s-cr_white], [s-cr="white"] color: #fff; 字体颜色为白色 mobile/PC
[s-ft_base], [s-cr="base"] color: #323232; 字体颜色为文本基础颜色 mobile/PC
[s-ft_base_], [s-cr="base_"] color: #333; 字体颜色为文本第二种基础颜色 mobile/PC
[s-ft_sub], [s-cr="sub"] color: #666; 字体颜色为次文字颜色 mobile/PC
[s-ft_sub_], [s-cr="sub_"] color: #999; 字体颜色为第二种次文字颜色 mobile/PC
[s-bgc_red], [s-bgc="red"] background-color: #fe5d4e; 背景颜色为红色 mobile/PC
[s-bgc_green], [s-bgc="green"] background-color: #009801; 背景颜色为绿色 mobile/PC
[s-bgc_blue], [s-bgc="blue"] background-color: #01a2fc; 背景颜色为蓝色 mobile/PC
[s-bgc_gray], [s-bgc="gray"] background-color: #999; 背景颜色为灰色 mobile/PC
[s-bgc_white], [s-bgc="white"] background-color: #fff; 背景颜色为白色 mobile/PC

status

类/属性名 属性 说明 平台
.z-hide display: none !important; 元素隐藏,最高优先级 mobile/PC
.z-v_hidden visibility: hidden; 元素视觉隐藏 mobile/PC
.z-v_visible visibility: visible; 元素视觉显示 mobile/PC
.z-hide_0 opacity: 0; 透明度为0 mobile/PC
.z-hide_30 opacity: 30; 透明度为30%(PC带有filter:aplpha(opacity=透明度)兼容处理,下面的相同) mobile/PC
.z-hide_60 opacity: 60; 透明度为60% mobile/PC
.z-hide_90 opacity: 90; 透明度为90% mobile/PC
.z-index_ z-index: -1; z轴层级为-1 mobile/PC
.z-index_999 z-index: 999; z轴层级为999 mobile/PC
- + diff --git a/docs/nameRule/index.html b/docs/nameRule/index.html index fe67a0e..5ca89fc 100644 --- a/docs/nameRule/index.html +++ b/docs/nameRule/index.html @@ -8,7 +8,7 @@ - + @@ -16,7 +16,7 @@ Github

命名规则

选择器命名由小写字母,_-符号组成,并通过标志前缀来确定样式命名空间。

className或attribute的写法为:

标志前缀-className/attribute_字母值
 

标志前缀-className/attribute数字值
 

基本规则

  • 类名或属性名由小写字母、数字、_-符号组成,不包含大写字母;
  • 连字符分隔单词(-),以代替驼峰式命名。如:head-menu;
  • 单下划线分隔属性和英文值(_)。如:color_red;
  • 双下划线分隔模块和元素(__)。如:nav__item。

其中标志前缀由样式模块确认:

  • g-:grid
  • f-: function
  • u-: unit、Component unit
  • z-: status
  • s-: skin
  • a-: animation
  • m-: Module

特殊样式模块前缀:

  • j-: JavaScript DOM
  • v*-: VueJS专用,如VueJS专用动画.va-fadein
  • r*-: ReactJS专用,如ReactJS专用宽度.ru-w100
  • a*-: Angular专用,如Angular专用皮肤.as-cr_red

属性简写规则,通常由属性单词首字母组成,部分较长的样式属性单词或避免重复可取首字母和中间字母。如margin-top -> mtbackground-color -> bgc;属性值单位值为px时,省略px;为rem/vw时,数值转为px并省略rem/vw;为%时,则%换为per, 如padding-left: 30px -> pl30width: 1rem -> w75margin-top: 2vw -> mt15left: 50% -> l50per。更多属性简写可参考样式属性命名>>

属性值为非模块时,名字为标识,如iconovhidden

结合标志,如下

.u-w30per
@@ -164,6 +164,6 @@
         
         →
       

- + diff --git a/docs/nodeTree/index.html b/docs/nodeTree/index.html index c0c1b50..c9bef18 100644 --- a/docs/nodeTree/index.html +++ b/docs/nodeTree/index.html @@ -8,7 +8,7 @@ - + @@ -16,7 +16,7 @@ Github - + diff --git a/docs/other/index.html b/docs/other/index.html index ea7b44a..f429e63 100644 --- a/docs/other/index.html +++ b/docs/other/index.html @@ -8,7 +8,7 @@ - + @@ -16,7 +16,7 @@ Github

其他

常见问题

1.主流前端框架中的Component和Module

前文也有提过,在使用主流前端框架,如Vue,Module层可根据在路由views目录文件中各自定义;Component可在组件components目录中定义,易于区分和维护。可参考移动demo2以及PCdemo

SFC——Vue/Angular(1.x)

如views/a.vue

<template>
+  

其他

生态及展望

1 Chrome插件

前端辅助Chrome插件fe-tools已经接入了Moo-CSS模块,提供CSS样式属性查询,moo-css的分类查询,moo-css-base的检索功能。

image-20200128153527967

2 VSCode插件

为方便 moo-css-base 在 IDE 中快速提示开发,已创建了 vscode 提示插件moo-css-plugin。

image-20200128153730920

3 loader

当前css开发中,不存在于moo-css-base中的样式还需要我们手动写CSS代码,如.g-fs88,结合即将完成的moo-loader,我们可以使这部分工作由loader自动添加完成,以更高效得完成业务样式开发工作。

4 自动化转化

目前很多的设计稿是以sketch文件的形式提供,那么就可以设计一套解析规则,提取CSS样式及节点特征,结合Moo-CSS规则自动生成符合Moo-CSS规范的HTML标签及CSS样式,目标是实现样式的自动化开发操作。

相信未来样式开发会变得更加自由和高效。

常见问题

1.主流前端框架中的Component和Module

前文也有提过,在使用主流前端框架,如Vue,Module层可根据在路由views目录文件中各自定义;Component可在组件components目录中定义,易于区分和维护。可参考移动demo2以及PCdemo

SFC——Vue/Angular(1.x)

如views/a.vue

<template>
     <div class="m-a">...</div>
 </template>
 <style>
@@ -81,6 +81,6 @@
          

- + diff --git a/docs/saulte/index.html b/docs/saulte/index.html index 04a606e..9fed1b1 100644 --- a/docs/saulte/index.html +++ b/docs/saulte/index.html @@ -8,7 +8,7 @@ - + @@ -16,7 +16,7 @@ Github

致敬

OO-CSS

作为前辈中的前辈,OO-CSS的概念提出已久(2009),官网地址:http://oocss.org/

(本人倾向于将下面的OOCSS、BEM归类为OO-CSS。)

OOCSS

CSS“对象”

OOP编程,模块以对象为单位。在OOCSS的概念里,CSS“对象”是一个可重复的视图。

CSS“对象”由以下四部分组成:

  • HTML,可以是DOM的一个或多个节点;
  • CSS声明,关于这些DOM节点样式的CSS声明,所有这些节点都以包装节点的类名开头;
  • 组件,如背景图片,sprites等用于展示资源的;
  • 与对象关联的javascript行为、侦听器或方法。

如:

<div class="mod">
+  

致敬

OO-CSS

作为前辈中的前辈,OO-CSS的概念提出已久(2009),官网地址:http://oocss.org/

(本人倾向于将下面的OOCSS、BEM归类为OO-CSS。)

OOCSS

CSS“对象”

OOP编程,模块以对象为单位。在OOCSS的概念里,CSS“对象”是一个可重复的视图。

CSS“对象”由以下四部分组成:

  • HTML,可以是DOM的一个或多个节点;
  • CSS声明,关于这些DOM节点样式的CSS声明,所有这些节点都以包装节点的类名开头;
  • 组件,如背景图片,sprites等用于展示资源的;
  • 与对象关联的javascript行为、侦听器或方法。

如:

<div class="mod">
     <div class="inner">
             <div class="hd">Block Head</div>
             <div class="bd">Block Body</div>
@@ -119,6 +119,6 @@
         
         →
       

- + diff --git a/moo-css-base/less/mobile/Component/function.less b/moo-css-base/less/mobile/Component/function.less index 7f23dc4..1bfacce 100644 --- a/moo-css-base/less/mobile/Component/function.less +++ b/moo-css-base/less/mobile/Component/function.less @@ -11,6 +11,11 @@ -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } +/* no select */ +.f-noselct { + -webkit-user-select: none; + user-select: none; +} /* background image stretch */ .f-bg_cover, @@ -41,7 +46,6 @@ padding-bottom: 9999px; } - /* text align */ .f-tl { text-align: left; @@ -73,11 +77,9 @@ /* float */ .f-fl { float: left; - // display: inline; } .f-fr { float: right; - // display: inline; } .f-cb { clear: both; diff --git a/moo-css-base/less/mobile/Skin/colors.less b/moo-css-base/less/mobile/Skin/colors.less index 2e36558..fd52dd9 100644 --- a/moo-css-base/less/mobile/Skin/colors.less +++ b/moo-css-base/less/mobile/Skin/colors.less @@ -15,7 +15,7 @@ @font-up: #fe5d4e; /* 红色-涨;*/ @font-down: #009801; /* 绿色-跌;*/ -@button-red: #cf0e0f; /*红色,按钮 */ +@button-red: #fe5d4e; /*红色,按钮 */ @button-orange: #ff7010; /*橙色,按钮 */ @button-yellow: #f1ae3f; /*黄色,按钮 */ @button-gray: #ccc; /*灰色,按钮 */ diff --git a/moo-css-base/less/mobile/Skin/skins.less b/moo-css-base/less/mobile/Skin/skins.less index 9110f2d..4b3f4eb 100644 --- a/moo-css-base/less/mobile/Skin/skins.less +++ b/moo-css-base/less/mobile/Skin/skins.less @@ -1,55 +1,69 @@ -/* -* Mobile -* skins -*/ +/*------------------------------------*\ + Mobile skins + v1.x will abandon [s-cr_{type}] +\*------------------------------------*/ + @import url('./colors.less'); /* font color */ -[s-cr_red]{ +[s-cr_red], +[s-cr="red"] { color: @red; } -[s-cr_green]{ +[s-cr_green], +[s-cr="green"] { color: @green; } -[s-cr_blue]{ +[s-cr_blue], +[s-cr="blue"] { color: @blue; } -[s-ft_base]{ +[s-ft_base], +[s-cr="base"] { color: @font-base; } -[s-ft_base_]{ +[s-ft_base_], +[s-cr="base_"] { color: @font-base_; } -[s-ft_sub]{ +[s-ft_sub], +[s-cr="sub"] { color: @font-sub; } [s-ft_sub_], -[s-cr_gray]{ +[s-cr_gray], +[s-cr="gray"]{ color: @gray-light; } -[s-cr_white] { +[s-cr_white], +[s-cr="white"] { color: @white; } /* background color */ -[s-bgc_red] { +[s-bgc_red], +[s-bgc="red"] { background-color: @red; } -[s-bgc_green] { +[s-bgc_green], +[s-bgc="green"] { background-color: @green; } -[s-bgc_blue]{ +[s-bgc_blue], +[s-bgc="blue"] { background-color: @blue; } -[s-bgc_gray]{ +[s-bgc_gray], +[s-bgc="gray"] { background-color: @gray-light; } -[s-bgc_white]{ +[s-bgc_white], +[s-bgc="white"] { background-color: @white; } /* button color */ -.s-btn { +.s-btn() { &[s-color="yellow"] { background-color: @button-yellow; color: @white; diff --git a/moo-css-base/less/pc/Component/function.less b/moo-css-base/less/pc/Component/function.less index 9070253..f7fd2e8 100644 --- a/moo-css-base/less/pc/Component/function.less +++ b/moo-css-base/less/pc/Component/function.less @@ -28,6 +28,12 @@ overflow-y: auto; } +/* no select */ +.f-noselct { + -webkit-user-select: none; + user-select: none; +} + /* overflow show '...' */ .f-ellipsis { white-space: nowrap; @@ -83,11 +89,9 @@ /* float */ .f-fl { float: left; - display: inline; } .f-fr { float: right; - display: inline; } .f-cb { clear: both; diff --git a/moo-css-base/less/pc/Skin/skins.less b/moo-css-base/less/pc/Skin/skins.less index 7f1fd77..6121d8d 100644 --- a/moo-css-base/less/pc/Skin/skins.less +++ b/moo-css-base/less/pc/Skin/skins.less @@ -6,50 +6,63 @@ @import url('../Component/mixins.less'); /* font color */ -[s-cr_red]{ +[s-cr_red], +[s-cr="red"] { color: @red; } -[s-cr_green]{ +[s-cr_green], +[s-cr="green"] { color: @green; } -[s-cr_blue]{ +[s-cr_blue], +[s-cr="blue"] { color: @blue; } -[s-ft_base]{ +[s-ft_base], +[s-cr="base"] { color: @font-base; } -[s-ft_base_]{ +[s-ft_base_], +[s-cr="base_"] { color: @font-base_; } -[s-ft_sub]{ +[s-ft_sub], +[s-cr="sub"] { color: @font-sub; } [s-ft_sub_], -[s-cr_gray]{ +[s-cr_gray], +[s-cr="gray"] { color: @font-sub_; } -[s-cr_white] { +[s-cr_white], +[s-cr="white"] { color: @white; } /* background color */ -[s-bgc_white] { +[s-bgc_white], +[s-bgc="white"] { background-color: @white; } -[s-bgc_red] { +[s-bgc_red], +[s-bgc="red"] { background-color: @red; } -[s-bgc_green] { +[s-bgc_green], +[s-bgc="green"] { background-color: @green; } -[s-bgc_blue]{ +[s-bgc_blue], +[s-bgc="blue"] { background-color: @blue; } -[s-bgc_gray]{ +[s-bgc_gray], +[s-bgc="gray"] { background-color: @font-sub_; } -.s-btn { +.s-btn() { &[s-color="yellow"] { .bg-variant(@button-yellow); color: @white; diff --git a/moo-css-base/mobile.css b/moo-css-base/mobile.css index c96d002..acc94b7 100644 --- a/moo-css-base/mobile.css +++ b/moo-css-base/mobile.css @@ -1,7 +1,7 @@ /*------------------------------------*\ Moo-CSS Mobile Base - @version: 0.9.2 + @version: 0.9.4 @github: https://github.com/MichealWayne/Moo-CSS \*------------------------------------*/ /** @@ -604,13 +604,13 @@ body { } .u-btn[s-color="red"], .u-btn_il[s-color="red"] { - background-color: #cf0e0f; + background-color: #fe5d4e; color: #fff; } .u-btn[s-color="blue"], .u-btn_il[s-color="blue"] { background-color: #01a2fc; - color: #01a2fc; + color: #fff; } .u-btn[s-color="gray"], .u-btn_il[s-color="gray"] { @@ -619,8 +619,8 @@ body { } .u-btn[s-color="bd_red"], .u-btn_il[s-color="bd_red"] { - border: thin solid #cf0e0f; - color: #cf0e0f; + border: thin solid #fe5d4e; + color: #fe5d4e; } .u-btn[s-color="bd_yellow"], .u-btn_il[s-color="bd_yellow"] { @@ -687,6 +687,11 @@ body { .f-tap_reset { -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } +/* no select */ +.f-noselct { + -webkit-user-select: none; + user-select: none; +} /* background image stretch */ .f-bg_cover, [f-bg_cover] { @@ -739,11 +744,9 @@ body { /* float */ .f-fl { float: left; - display: inline; } .f-fr { float: right; - display: inline; } .f-cb { clear: both; @@ -780,11 +783,20 @@ body { .f-unl_none { text-decoration: none; } +/* point event */ +.f-event_none { + pointer-events: none; +} +/* inline warp */ +.f-inline_wrap::after { + content: "\A"; + white-space: pre; +} /*------------------------------------*\ Mobile mixins \*------------------------------------*/ /* vw */ -/*width height*/ +/* width height */ /* square */ /* height = line-height */ /* 字体大小、行高 */ @@ -799,10 +811,6 @@ body { /* fixed mask */ /* 单边 border-radius */ /* 设置弹性滚动(ios) */ -.set-scroll-elastic { - -webkit-overflow-scrolling: touch; - overflow-y: scroll; -} /* 改变滚动条颜色,需要hsl颜色,如.setScroll(hsla(200, 100%, 54%, 1)); */ /** * grid @@ -1030,98 +1038,63 @@ body { /* 灰色 */ /* 浅灰色 */ /* 白色 */ -/* -* Mobile -* skins -*/ +/*------------------------------------*\ + Mobile skins + v1.x will abandon [s-cr_{type}] +\*------------------------------------*/ /* font color */ -[s-cr_red] { +[s-cr_red], +[s-cr="red"] { color: #fe5d4e; } -[s-cr_green] { +[s-cr_green], +[s-cr="green"] { color: #009801; } -[s-cr_blue] { +[s-cr_blue], +[s-cr="blue"] { color: #01a2fc; } -[s-ft_base] { +[s-ft_base], +[s-cr="base"] { color: #323232; } -[s-ft_base_] { +[s-ft_base_], +[s-cr="base_"] { color: #333; } -[s-ft_sub] { +[s-ft_sub], +[s-cr="sub"] { color: #666; } [s-ft_sub_], -[s-cr_gray] { +[s-cr_gray], +[s-cr="gray"] { color: #999; } -[s-cr_white] { +[s-cr_white], +[s-cr="white"] { color: #fff; } /* background color */ -[s-bgc_red] { +[s-bgc_red], +[s-bgc="red"] { background-color: #fe5d4e; } -[s-bgc_green] { +[s-bgc_green], +[s-bgc="green"] { background-color: #009801; } -[s-bgc_blue] { +[s-bgc_blue], +[s-bgc="blue"] { background-color: #01a2fc; } -[s-bgc_gray] { +[s-bgc_gray], +[s-bgc="gray"] { background-color: #999; } -[s-bgc_white] { +[s-bgc_white], +[s-bgc="white"] { background-color: #fff; } /* button color */ -.s-btn[s-color="yellow"] { - background-color: #f1ae3f; - color: #fff; -} -.s-btn[s-color="orange"] { - background-color: #ff7010; - color: #fff; -} -.s-btn[s-color="red"] { - background-color: #cf0e0f; - color: #fff; -} -.s-btn[s-color="blue"] { - background-color: #01a2fc; - color: #01a2fc; -} -.s-btn[s-color="gray"] { - background-color: #ccc; - color: #fff; -} -.s-btn[s-color="bd_red"] { - border: thin solid #cf0e0f; - color: #cf0e0f; -} -.s-btn[s-color="bd_yellow"] { - border: thin solid #f1ae3f; - color: #f1ae3f; -} -.s-btn[s-color="bd_gray"] { - border: thin solid #999; - color: #999; -} -.s-btn[s-color="bd_white"] { - border: thin solid #fff; - color: #fff; -} -.s-btn[s-size="small"] { - line-height: 26px; - font-size: 12px; -} -.s-btn[s-size="medium"] { - line-height: 42px; - font-size: 16px; -} -.s-btn[s-size="big"] { - line-height: 50px; - font-size: 17px; -} diff --git a/moo-css-base/mobile.less b/moo-css-base/mobile.less index e31bd78..e3ed1e2 100644 --- a/moo-css-base/mobile.less +++ b/moo-css-base/mobile.less @@ -1,7 +1,7 @@ /*------------------------------------*\ Moo-CSS Mobile Base - @version: 0.9.2 + @version: 0.9.4 @github: https://github.com/MichealWayne/Moo-CSS \*------------------------------------*/ diff --git a/moo-css-base/mobile.scss b/moo-css-base/mobile.scss index c657d31..26aabc6 100644 --- a/moo-css-base/mobile.scss +++ b/moo-css-base/mobile.scss @@ -1,7 +1,7 @@ /*------------------------------------*\ Moo-CSS Mobile Base - @version: 0.9.2 + @version: 0.9.4 @github: https://github.com/MichealWayne/Moo-CSS \*------------------------------------*/ diff --git a/moo-css-base/mobile.styl b/moo-css-base/mobile.styl index 990339c..b4b9c7e 100644 --- a/moo-css-base/mobile.styl +++ b/moo-css-base/mobile.styl @@ -1,7 +1,7 @@ /*------------------------------------*\ Moo-CSS Mobile Base - @version: 0.9.2 + @version: 0.9.4 @github: https://github.com/MichealWayne/Moo-CSS \*------------------------------------*/ diff --git a/moo-css-base/package.json b/moo-css-base/package.json index 97ff4e8..e4ecb5c 100644 --- a/moo-css-base/package.json +++ b/moo-css-base/package.json @@ -1,6 +1,6 @@ { "name": "moo-css-base", - "version": "0.9.2", + "version": "0.9.4", "description": "Moo-CSS Base layer.", "main": "index.js", "scripts": { diff --git a/moo-css-base/pc.css b/moo-css-base/pc.css index 3d1d96d..7dbd33a 100644 --- a/moo-css-base/pc.css +++ b/moo-css-base/pc.css @@ -1,7 +1,7 @@ /*------------------------------------*\ Moo-CSS PC Base - @version: 0.9.2 + @version: 0.9.4 @github: https://github.com/MichealWayne/Moo-CSS \*------------------------------------*/ /** @@ -934,6 +934,11 @@ input[type="search"]::-webkit-search-decoration { .f-scroll_y { overflow-y: auto; } +/* no select */ +.f-noselct { + -webkit-user-select: none; + user-select: none; +} /* overflow show '...' */ .f-ellipsis { white-space: nowrap; @@ -981,11 +986,9 @@ input[type="search"]::-webkit-search-decoration { /* float */ .f-fl { float: left; - display: inline; } .f-fr { float: right; - display: inline; } .f-cb { clear: both; @@ -996,6 +999,16 @@ input[type="search"]::-webkit-search-decoration { .f-cr { clear: right; } +/* cursor */ +.f-cursor_p { + cursor: pointer; +} +.f-cursor_none { + cursor: default; +} +.f-cursor_not { + cursor: not-allowed; +} /* font */ .f-nowrap { white-space: nowrap; @@ -1019,6 +1032,15 @@ input[type="search"]::-webkit-search-decoration { .f-yahei_font { font-family: "Microsoft Yahei"; } +/* point event */ +.f-event_none { + pointer-events: none; +} +/* inline warp */ +.f-inline_wrap::after { + content: "\A"; + white-space: pre; +} /*------------------------------------*\ PC mixins \*------------------------------------*/ @@ -1332,111 +1354,57 @@ input[type="search"]::-webkit-search-decoration { PC skins \*------------------------------------*/ /* font color */ -[s-cr_red] { +[s-cr_red], +[s-cr="red"] { color: #fe5d4e; } -[s-cr_green] { +[s-cr_green], +[s-cr="green"] { color: #009801; } -[s-cr_blue] { +[s-cr_blue], +[s-cr="blue"] { color: #01a2fc; } -[s-ft_base] { +[s-ft_base], +[s-cr="base"] { color: #323232; } -[s-ft_base_] { +[s-ft_base_], +[s-cr="base_"] { color: #333; } -[s-ft_sub] { +[s-ft_sub], +[s-cr="sub"] { color: #666; } [s-ft_sub_], -[s-cr_gray] { +[s-cr_gray], +[s-cr="gray"] { color: #999; } -[s-cr_white] { +[s-cr_white], +[s-cr="white"] { color: #fff; } /* background color */ -[s-bgc_white] { +[s-bgc_white], +[s-bgc="white"] { background-color: #fff; } -[s-bgc_red] { +[s-bgc_red], +[s-bgc="red"] { background-color: #fe5d4e; } -[s-bgc_green] { +[s-bgc_green], +[s-bgc="green"] { background-color: #009801; } -[s-bgc_blue] { +[s-bgc_blue], +[s-bgc="blue"] { background-color: #01a2fc; } -[s-bgc_gray] { +[s-bgc_gray], +[s-bgc="gray"] { background-color: #999; } -.s-btn[s-color="yellow"] { - background-color: #f1ae3f; - color: #fff; -} -.s-btn[s-color="yellow"]:hover, -.s-btn[s-color="yellow"]:focus { - background-color: #ec9a11; -} -.s-btn[s-color="orange"] { - background-color: #ff7010; - color: #fff; -} -.s-btn[s-color="orange"]:hover, -.s-btn[s-color="orange"]:focus { - background-color: #dc5800; -} -.s-btn[s-color="red"] { - background-color: #cf0e0f; - color: #fff; -} -.s-btn[s-color="red"]:hover, -.s-btn[s-color="red"]:focus { - background-color: #9f0b0c; -} -.s-btn[s-color="gray"] { - background-color: #ccc; - color: #fff; -} -.s-btn[s-color="gray"]:hover, -.s-btn[s-color="gray"]:focus { - background-color: #b3b3b3; -} -.s-btn[s-color="bd_gray"] { - border: thin solid #999; - color: #999; -} -.s-btn[s-color="bd_white"] { - border: thin solid #fff; - color: #fff; -} -.s-btn[s-color="bd_red"] { - border: thin solid #cf0e0f; - color: #cf0e0f; -} -.s-btn[s-color="bd_yellow"] { - border: thin solid #f1ae3f; - color: #f1ae3f; -} -.s-btn:hover { - opacity: 0.8; -} -.s-btn:active { - -webkit-filter: brightness(0.8); - filter: brightness(0.8); -} -.s-btn[s-size="small"] { - line-height: 26px; - font-size: 12px; -} -.s-btn[s-size="medium"] { - line-height: 42px; - font-size: 16px; -} -.s-btn[s-size="big"] { - line-height: 50px; - font-size: 17px; -} diff --git a/moo-css-base/pc.less b/moo-css-base/pc.less index c18ca8f..519ce17 100644 --- a/moo-css-base/pc.less +++ b/moo-css-base/pc.less @@ -1,7 +1,7 @@ /*------------------------------------*\ Moo-CSS PC Base - @version: 0.9.2 + @version: 0.9.4 @github: https://github.com/MichealWayne/Moo-CSS \*------------------------------------*/ diff --git a/moo-css-base/pc.scss b/moo-css-base/pc.scss index 7f78c77..1a2568c 100644 --- a/moo-css-base/pc.scss +++ b/moo-css-base/pc.scss @@ -1,7 +1,7 @@ /*------------------------------------*\ Moo-CSS PC Base - @version: 0.9.2 + @version: 0.9.4 @github: https://github.com/MichealWayne/Moo-CSS \*------------------------------------*/ diff --git a/moo-css-base/pc.styl b/moo-css-base/pc.styl index 5160187..f07a71e 100644 --- a/moo-css-base/pc.styl +++ b/moo-css-base/pc.styl @@ -1,7 +1,7 @@ /*------------------------------------*\ Moo-CSS PC Base - @version: 0.9.2 + @version: 0.9.4 @github: https://github.com/MichealWayne/Moo-CSS \*------------------------------------*/ diff --git a/moo-css-base/sass/mobile/Component/function.scss b/moo-css-base/sass/mobile/Component/function.scss index cd76609..d13e4be 100644 --- a/moo-css-base/sass/mobile/Component/function.scss +++ b/moo-css-base/sass/mobile/Component/function.scss @@ -11,6 +11,12 @@ -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } +/* no select */ +.f-noselct { + -webkit-user-select: none; + user-select: none; +} + /* background image stretch */ .f-bg_cover, [f-bg_cover]{ @@ -72,11 +78,9 @@ /* float */ .f-fl { float: left; - // display: inline; } .f-fr { float: right; - // display: inline; } .f-cb { clear: both; diff --git a/moo-css-base/sass/mobile/Skin/skins.scss b/moo-css-base/sass/mobile/Skin/skins.scss index 3a964ef..66bbe76 100644 --- a/moo-css-base/sass/mobile/Skin/skins.scss +++ b/moo-css-base/sass/mobile/Skin/skins.scss @@ -1,51 +1,65 @@ -/* -* Mobile -* skins -*/ +/*------------------------------------*\ + Mobile skins + v1.x will abandon [s-cr_{type}] +\*------------------------------------*/ + @import './colors'; @import '../Component/mixins'; /* font color */ -[s-cr_red]{ +[s-cr_red], +[s-cr="red"] { color: $red; } -[s-cr_green]{ +[s-cr_green], +[s-cr="green"] { color: $green; } -[s-cr_blue]{ +[s-cr_blue], +[s-cr="blue"] { color: $blue; } -[s-ft_base]{ +[s-ft_base], +[s-cr="base"] { color: $font-base; } -[s-ft_base_]{ +[s-ft_base_], +[s-cr="base_"]{ color: $font-base_; } -[s-ft_sub]{ +[s-ft_sub], +[s-cr="sub"] { color: $font-sub; } [s-ft_sub_], -[s-cr_gray]{ +[s-cr_gray], +[s-cr="gray"] { color: $font-sub_; } -[s-cr_white] { +[s-cr_white], +[s-cr="white"] { color: $white; } /* background color */ -[s-bgc_red] { +[s-bgc_red], +[s-bgc="red"] { background-color: $red; } -[s-bgc_green] { +[s-bgc_green], +[s-bgc="green"] { background-color: $green; } -[s-bgc_blue]{ +[s-bgc_blue], +[s-bgc="blue"] { background-color: $blue; } -[s-bgc_gray]{ +[s-bgc_gray], +[s-bgc="gray"] { background-color: $font-sub_; } -[s-bgc_white]{ +[s-bgc_white], +[s-bgc="white"] { background-color: $white; } diff --git a/moo-css-base/sass/pc/Component/function.scss b/moo-css-base/sass/pc/Component/function.scss index b5ab031..a9b347f 100644 --- a/moo-css-base/sass/pc/Component/function.scss +++ b/moo-css-base/sass/pc/Component/function.scss @@ -11,6 +11,12 @@ text-decoration: none; } +/* no select */ +.f-noselct { + -webkit-user-select: none; + user-select: none; +} + /* clear webkit appearance */ .f-wk_reset { -webkit-appearance: none; @@ -86,11 +92,9 @@ /* float */ .f-fl { - float: left; display: inline; } .f-fr { - float: right; display: inline; } .f-cb { diff --git a/moo-css-base/stylus/mobile/Component/function.styl b/moo-css-base/stylus/mobile/Component/function.styl index de941fd..a105761 100644 --- a/moo-css-base/stylus/mobile/Component/function.styl +++ b/moo-css-base/stylus/mobile/Component/function.styl @@ -17,6 +17,11 @@ .f-tap_reset -webkit-tap-highlight-color rgba(0, 0, 0, 0) +/* no select */ +.f-noselct + -webkit-user-select none + user-select none + .f-gb_cover [f-bg_cover] @@ -77,11 +82,9 @@ /* float */ .f-fl float left - // display inline .f-fr float right - // display inline .f-cb clear both diff --git a/moo-css-base/stylus/mobile/Skin/skins.styl b/moo-css-base/stylus/mobile/Skin/skins.styl index c0cfdff..333c48d 100644 --- a/moo-css-base/stylus/mobile/Skin/skins.styl +++ b/moo-css-base/stylus/mobile/Skin/skins.styl @@ -6,45 +6,58 @@ @import '../Component/mixins.styl' // font color -[s-cr_red] +[s-cr_red], +[s-cr="red"] color $red -[s-cr_green] +[s-cr_green], +[s-cr="green"] color $green -[s-cr_blue] +[s-cr_blue], +[s-cr="blue"] color $blue -[s-ft_base] +[s-ft_base], +[s-cr="base"] color $font-base -[s-ft_base_] +[s-ft_base_], +[s-cr="base_"] color $font-base_ -[s-ft_sub] +[s-ft_sub], +[s-ft="sub"] color $font-sub [s-ft_sub_] -[s-cr_gray] +[s-cr_gray], +[s-cr="gray"] color $font-sub_ -[s-cr_white] +[s-cr_white], +[s-cr="white"] color $white // background color -[s-bgc_white] +[s-bgc_white], +[s-bgc="white"] background-color $white -[s-bgc_red] +[s-bgc_red], +[s-bgc="red"] background-color $red -[s-bgc_green] +[s-bgc_green], +[s-bgc="green"] background-color $green -[s-bgc_blue] +[s-bgc_blue], +[s-bgc="blue"] background-color $blue -[s-bgc_gray] +[s-bgc_gray], +[s-bgc="gray"] background-color $font-sub_ s-btn() diff --git a/moo-css-base/stylus/pc/Component/function.styl b/moo-css-base/stylus/pc/Component/function.styl index 6b5c994..cf3d9aa 100644 --- a/moo-css-base/stylus/pc/Component/function.styl +++ b/moo-css-base/stylus/pc/Component/function.styl @@ -9,6 +9,12 @@ .f-unl_none text-decoration none +/* no select */ +.f-noselct + -webkit-user-select none + user-select none + + /* clear webkit appearance */ .f-wk_reset -webkit-appearance none @@ -74,11 +80,9 @@ /* float */ .f-fl float left - display inline .f-fr float right - display inline .f-cb clear both