思考Web站点设计对类以及id的命名方式

2016-02-19 23:37 2 1 收藏

清醒时做事,糊涂时读书,大怒时睡觉,无聊时关注图老师为大家准备的精彩内容。下面为大家推荐思考Web站点设计对类以及id的命名方式,无聊中的都看过来。

【 tulaoshi.com - Web开发 】

Web开发者(也就是您)可以通过创建CSS类及id名称并使用这些名称来对Div以及其他的页面元素、标签进行标识。对开发人员来说,在命名重新定义XHTML标记(tags)的css selectors时,必须保证其与预定义的标记准确匹配,但就类以及id选择器名称而言,则仁者见仁,智者见智。然而随心所欲的为这些类以及id命名则并不是个好的习惯。
 
  在阅读了由Andy Clarke(of Stuff and Nonsense and All That Malarkey)以及Eric Meyer所撰写的关于css类以及id命名规范的系列文章之后,我开始思考在自己的Web站点设计过程中对类以及ids的命名方式。

  直观命名

  当在设计Web页面以及需要对一个Div进行标识的时候,最自然的想法就是使用可以描述元素所在页面位置的词汇来对其命名。这种方法使得类以及id的名称如下面所示:

top-panel
horizontal-nav
left-side
center-column
right-col

  这些是CSS以及XHTML类和id的有效命名方式。这些词汇简单并且能够使人顾名思义,因此满足了标识页面元素以及相应的CSS样式的需要。

  但问题是这样的名称同页面内容的特定表达方式相关联。这些命名参考了某种特定页面布局中的页面元素位置,因此在这样的布局之外使用就会显得不合适甚至造成理解混乱。同时,这些命名没有涉及文档内容的结构。因此,下面给出了对CSS类以及ID命名更好的方法。

  结构化命名

  结构化的标记意味着表达方式/位置信息同内容的完全分离这其中包括出现在标记(markup)中的类和id名称。

  有标记的相关信息都是用来描述文档的结构而不是外观。这样的特点使得我们可以通过简单的改变CSS的方式来对不同外观格式下的内容(content)以及标记(markup)进行重用。当你理解这种方式时,很容易就可以发现采用页面位置来为类以及id命名的方式在处理如音频(audio)等外观格式上显得非常不合适。因此,应当根据在文档中的使用目的而非出现位置来对类以及id进行结构化命名。

  可以按照如下所示的结构化方式来对类以及id名称命名:

branding
main-nav
subnav
main-content
sidebar

  这些名字同直观命名方式一样非常易懂,但他们描述了页面元素的作用而非位置。这使得代码更加符合使用纯粹的结构化标记(structural markup)的初衷,即开发人员可以在不改变标记的情况下对各种各样媒体下的显示格式进行处理。

  即使你不打算在其他的媒体上对Web页面进行格式修改,使用结构化命名方式还可以帮助你在日后的站点升级或重新设计中更为轻松。例如,结构化命名避免了当一个div同id right-column移动到页面左边后所带来的混乱。对div sidebar的采用这样的命名方式就显得更加适当,因为无论它出现在页面的哪一边,这个名字仍然对开发人员来说直观易懂。

  一些命名惯例

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

  Andy Clarke分析了40份由推崇标准化Web设计理念的开发人员所设计的Web站点的源代码。尽管类以及id名称很不统一,但是还是发现了一些频繁出现的常用名称。这里给出了最常用类/id名称的示例列表:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

header
content
nav
sidebar
footer

  这些常见的类以及id名称是否标志着一种标准的诞生或是普遍接受惯例的形成呢?尽管这是我所希望的,但我并不这么认为。我的确希望能够看见一整套对于我们每天都可以看到的常用页面元素的命名标准。同时,使用标准化的命名方式可以使得寻找页面元素以及对Web站点升级带来方便,尤其当需要在由不同开发人员在不同时间所开发站点中换来换去工作的时候。

来源:https://www.tulaoshi.com/n/20160219/1630253.html

延伸阅读
标签: Web开发
常用的CSS命名规则 头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左右中:left right center 登录条:loginbar 标志:Logo 广告:banner 页面主体:main 热点:hot 新闻:news 下载:...
标签: Java JAVA基础
  JSP是由Sun微系统公司于1999年6月推出的一项技术,是基于JavaServlet以及整个java体系的Web开发技术,利用这一技术可以建立先进、安全和跨平台的动态网站。 JSP 与ASP非常相似。两者都提供在HTML 代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。在ASP或JSP 环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用来...
标签: PHP
  <?php /* $Id: ftp.php,v 2.2 2002/03/12 23:21:28 pauls Exp $ */ /* This software came from http://inebria.com/ */ /* Copyright (c) 2000       Paul Southworth.  All rights reserved. Redistribution and use in source and binary forms, with or without modification, are ...
标签: Web开发
在现在网站建设行业,特别是网站优化,即SEO行业,很多人都用google的pr值来判断一个网站的好坏,当你还在为那个绿色小条欢呼雀跃的时候,当你还在一次次的下载google工具,我想告诉你: 别在沉迷在那样无聊的游戏中了,那只是一种娱乐。那么什么样的网站会获得比较好的排名,或者说怎么去辨别google的网页质量好坏的标准呢?根据中国We...
最近参与的project中需要把用户登录嵌入一个file open对话框,让用户在打开云端文件之前确认登录。 Existing方案: 将用户登录相关功能集成到一个Combo Box中,用户通过其显示窗口描述当前用户账户状态。 –用户已登入账户,显示其用户名 Sign in–用户尚未登入账户,选择该command进行登录操作 Sign out用户已经登入账户...

经验教程

453

收藏

24
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部