Frozen UI 的css规范

css规范

和谐而论,编写组件前请认真研读此规范,然后再开始编码!

组织规范

FrozenUI 的模块组织方式分为四个部分:

base(reset + type + animation + icon + mixin + variable)

util(arrowlink + border + grid + layout)

component(UI组件,包括css组件和js插件中使用的)

vip(业务组件)

可以参考下面的规范在此基础上扩展出自己的业务组件。

命名规范

统一使用ui为前缀作为命名空间。

class 名称中只能出现小写字符和破折号(dashe)(不是下划线,也不是驼峰命名法)。破折号应当用于相关 class 的命名(类似于命名空间)(例如.ui-btn 和 .ui-btn-danger)。

避免过度任意的简写。.btn 代表 button,但是 .b 不能表达任何意思。

class 名称应当尽可能短,并且意义明确,不要使用表现形式(presentational)的名称。

基于最近的父 class 或基本(base) class 作为新 class 的前缀。

模块名如果是两个单词组合使用简单连写的方式,如ui-tooltips而不是ui-tool-tips。

.ui-btn-lg.disabled

{命名空间}-{模块}-{属性}.{状态}

.ui-dialog-cnt

{命名空间}-{模块}-{子模块}

描述属性的class应该基于当前的class,层级不超过3级

.ui-form-item ui-form-item-link

{命名空间}-{模块}-{属性}.{状态}

除了常用状态的class,不能直接使用其他不带前缀的class,如

<div class="ui-btn primary">确认</div>

应该写为

<div class="ui-btn ui-btn-primary">确认</div>

不强制所有class都必须带父class,简单的组件可以直接使用子class,如

<span class="ui-txt-highlight">ui-txt-highlight</span>

而不是

<span class="ui-txt ui-txt-highlight">ui-txt-highlight</span>

因为是在移动端使用,dom结构并不会太复杂,因此不建议过多使用class嵌套,可以直接使用标签名的直接使用标签名。 如建议使用

<ul class="ui-list">
        <li>1</li>
        <li>2</li>
        <li>3</li>
    </ul>

而不使用

<ul class="ui-list">
        <li class="ui-list-item">1</li>
        <li class="ui-list-item">2</li>
        <li class="ui-list-item">3</li>
    </ul>
状态类:
单词意思
show显示
hide隐藏
current当前状态
active激活态
checked选中态
selected已选中状态
disabled失效状态
done完成状态
focus聚集状态
blur失去焦点状态
约定的一些简写:
缩写原单词
-ssmall
-lglarge
-lleft
-rright
-ttop
-bbottom
-thumbthumbnail
-imgimages
-navnavigation
-cntcontent
-hdheader
-bdbody
-ftfooter
-txttext
-btnbutton
-multi多个
-info信息内容
一些常用的属性或模块:
单词意思
-wrap外层
-default默认样式
-pure简版
-stable稳的,用于灰色背景
-border/-outline带边框的
-halve两等分
-trisect三等分
-cover通栏
-tiled平铺
-vertical垂直
-horizontal横向
-divider分割
-muted弱的
-group组的
-halve2等分
-trisect3等分
-info信息
-news消息
-success成功的
-warn警告的
-highlight高亮的
-item子元素
-title标题
-subtitle小标题
-state状态
-guide引导性
-link链接
-bar横块

只要词义表达了组件要实现的功能或者要表现出来的的外观就可以了。

例如:

<div class="ui-tooltips ui-tooltips-warn">
        <div class="ui-tooltips-cnt ui-tooltips-cnt-link">
            <i></i>当前网路不可用,请检查你的网路设置。
        </div>
    </div>

SASS编写

避免不必要的嵌套。只有在需要给父元素增加样式并且同时存在多个子元素时才需要考虑嵌套。

字体颜色,字体大小,行高,border颜色,背景颜色等基本属性作为变量,并mixin常用代码段。

CSS编码规范

参考http://alloyteam.github.io/code-guide/#css

 

转载于:https://my.oschina.net/u/583531/blog/858941

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值