发表于: 2020-05-12 22:57:04

1 1395


今天的任务:

拆出官网的header和footer,还未完成媒体查询,

学习css的模块化处理:

从之前任务的样式作用域及模块化的核心思想,我们可以把样式进行一个分类,像这样:

.mode-a{/* 定义一个模块 */}

.type-a{/* 模块中的差异化定义 */}

.mode-name{/* 针对单个模块的个性化定义 */}

 

<div class="mode-a type-a mode-name">

...

</div>


mode-a:基类——模块的基础表现。包含了模块中大部分的状态。

type-a:扩展类——用于对使用基类的模块进行小范围的修改

mode-name:模块名——模块在某一作用域中的唯一名称。

 

在手打css遇到的问题可以大致归纳为以下几点:

· 选择器繁琐冗长;

· 命名冲突;

· 层级结构不清晰;

· 代码难以复用;

所以我们只需要提供一个公共css库来存放我们的公共样式以及公共模块即可实现代码复用。

然后我们在其他的css文件中引用这个common.css,这样就实现了代码的复用,只要是想全局共享的样式和模块,只要在这里添加进去就可以了。


学习NEC的代码规范,以分类命名的方法对现阶段的任务进行优化:

  1. 重置(reset)和默认(base)(tags):消除默认样式和浏览器差异,并设置部分标签的初始样式,以减少后面的重复劳动!可以根据网站需求设置!
  2. 统一处理:建议在这个位置统一调用背景图(这里指多个布局或模块或元件共用的图)和清除浮动(这里指通用性较高的布局、模块、元件内的清除)等统一设置处理的样式!
  3. 布局(grid)(.g-):将页面分割为几个大块,通常有头部、主体、主栏、侧栏、尾部等!
  4. 模块(module)(.m-):通常是一个语义化的可以重复使用的较大的整体!比如导航、登录、注册、各种列表、评论、搜索等!
  5. 元件(unit)(.u-):通常是一个不可再分的较为小巧的个体,通常被重复用于各种模块中!比如按钮、输入框、loading、图标等!
  6. 功能(function)(.f-):为方便一些常用样式的使用,我们将这些使用率较高的样式剥离出来,按需使用,通常这些选择器具有固定样式表现,比如清除浮动等不可滥用!
  7. 皮肤(skin)(.s-):如果你需要把皮肤型的样式抽离出来,通常为文字色、背景色(图)、边框色等,非换肤型网站通常只提取文字色!
  8. 状态(.z-):为状态类样式加入前缀,统一标识,方便识别,她只能组合使用或作为后代出现(.u-ipt.z-dis{},.m-list li.z-sel{})。

明天继续完成任务1415



返回列表 返回列表
评论

    分享到