无废话网页重构系列——(8)重构难点:语义和命名

本文作者:大象
本文地址:http://www.cnblogs.com/daxiang/p/4661936.html

网页重构,如果要说什么地方难,那就只有一个:语义和命名。

一、结构上的标签语义

1、不带语义的语义:div块级元素,span行内元素;

2、其它带语义的:p段落,blockquote引用,h1~6标题,有序列表ol li,无序列表ul li,定义列表dl dt dd,一系列格式化文本的strong、em、i、sub、sup…

3、html5里常用的几个:header、footer、aside、nav、article、section、canvas、video…

合理使用语义标签,即使没有样式,机器(Search Engine)和人都能愉快的阅读。

二、标签属性class、id命名

1、提高重用性少用id;

2、一组命名要做到能顾名思义!或者能“望文生义”;

3、语义贴切、冲突几率、渲染性能、协作通畅;

4、只能是 [a-z\d\-] 英文字母+数字+字符“-”,用作脚本钩子的采用“J_”前缀;

5、"-";作长命名时的“分类分隔符(如:tab-nav)”;功能上的“扩展分隔符(如:tab-trigger-active)”,

6、class命名

(1).模块名 ;

(2).模块名-模块状态 ;

(3).模块名-子模块名 ;

(4).模块名-子模块名-模块状态 ;

7、不能用“表象”的词命名,如:大小、颜色、方位…

8、id命名:帕斯卡命名法,CamelName

三、脚本部分

可参考“匈牙利法,小驼峰法,大驼峰法”,建议:

(1)常量 UPPERCASE_WORD;

(2)变量 camelName;

(3)类名 CamelName;

另附常用类命名(有更好的,可以交流):

/* 结构性 */
.header { }
.container { }
.footer { }

/* 站点 */
.site-topbar { }
.site-header { }
.site-footer { }
.topbar-nav { }
.site-logo { }
.footer-service { }

/* 页面: 结构(头部、内容区域、尾部、悬浮挂件)、包裹、导航、搜索、面包屑导航 */
.page-header { }
.page-container { }
.page-footer { }
.page-pendant { }
.page-wrapper { }
.page-site-nav { }
.page-nav { }
.page-search { }
.page-breadcrumbs { }
.page-archive { }
.page-detail { }

/* 模块: 包裹、结构(头部、内容、面板、尾部) */
.module-wrapper { }
.module-header { }
.module-title { }
.module-container { }
.module-panel { }
.module-footer { }

/* 通用模块:模块组件的标题、内容区的标题、副标题 */
.title { }
.headline { }
.subheadline { }

/* 通用模块:手风琴 */
.tab { }
.tab-nav { }
.tab-trigger { }
.tab-trigger-active { }
.tab-container { }
.tab-panel { }
.tab-panel-active { }

/* 通用模块:选项卡 */
.accordion { }
.accordion-panel { }
.accordion-header { }
.accordion-header-active { }
.accordion-container { }
.accordion-container-active { }

/* 通用模块:图文结合,图在侧边 */
.media-side { }
.media-side .object { }
.media-side .caption { }
.media-side .abstract { }
.media-side .metadata { }

/* 通用模块:图文结合,文字覆盖在图上 */
.media-cover { }
.media-cover .object { }
.media-cover .caption { }
.media-cover .abstract { }
.media-cover .bg { }

/* 列表 */
.list { }
.list .item { }
.list-line .item { }
.list-style-dot .item { }
.list-ellipsis .item { }

.first-child .first { }
.last-child .last { }

/* 其它 */
.block-link { }
.inner-link { }
.tag { }
.hr { }

本文为原创文章,同时,某会更新知识点及修正错误,是以转载请务必保留原作者信息!
本文地址:http://www.cnblogs.com/daxiang/p/4661936.html

时间: 2024-07-30 23:16:20

无废话网页重构系列——(8)重构难点:语义和命名的相关文章

无废话网页重构系列——(9)习惯:书写顺序

本文作者:大象本文地址:http://www.cnblogs.com/daxiang/p/4662034.html 以书写顺序来结束<无废话网页重构>系列,是最好不过的了,因为,动手实践是发现.总结和收获的最好途径. 一.基本排版规范 小写.单行.多行选择器用逗号分行.每属性分号分割.单引号.缩进: 二.选择器内属性的顺序和组织 影响文档流的属性(display, position, float, clear, visibility, table-layout) 自身盒模型的属性(width,

