网站内容结构化探讨[1]

news/2024/5/10 9:27:07/文章来源:https://blog.csdn.net/ddcatlee/article/details/3092166

  无意间浏览到一个承接网页制作的公司的网站——唐宋中国。
  首先网站的设计给我一个很好的印象,因此特意留意了一下它的源代码(做页面的职业病),结果发现了一些问题,而这些问题,可能正好是学习web标准的人常常会遇到的。
懒惰了很久,正在想该写些什么,正好可以以这个网站为例,来探讨一下结构化的一些问题。
特别声明:以此网站为例,纯属偶然,请不要有其他的想法,喵喵妙。

  很多人抱怨CSS难学,其实CSS不是难点,真正难的是看似很容易的XHTML——即内容的结构化。
  结构化是web标准中的重点,也是难点,因为结构化的结果并不是唯一的,也就是说,相同的内容不同的制作者会产生不同的结构。
  但是,由于大部分网页的内容的分类比较固定,例如:新闻列表、标题、内容文字、导航菜单等等,所以其大体的结构化方法也可以基本固定下来,但是无论任何,需要明确的一点是:以有语意的XHTML标签来结构化内容,而不是<div>、<span>取代一切。

  结构化的第一步,不要把重点放在如何接下来用CSS美化。结构化的重要其实在于,提供基本良好的易用性和SEO基础。
  由于篇幅的关系,不能全部分析,只拿几个比较典型的部分来讨论讨论。

一、网站头部分析

1、头部的结构化
  先看一下网站的头部把具体内容简化后的结构代码:

  1. <div class="top">
  2.   <div class="top_con">
  3.     <div class="top_left">......</div>
  4.     <div class="top_right">
  5.       <div class="top_right_top">
  6.         <div class="top_right_top_l">......</div>
  7.         <div class="top_right_top_r">......</div>
  8.         <div class="clear"></div>
  9.       </div>
  10.       <ul id="nav">......</ul>
  11.     </div>
  12.   <div class="clear"></div>
  13.   </div>
  14. </div>
  首先,大家可以发现,这个头部代码嵌套了很多的div,如图1所示。



图1 网站头部结构分析


  而实际上头部的内容包括哪些呢?如图2所示。

图2 网站头部实际内容


  再重新看看图1中布局的目的,如图3所示。


图3 网站头部结构代码用途分析

  由图3大家可以发现,大部分的嵌套层只是为了实现背景、左右两列类似这样的效果,这也是在结构化的时候经常遇到的问题——当制作人员按照拿到 的设计图开始结构化的时候,往往不自觉地把外观的实现当作了工作重点,所有的结构化都是围绕如何实现设计图的效果来展开,这无疑就将表现与结构混在了一 处。
  其实,结构化更好的方法是从网站内容策划书开始,但是目前的状况是,很多时候并没有这个东西,也许很多制作人员从来都听说过这个东西,那么笔者推荐一个做好结构化的简单方法:遵循“加法”原则。
  先写出最简洁的结构,不考虑表现和行为层的东西,只是把内容用带有语意的标签包裹起来,例如导航使用ul,说明文字用p,然后再考虑这个结构是不是可用于完成“表现”,如果实在无法完成表现层的东西,再添加额外的标签,例如div或者span。
  当然,此处说的最简洁的结构,也包括使用div将不同部分的内容区分开,例如页头、网页内容主体、页脚,就可以用3个div来分开。
  同时,还要考虑一定的可扩展性,即当设计改变时这个结构仍然可以完成表现——当然这是一个需要经验的工作,那么在初期,也可以暂时不太考虑这个方面。

  那么本例中的实际结构,其实可以简化为:
  1. <div id="header">
  2.   <div class="logo">......</div>
  3.   <ul class="subNav">......</ul>
  4.   <div class="telNum">......</div>
  5.   <ul class="langSelect">......</ul>
  6.   <ul id="mainNav">......</ul>
  7. </div>
  此处,大家可以发现几个改动:
1)选择器命名
  选择器命名也要遵循“表现”和“结构”分离的元素,类似“top_left”、“top_right”的命名,很明显是“表现”层的东西,如 果某天需要将logo放到右边,如果只修改CSS,那么一个居右的logo,却有个“top_left”的类名,这岂不是很让人疑惑的一件事儿。

2)去掉了多余的嵌套div
  精简后的代码,只有2层嵌套结构(不包括其具体的内容元素,例如img或者a),这无疑比上一个结构更容易解读。
其实作为一个有代码洁癖的人来说,还可以更简化这个结构,但是那样不利于以后的可扩展性。


