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