【Java重构系列】重构31式之封装集合

2009年,Sean Chambers在其博客中发表了31 Days of Refactoring: Useful refactoring techniques you have to know系列文章,每天发布一篇,介绍一种重构手段,连续发文31篇,故得名“重构三十一天:你应该掌握的重构手段”.此外,Sean Chambers还将这31篇文章[即31种重构手段]整理成一本电子书, 以下是博客原文链接和电子书下载地址: 博客原文:http://lostechies.com/seanchamber

【Java重构系列】重构31式之搬移方法

重构第二式:搬移方法 (Refactoring 2: Move Method) 毋容置疑,搬移方法(Move Method)应该是最常用的重构手段之一,正因为太常用而且较为简单,以至于很多人并不认为它是一种很有价值的重构,但事实并非如此,在最初的代码诞生之后,有些方法可能会被放在一些不合适的地方,例如,一个方法被其他类使用比在它所在的类中的使用还要频繁或者一个方法本身就不应该放在某个类中时,我们应该考虑将它移到更合适的地方.搬移方法,顾名思义就是将方法搬移至合适的位置,如将方法搬移到更频繁地使用

无废话网页重构系列——(4)目录与文件搭建

静态资源分布:重构做好目录和页面文件的部署(1),及页面相关链接,文件名明了,目录层级不紊乱.便于其他部门同事后期肢解文件和项目部署. demo    项目静态资源根目录  -- css    样式目录       -- assets  引用的外部资源,及最常用的模块            -- reset.css  样式重置(要么不用,要么柔和用Normalize.css让样式在各浏览器下统一,要么暴力用YUI3的cssreset.css让样式重置归零)            -- utili

无废话网页重构系列——(7)布局(区块、栅格)、模块组件(module)

本文作者:大象本文地址:http://www.cnblogs.com/daxiang/p/4654800.html 在构建HTML主干结构后,开始编写“页面布局”和“模块组件”: 页面框架由几个主干结构支撑和区分,框架下则是布局,布局是由多个区块组成,区块里面则是栅格列,格子列里是各模块组件,各模块可有边框.内外边距. 用于布局的层,尽量不要设置边框.内外边距. 一.布局 如图: 主要HTML和CSS代码如下: <div class="section"> <div c

无废话网页重构系列——(3)标注与切图

一.经过分析,切片,输出部分图片(1),另外一部分,如小图标,用Web Font 推荐用iconfont. 可以直接PS切片工具,个人推荐PS插件“Cut And Slice Me”(2). 网页,尽可能少的图片! 二.为了后期方便了解页面元素各个尺寸,强烈建议“标注”. 个人推荐PS插件“Assistor PS”. 注: (1):如果图片只是为了占位(Placeholder Image),推荐直接用图片尺寸大小命名,编辑同事后期好知晓:如 640*390 大小的图片,命名成:640390.jp

无废话网页重构系列——(6)HTML主干结构:站点(site)、页面(page)

本文作者:大象本文地址:http://www.cnblogs.com/daxiang/p/4653546.html 在分析和切出设计稿,以及部署项目目录文件后,开始写HTML Demo. 一.<head>里加各类<meta>元素,<link>引入样式.</body>前<script>引入脚本: 二.构建HTML主干结构: 1.网站站点(site),分页头页尾公用的部分: 2.网站子站(page)(频道).单页面专题,分页头页尾公用的部分.正文内容

无废话网页重构系列——(5)基础样式、脚本和图片文件搭建

通过上一篇,目录结构已经出来了,现在需要把相关文件部署到相关目录. 一.框架,放在根目录的 assets 目录, 二.样式部分: 1.样式库,如purecss.Normalize.css等纯样式库,放置在 css  -  assets 目录(1): 2.功能辅助类样式,如“定位.浮动.内外边距”的utility.css,也放置在 css  -  assets 目录(2): 3.自己书写的页面样式.模块组件类样式放置在 css 目录. 三.脚本部分: 1.脚本库,如jQuery, Zepto.js

移动端重构系列1——新建空白页面

移动端重构系列-mobile 本系列文章,如果没有特别说明,兼容安卓4.0.4+,测试demo html5文档申明 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> </body> </html> meta标签 <meta nam