3)去掉了用于清除浮动的div
  清除浮动的方法有很多,而作者在此不推荐使用增加额外元素的方法,因为如果不需要清除浮动的时候,还要手工去掉这些空元素。

4)id还是class
  id和class都是最基本的选择器,究竟该用何种选择器,一直存在争论。
  首先,要明确的是:id是唯一的,也就是说,同一个页面内只能使用一次(虽然浏览器不会因为多个相同id而报错),因此使用id可以很容易地区分出主要的结构。例如对头部层的定义“id="header"”和主导航“id="mainNav"”。
  但是,如果页面需要和程序结合,程序员往往需要使用id来进行操作,因此,有一部分人提倡表现层使用class而行为层使用id。
  当然这个问题可以通过人员之间的沟通来解决,因此,笔者推荐一种混合用法,即用id来标示页面的主体结构,例如“header”、“mainContent”、“footer”,而适当地使用class来标示大部分内容。
这并不表示每个元素都要有class或者id,要知道,灵活使用 包含选择器可以完成很多事情。

  那么,如此简单的结构,能够完成页头部的设计要求么? 答案是肯定的。

[待续。。。。。。]

原文:http://www.ddcat.net/blog/archives/2008/10/249.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_900172.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站内容结构化探讨[2]--主导航的问题

结构化确实是个让人头疼的工作。为了追求一个好的结构&#xff08;或者说比较好的&#xff09;&#xff0c;往往需要花费掉很多时间&#xff0c;这在追求效率的今天&#xff0c;也许是不被老板允许的。所以很多网站虽然看上去抛弃了表格布局&#xff0c;而其实质上&#xff0c;…

知识产权相关网站2021.7更新

#知识产权相关网站 网站一&#xff1a;WIPO[Directory of Intellectual Property Offices] https://www.wipo.int/directory/en/urls.jsp 网站二&#xff1a;国家知识产权 - 公共服务网 http://ggfw.cnipa.gov.cn:8010/PatentCMS_Center/ 网站地图-IPR http://ipr.mofco…

厚积薄发2021最新个人站长建站模版发布震惊【qipinfuwu.com.V1.0】

厚积薄发2021最新个人站长建站程序发布震惊【qipinfuwu.com.V1.0】实例可直接运行 1.0文件清单 建站程序及文件 1-主页模块.bat 代码 echo off for /f %%i in (‘dir /ad /b’) do copy zhuye.html %%i for /f %%i in (‘dir /ad /b’) do copy 4-页面清单.bat %%i for …

Java、JSP校园信息交流发布网站设计与实现

技术&#xff1a;Java、JSP等 摘要&#xff1a;在高新技术发展的今天&#xff0c;因特网的高速发展给人们带来了极大的便利&#xff0c;使人们的生活变得更加的丰富多彩&#xff0c;人们在生活中通过网络交流获得更多的信息。特别是年轻的大学生群体中更是对周围的信息交流有着…

Java、JSP校友录管理网站的设计与实现

技术&#xff1a;Java、JSP等 摘要&#xff1a;随着B/S模式越来越受到人们的接受&#xff0c;各种在浏览器中给我们带来的服务应运而生&#xff0c;更多的用户花费更多的时间在这些系统中&#xff0c;在随着潮流的同时&#xff0c;我便想利用这次毕业设计的时间来做一个对广大学…

利用QQ通讯组件实现网站立刻联系客服以及一键加群的功能【C#winform实现】

创建一个windows窗体&#xff0c;添加 .cs代码&#xff1a; private void simpleButton1_Click(object sender, EventArgs e){Process.Start("CHROME.EXE", "http://wpa.qq.com/msgrd?v3&uin联系人的qq号&siteqq&menuyes");/*<a target&qu…

两款 Js 插件为你的网站添彩

在网页中合理的利用一些特效能带给人眼前一亮的感觉。今天给大家分享两款很有意思的 Js 特效插件。 输入框打字冒光特效 这款特效本博客也在使用&#xff0c;也有很多人问过是怎么实现的。具体的效果请看 GIF 图&#xff1a; 食用方法&#xff1a; 普通网站&#xff1a; 在网站…

从ST网站下载STM32标准库的流程

打开搜索器&#xff0c;搜索ST官方网站&#xff0c;打开。 如果英文不是很好&#xff0c;点击更换中文。 找到STM32微控制软件&#xff0c;点击打开。 找到标准外设软件库 点击我们想要的系列&#xff0c;示例以F4为基准。 点击获取软件。 点击下载 STM32F4

自学网页开发,打算自己开发一个简单的网站,记录下自己开发过程

