一种页面制作方法

做前端也有几年时间了,不敢说能把他看地多透,但是多多少少还是有些自己的东西。下面以 Tudou.com 的首页为例,总结总结。

Html 演示地址:http://www.33lab.cn/demo/200802/tudou.htm

就制作而言,我将一张页面分为四层:框架、布局、模块、列表和数据块。

一、框架

页面的框架基本上都是:“头”、“主体”、“尾”。但是对于一些页面如Tudou.com,由于布局的需要,还应在“头”的下面还要加个“菜单”。

二、布局(以下用#ID表示页面元素)

#Head和#Foot里的就不说了,具体查看演示页面源码。

布局说的是将#Main里的内容分成几大块。我们看Tudou.com,#Main里典型的左右结构,我们用#Layout_1,#Layout_2表示。如图

三、模块

布局#Layout_1,#Layout_2里的块就是模块了,

按我的理解,模块至少要有一个ID,Class则要视页面设计,给需要重用的加上。

关于模块的ID名称,要取个有意义的名字,当然偷懒的可以用#Col_1,#Col_2,。。。

模块的Class名称用.cols_1,.cols_2,。。。

模块内部的如下图

四、列表和数据块

模块的主体是由列表组成的,而列表里则包含数据块。

按我的理解,页面上的信息其实就是不同类型的列表。我们应将典型的列表方式提取出来,放在公用样式里(public.css)。

以Tudou.com为例,需要定义到public.css里的列表至少要有以下三种:

   1. .list-v 垂直列表方式 (图片和文字成垂直排列)
   2. .list-h 水平列表方式 (图片和文字成水平排列)
   3. .list-t 文字列表方式

数据块其实是微格式的一个变相应用,给不同的数据元素定义固定的结构。

Tudou.com 需要定义的数据块有:

   1. .mVideo (视频)
   2. .mList (豆单)
   3. .mUser (用户)

比如 .mVideo 应该是这样的:

<div class=“mVideo”>
    <div class=“p”><a href=“” title=“”><img src=“” alt=“阿联又挂彩 有望首发战公牛” /></a></div>
    <div class=“d”>
        <div class=“d_name”><a href=“” title=“”>阿联又挂彩 有望首发战公牛</a></div>
        <div class=“d_user”><a href=“” title=“”>阿联又挂彩 有望首发战公牛</a></div>
        <div class=“d_length”>06:88</div>
        <div class=“d_time”>发布时间:<span>2007-10-08 14:31</span></div>
        <div class=“d_intro”>阿联又挂彩阿联又挂彩阿联又挂彩</div>
        <div class=“d_honor”>荣誉:<span><img src=“” alt=“&#199;&#191;” /></span></div>
        <div class=“d_view”>人气:<span>222</span></div>
        <div class=“d_comment”>评论:<span>323</span></div>
        <div class=“d_favorite”>收藏:<span>32</span></div>
        <div class=“d_type”>类型:<span><a href=“” title=“”>&#181;&#231;&#211;°</a><a href=“” title=“”>&#181;&#231;&#202;&#211;&#190;&#231;</a></span></div>
        <div class=“d_tag”>标签:<span><a href=“” title=“”>Twins</a><a href=“” title=“”>&#209;&#221;&#179;&#170;&#187;á</a></span></div>
        <div class=“d_subject”>专题:<span><a href=“” title=“”>±&#172;&#193;&#207;</a></span></div>
    </div>
</div>

最后,附上关键字表,就是一些用于公共定义的ID和Class名称。
ID

   1. #B-* // Body用
   2. #Head, #Main, #Foot //布局用ID
   3. #Message // 系统消息用
   4. #Logo, #Toolbar, #Search, #Menu // Head内元素
   5. #Layout_*, #Group_*, #Col_* // Main内元素
   6. #Links, #CopyRight // Foot内元素
   7. #B* // 广告位,与class=”b”结合使用
   8. #Plugin // Banner用

Class

   1. .txt, .btn, .label_checkbox, .label_input, .handle // 表单内元素
   2. .meat // 模块主体元素
   3. .list_*(.list_v, .list_h, .list-t, .list_top, …) // 列表元素,详见“列表”
   4. .m // 更多,可延伸至“绝对定位于右上角”的元素
   5. .s1, .s2, … // 用于子单元块需各自定义样式的元素,如菜单、排行榜等
   6. .s // 特殊元素,如果一个元素相对于兄弟节点特殊,则用之
   7. .b // 广告位
   8. .p, .d, .d_*, .h // 数据块内元素,分别为图片、详细、详细内元素、操作
   9. .handle // 操作元素
  10. .m_*(.mVideo, .mComment, .mUser, .mSubject, …) // 数据块元素
  11. .*_fix // *元素的补丁元素
  12. .current // 当前元素

百度IM名敲定“百度Hi”内测(图)

科技时代_独家:百度IM名敲定“百度Hi”29日起内测(图)
“百度Hi”的首个LOGO(文雄 摄)

 

科技时代_独家:百度IM名敲定“百度Hi”29日起内测(图)
百度公司门口摆放的“百度Hi”内测宣传易拉宝(文雄 摄)

独家:百度IM名敲定“百度Hi”29日起内测(图)

百度Hi登录界面

  新浪科技讯 2月29日0时0分消息,百度今日凌晨在公司内部公布了IM产品内测通知。根据该通知,百度IM产品名字已敲定为“百度HI”。另据消息人士透露,百度公司计划于29日上午正式展开该产品的全员内测。

  在此之前,外界关于百度IM的最新消息是,百度IM产品中文名字暂定为“百度 HI”。而今日上午,新浪科技曾获悉一张百度IM截图。从截图上看,百度IM软件名叫“Baidu Messenger”,并不是之前网友热传的“百度小声”或者“百度说吧”。

  不过,百度官方当时未就该图片与名字发表评论。有内部人士对此指出,该界面是百度IM产品测试期间的一个版本,Baidu Messenger的名字也是暂定,最终名字与软件界面有望在下周敲定。

  百度有意推IM产品的传闻由来已久,近期在其官网最新公布的招聘页面中,百度已向外界罗列出即时通信客户端软件研发工程师(搜索新产品研发部)、即时通信软件产品经理(客户端软件业务部)等职位,上述工作地点均在北京,百度IM战略布局初具雏形。

  随后,新浪科技获悉一封百度公司内部邮件,该邮件面向全体员工征集对公司做IM(即时通信软件)的意见和看法。这是继宣布招聘IM研发人才之后,百度在IM领域的又一重要进展。

  值得注意的是,百度CEO李彦宏此前也对外界风传百度将做IM的消息保持高度关注,他曾评论说“百度小声是个不错的名字,我喜欢,就是不知道是谁的创意。”上述“百度小声”正是百度IM名字的一个传说版本。

  有相关人士表示,百度曾考虑过“百度小声”、“百度说吧”、“百度 HI”等中文名字,最终带有百度空间“HI”印记的后者在内部获得较高支持率。实际上,百度对IM产品的定位也正是为满足其社区用户需求。

  业内人士认为,百度去年宣布将进入C2C市场,已引起阿里巴巴方面的高度关注。如果百度大举踏入IM市场,未来难免在市场中正面遭遇腾讯,IM市场的格局也因此添加几分不确定性。(全智 韩枝)