WEB前端开发经验总结(2)
作者:海啸 来源:Yaohaixiao博客 发布时间:2009-07-20 18:01:00
呵呵,说了半天,还是没有说什么是结构化,什么才是结构清晰啊?不要急。还记得我刚才提到的那几个标签吗?
h1~h6–如果你要显示的数据是作为标题显示的时候,就用这些标签,因为这个标签的意思就是说,这个是一个标题,不仅我们的用户很容易理解h-head的英文字母缩写,我们的另外一个用户搜索引擎也可以很容易理解它。呵呵,看到了吧,一个充分结构化的页面,对用户是十分友好的。
p–Paragraph(段落)
ul–unorglized list(无序的列表)
ol–orglized list(有序的列表)
li–list item(列表项)
form–表单
div–division(区域)
我这么一写,大家估计开始明白了,原来XHTML标签是有着自己的意义的(至于其他的标签的语意义,大家可以自己到W3C看看它的解释,也可以查看语义化你的HTML标签和属性),所以我们讲要语意化的意思,就是用合理的标签来显示数据,比如前面提到的,是标题,就应该用h1~h6标签,如果是一个段落的介绍文字,那么就应该使用p标签,如果是显示的一个没有顺序的列表,就应该用ul标签,如此…
所以看这个例子里
<h2>Ajax标签导航实例详解</h2>
这么写就是很合理的,h2标签就说明这里是个标题。而这么写:
.title{
font-size:18px;
…
}
<div class=”title”><strong>Ajax标签导航实例详解</strong></div>
虽然你用了strong来强调说明这部分文字,但是还是没有h2标签来的直接明了。
还有这么写
<div class=”ariticle-title”><h2>Ajax标签导航实例详解</h2></div>
也不是我们推荐的,可以不用嵌套层的地方,我们尽量不要去过多的嵌套层,减少嵌套会让我们的浏览器解析起来会更容易,速度更快。
所我们使用WEB标准开发页面,绝对不是单纯的把以前的table换成DIV就OK了。而采用标准制作页面,也不意味着我们就不使用table。只要把握我刚才说的原则,[b]使用合理的标签显示相应特征的数据。[/b]
其实我们的table标签是一个很好的用来显示二维数据的标签,而table标签也确实是设计出来用来显示数据的,而不是用来布局的,只是我们当时的设计师们都用table标签来布局了。
上面,我们讲到了要充分的语意化,其中我们提到了嵌套的问题,这个也是我们做到结构化的一个重要部分。个人认为一个最基本的原则就是[b]尽量减少嵌套[/b]。至于为什么这么做,我刚才也给大家做了一个简单的介绍,结构清晰,浏览器解析快。其实结构清晰(够简单,嵌套少),对我们的搜索引擎同样是做起到了SEO的效果。怎么讲?大家想想,嵌套N多层,跟我们以前使用table设计时,table套table的区别就不大了,而那种含有大量冗余信息的页面,搜索引擎解析的时候也很费力啊。所以我们现在有了WEB标准,就不要再去犯以前的错误了。
说到SEO优化,让我们来看看我的例子中对LOGO的处理,XHTML代码如下:
<div id=”topbar”>
<h1><a href=”http://www.yaohaixiao.com/” target=”_blank” title=”海啸的地盘–享受生活,享受每一天!”>海啸的地盘–享受生活,享受每一天!</a></h1>
<div id=”search-bar”>
<form name=”frmsearch” id=”frmsearch” action=”" method=”post”>
<label for=”keyword”>站内搜索:</label>
<select id=”topics”>
<option value=”0″>全部主题</option>
<option value=”1″>(X)HTML</option>
<option value=”2″>CSS</option>
<option value=”3″>Javascript</option>
<option value=”4″>XML</option>
<option value=”5″>ASP/ASP.NET</option>
</select>
<input type=”text” name=”keyword” id=”keyword” value=”请输入搜索关键字” maxlength=”60″ />
<input type=”reset” name=”btnsearch” id=”btnsearch” value=”开始搜索” />
</form>
</div>
呵呵,当大家用浏览器浏览时,可能会以为这里是一个<img />标签吧?其实我这里做了一个简单的SEO优化(当然只是我个人比较喜欢这个方法,可能有朋友跟我有不同观点。),做了关键字的优化。


猜你喜欢
- 一、概述及完整代码对MNIST(MixedNational Institute of Standard and Technology dat
- 说到机器学习,大家首先想到的可能就是Python和算法了,其实光有Python和算法是不够的,数据才是进行机器学习的前提。大多数的数据都会存
- 信号(signals)Flask信号(signals, or event hooking)允许特定的发送端通知订阅者发生了什么(既然知道发生
- 前言当数据库中存量数据较多时,或者是在批量插入操作时,很容易出现插入重复数据的问题。一、三种方法在 mysql 中,当存在主键冲突或唯一键冲
- 错误信息这是新建一个项目还原问题,node简单写了个数据返回关键代码const express = require('express
- 直接使用Python来实现向量的相加# -*-coding:utf-8-*-#向量相加def pythonsum(n): a = range
- 关于Python 黑魔法 metaclass 的两种极端观点:这种特性太牛逼了,是无所不能的阿拉丁神灯,必须找机会用上才能显示自己的 Pyt
- strftime()函数的用法strftime()函数可以把YYYY-MM-DD HH:MM:SS格式的日期字符串转换成其它形式的字符串。s
- 具体就不做详细讲解了,直接上代码:<!DOCTYPE html><html><head><meta
- 前言最近新来的小老弟问我,按照公司规定,电脑只有十分钟就锁屏,但是他不想让电脑在空闲十分钟后锁屏。于是我问他,是不是想挑战一下公司信息安全?
- MySQL5的乱码问题可以用下面的方法解决:1.设置phpMyAdmin Language:Chinese simplified (zh-u
- 本文实例讲述了Python pygorithm模块用法。分享给大家供大家参考,具体如下:pygorithm:一个用纯粹python编写的Py
- 效果如下:代码如下:<!DOCTYPE html><html> <head> <meta char
- 有一个需求, 需要从数据库中导出两张表的数据到同一个excel中鉴于是临时的业务需求, 直接使用Navicat 进行查询并导出数据.数据涉及
- Python中pass的作用空语句 do nothing保证格式完整保证语义完整以if语句为例,在c或c++/java中:if(true);
- 一、迭代器迭代器就是iter(可迭代对象函数)返回的对象,说人话.......可迭代对象由一个个迭代器组成可以用next()函数获取可迭代对
- Oracle 的正规表达式的实施是以各种 SQL 函数和一个 WHERE 子句操作符的形式出现的。如果您不熟悉正规表达式,那么这篇文章可以让
- 目录1、压缩并输出tar.gz文档2、tar解压缩查看官方文档,官方自带的演示:// 官方演示package mainimport ( &n
- 什么是docstring在软件工程中,其实编码所占的部分是非常小的,大多是其它的事情,比如写文档。文档是沟通的工具。 在Python中,比较
- 一、I/O模型IO在计算机中指Input/Output,也就是输入和输出。由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执