本人去年转行软件行业&#xff0c;在深圳一家外包公司工作&#xff0c;学的东西跟自己想做的JAVA WEB开发完全不同&#xff0c;只能说是了解了下软件行业的一点门路吧&#xff0c;为了坚持自己的路&#xff0c;打算自己开发一个简单的网站&#xff0c;并记录下自己开发过程&…

我个人制作的网页网站作品,自学网站制作,自学网页制作网页制作视频教程

要想学做网页&#xff0c;首先得了解制作网页的工具Dreamweaver&#xff1a;这是网页三剑客之一&#xff0c;专门制作网页的工具&#xff0c;可以自动将网页生成代码&#xff0c;是普通网页制作者的首选工具&#xff0c;界面简单&#xff0c;实用功能比较强大。建议初学者选用。…

vue开发旅行网站教程(1):项目开发流程及环境搭建

第一章&#xff1a;项目起步 一、整体开发流程 二、开发所需环境 第二章&#xff1a;环境搭建 第一步&#xff1a;nodejs及npm的安装 下载地址&#xff1a;node官网下载地址&#xff0c;下载相应的安装包&#xff0c;安装即可。 安装完毕后&#xff0c;winr&#xff0c;输入…

一个神奇的网站(快快乐乐写时序图)

一个神奇的网站 一个神奇的网站:https://www.websequencediagrams.com/ 代码即效果如下:

JAVA 爬取指定网站的数据并存入MySQL数据库中 maven +httpclient+jsoup+mysql

最近在做一个小项目&#xff0c;因为要用的数据爬取&#xff0c;所以研究了好多天&#xff0c;分享一下自己的方法 目录结构&#xff1a; 自己创建maven工程&#xff0c;导入相关依赖&#xff1a;pom.xml <?xml version"1.0" encoding"UTF-8"?>&…

阿里云快速搭建个人网站

阿里云服务器快速搭建个人网站 在服务器购买的前提下进行这一步。 我们需要下载服务器搭建的软件&#xff1a; 这里附上百度云的下载地址&#xff1a; 链接&#xff1a;点击下载 提取码&#xff1a;9qcr 现在打开putty和WinSCP,putty是进行一些命令操作&#xff0c;WinSC…

分享一下本人常用前端的网站

前言 这些是我收藏的前端网站&#xff0c;有很多好用的前端工具网站&#xff0c;平时写代码经常用到&#xff0c;也可以访问我的个人博客查看哦&#xff08;访问地址在底部&#xff09;&#xff0c;我的个人博客会不定期更新&#xff0c;分享一些有用的知识点及工具类网站&…

推荐:学习unity Shader必须知道的网站Shadertoy

推荐&#xff1a;学习unity Shader必须知道的网站Shadertoy 2019年04月10日 18:02:28 Jovial心态 阅读数 92 版权声明&#xff1a;本文为博主原创文章&#xff0c;遵循 CC 4.0 by-sa 版权协议&#xff0c;转载请附上原文出处链接和本声明。 本文链接&#xff1a;https://blo…

爬虫案例:中国大学排名及网站更新后爬取问题解决(2021.3.28)

解答标签string属性Tag.string方法获取不了的问题 本次爬虫的URL&#xff08;上海软科中国大学排名&#xff09;: https://www.shanghairanking.cn/rankings/bcur/2020 案例来源&#xff1a;中国大学慕课嵩天老师的“Python网络爬虫与信息提取” 由于该课程的录制时间较早&am…

推荐有关git的一张图片和2个网站

原创文章属于《Linux大棚》博客&#xff0c;博客地址为http://roclinux.cn。 文章作者为 rocrocket。 为了防止某些网站的恶性转载&#xff0c;特在每篇文章前加入此信息&#xff0c;还望读者体谅。 [正文开始] 一张描述git数据迁移的示意图&#xff0c;很清晰&#xff0c;对…

studio styles网站download按钮无法使用

解决方法&#xff1a;点击F12&#xff0c;查看网页源码。选择选取页面中的元素&#xff0c;选择download按钮&#xff0c;如下图所示&#xff1a; downloadExisting后面的数字代表主题的ID。 在网站中输入https://studiostyl.es/settings/downloadScheme/2372?versionnull 即可…

支付宝电脑网站支付

准入条件 营业执照通过ICP备案的网站使用沙箱 沙箱接入&#xff1a;直接使用沙箱提供的开发参数&#xff0c;无需进行应用的创建&#xff0c;绑定&#xff0c;上线和签约 node.js&#xff1a; 基于chrome v8引擎的JavaScript运行环境使用了一个事件驱动&#xff0c;非阻塞I…