YUS框架之uc颜色控制指令
yus将css常用属性简单的划分为两大类,即尺寸、颜色。yus认为所有px,pt,em,cm,vw,vh或者百分比符号%,都是尺寸的计量单位,可以使用us命令进行渲染;而#f00 , #ff00 , rgb(255,0,0) , rgba(255,0,0,1)这一类的色彩的渲染,则由uc命令来完成。例如:<div class="solid uc-c-f00 uc-bdc-f00 us-bw-1">红色边框</div>
解析如下:solid 是系统内置css样式,边框线型为实线。uc-c-f00 字体颜色为红色uc-bdc-f00 边框颜色为红色us-bw-1 边框宽度为 1px 像素同理,因为字体颜色与边框颜色相同,上面的代码可以简写为如下格式:
<div class="solid uc-c,bdc-f00 us-bw-1">红色边框</div>
UC指令说明
项目描述
语法指令由三部分部分,第一部分uc声明颜色指令,第二部分为参数属性缩写,第三部分为rgb颜色。示例:uc-属性参数-f00。
属性参数是CSS属性的缩略写法,如c代表color,bg代表background,详情参见下列《属性参数表》
rgb颜色代码格式:FF0000,或f00,或者rgb(255,0,0),也可以是rgba(255,0,0,0.5)。示例:uc-c-ff0或us-c-rgba(0,0,0,0.3)
n向下延伸层级,例如n为3时,影响第三代子元素,即children().children().children()
属性参数表
属性参数示例CSS写法功能描述
cuc-c-f00{color:#f00;}文本颜色,可以用16进制编码值,例如ff0000,或者f00,这两者是等价的。另外也可以用rgb颜色数值,或者rgba设置透明度,rgb需要使用方括号[]框起来。例如:<span class="uc-c-f00">红色文本</span><span class="uc-c-">红色文本</span>
ocuc-oc-f00{outline-color:#f00;}边框轮廓颜色。例如:<span class="sol us-ow-1 uc-oc-f00">红色轮廓</span>说明:sol是《内置样式》表示outline-style:solid;,us-ow-1代表轮廓线宽度为1像素。
bguc-bg-f00{background:#f00;}背景颜色。例如:<span class="uc-bg-f00">红色背景</span>
bdcuc-bdc-f00{border-color:#f00;}边框颜色。例如:<span class="uc-bdc-f00">红色边框</span>
btcuc-btc-f00{border-top-color:#f00;}边框上方颜色。例如:<span class="uc-btc-f00">边框上方红色</span>
brcuc-brc-f00{border-right-color:#f00;}边框右侧颜色。例如:<span class="uc-brc-f00">边框右侧红色</span>
bbcuc-bbc-f00{border-bottom-color:#f00;}边框下方颜色。例如:<span class="uc-bbc-f00">边框下方红色</span>
blcuc-blc-f00{border-left-color:#f00;}边框左侧颜色。例如:<span class="uc-blc-f00">边框左侧红色</span>
子级管控yus作者本身是一个懒人,所以yus框架尽最大可能去做到简便,那么父元素控制子元素,这项功能就不得不提上日程,指令说明语法中的n,即子元素后代层级数,例如n=1的情况下,表示子级;n=2表示孙级;n=3表示重孙级。举例说明:
<ul class="us-ml-2em us-w,h-50-1 us-mr-10-1 uc-bg-f00-1 nl-">
<li></li>
<li></li>
<li></li>
</ul>
运行效果如下:
详细解释:us-ml-2em,代表ul元素左边距2个字符,即{margin-left: 2em;}us-w,h-50-1,代表ul的所有子元素li,宽、高均为50像素,即<li style="width: 50px; height: 50px">us-mr-10-1,代表ul的所有子元素li,右边距10像素,即<li style="margin-right: 10px">uc-bg-f00-1,代表ul的所有子元素li,背景颜色红,即<li style="background: #f00">,uc指令参见《uc颜色指令》nl-,给子元素添加block、fl两个class样式,即<li class="block fl">,nl指令参见《nl子级管控》
进阶教程再举一个粟子:
<table class="us-ml-2em ac us-borderCollapse-collapse us-w,h-50-3 us-bo--3 uc-bg-ff0-3 group-tb">
<tr class="nl--even">
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
</table>
<div class="us-h-20"></div>
<table class="tb">
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
</table>
运行效果如下:
详细解释:us-ml-2em,代表table表格左边距2个字符,即{margin-left: 2em;}ac,代表元素内文字居中,这是《内置样式》,即{text-align: center;}us-borderCollapse-collapse,代表合并折叠表格边框,这是一个典型的驼峰语法,即{border-collapse: collapse;}us-w,h-50-3,代表table的所有三代子元素td,宽、高均为50像素,即<td style="width: 50px; height: 50px">。看到这里,有的同学可能会问,明明从table > tr > td,这怎么数都是两层子级,为什么是3不是2呢?What?纳尼?咋了?其实如果获取table元素并且console.log()输出会就发现,在talbe与tr中间会自动生成一个TBODY标签,那么这样算起来,还真应该是三代子元素。或许不同的浏览器,会有不同的解析方式,这些作者没有过多研究,所以只是简单提一下,遇到这种情况,诸位输出元素看一看就会得出问题症结所在。us-bo--3,代表宽1像素,实线,深灰色边框,即{border: 1px solid #666;}uc-bg-ff0-3,代表三代子元素td背景为黄色,即{background: #ff0;}group-tb,指令组合,将此指令之前的所有样式及指令集合copy,tb是组名,其它元素使用时,直接书写这个组名,即可拉取指令集合。tb,拉取group生成的指令集合。nl--even,子级管控,前文曾有过介绍,这里在表达式后面加了一个even参数,即表达式只对偶数子级元素生效。表达式里的white为子元素文字白色《内置样式》,uc-bg-00f为子元素背景蓝色,表达式里的分项可以用空格,也可以用下划线“_”符号分隔。
页:
[1]