WEB前端开发经验总结 Ⅰ(4)
作者:海啸 来源:海啸的地盘 发布时间:2008-06-12 12:23:00
上面,我们讲到了要充分的语意化,其中我们提到了嵌套的问题,这个也是我们做到结构化的一个重要部分。个人认为一个最基本的原则就是尽量减少嵌套。至于为什么这么做,我刚才也给大家做了一个简单的介绍,结构清晰,浏览器解析快。其实结构清晰(够简单,嵌套少),对我们的搜索引擎同样是做起到了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优化(当然只是我个人比较喜欢这个方法,可能有朋友跟我有不同观点。),做了关键字的优化。
对SEO有些了解的朋友都知道,搜索引擎搜索关键字的时候,是先对XHTML标签里的<meta>标签的keyword部分的文字,然后就是标题里的文字,接着就是正文中的h1~h6标签,然后是strong标签中的文字。而我们网站的名称,毫无疑问的会作为关键字的。
所以我这里用h1标签模拟了<img />标签的效果,将网站名称这个关键字在页面里出现了一次,而且是以正文中搜索引擎分析的优先级最好的h1标签,以说明该内容在页面中的关键性。具体的实现代码这里就直接写出来:
#topbar h1{
float:left;
width:220px;
height:58px;
line-height:58px;
overflow:hidden;
font-size:18px;
color:#060;
text-indent:-999px;
background-image:url(../img/logo.png);
}
#topbar h1 a:link,
#topbar h1 a:visited,
#topbar h1 a:hover{
display:block;
width:220px;
height:58px;
line-height:58px;
overflow:hidden;
background-color:transparent;
}
<h1><a href="http://www.yaohaixiao.com/" target="_blank" title="海啸的地盘--享受生活,享受每一天!">海啸的地盘--享受生活,享受每一天!</a></h1>
看了代码,我想大家也很明白了,我们这里利用了text-indent、overflow:hidden;属性以及display:block。我们把LOGO图片作为h1标签的背景,然后用text-indent设置一个超大的负值,然后结合overflow:hidden;属性,让h1标签里面的字都超出到它的布局范围内,overflow:hidden后就在h1标签里看不到文字了,而LOGO图片背景显示出来了。
接着一个关键就是将a标签模拟成图片链接的效果。我们首先将a标签display属性设置为block,强制将a标签显示成块级元素(块级元素和行内元素的知识我们下面马上给大家介绍),给它设置布局大小,这样我们a标签里就是一个块了,而这个块刚好是我们背景logo图片的大小,让你点击的时候感觉是点的一个图片链接,而我们的a标签是嵌套在h1标签里的,继承了H1的text-indent属性,里面的文字超出了a标签的布局范围,没有显示出来,而显示了图片(其实是背景图)。呵呵,图片链接就这样被我们模拟出来了,不过为了更像图片链接,我们又给a标签添加了title属性,来模仿img标签的alt属性,呵呵,模拟得够像吧。


猜你喜欢
- 使用py时可能需要连续运行多条shell 命令1.# coding: UTF-8import sysreload(sys)sys.setde
- 事件背景过年在家正好闲得没有太多事情,想起年前一个研发项目负责人反馈的问题:“老李啊,我们组一直在使用你这边的 gin
- 记录了MySQL 5.7.19 winx64解压缩版安装教程,具体内容如下系统环境:Win7 x64软件准备:mysql 5.7.19 wi
- 解决IDEA翻译插件Translation报错更新TTK失败不能使用有好久一段时间没有用idea的插件Translation,升级后使用翻译
- numpy.ndarray添加元素平常使用的比较多的是list,在list后面添加元素直接是data_list = []data_list.
- 遍历pd.Series的index和value的方法如下,python built-in list的enumerate方法不管用for i,
- 基于smtplib包制作而成,但在实践中发现一个不知道算不算是smtplib留的一个坑,在网络断开的情况下发送邮件时会抛出一个socket.
- 前提示时间一个博友,建议我提供PHP开发环境的搭建文章。当然我们一般在windows平台下开发的居多,那么,今天我就在Windows平台下搭
- 本文实例讲述了Flask框架请求钩子与request请求对象。分享给大家供大家参考,具体如下:请求钩子在客户端和服务器交互的过程中,有些准备
- 这篇文章主要介绍Python的numpy库中的一些函数,做备份,以便查找。(1)将矩阵转换为列表的函数:numpy.matrix.tolis
- 如何在页面错误时向数据库中添加记录?在ASP中,我在页面中添加了On Error Resume Next错误命令,以消除和避免程序错误。现在
- 前言随着人工智能研究的不断兴起,Python的应用也在不断上升,由于Python语言的简洁性、易读性以及可扩展性,特别是在开源工具和深度学习
- PyCharm 中在使用Turtle(海龟)库绘图体系时,代码明明是正确可以运行的,但是没有提示 ,代码出现黄色标记以及红色波浪线 ,经验不
- 写在之前在我们的现实生活中,「日志记录」其实是一件非常重要的事情,比如银行的转账记录,汽车的行车记录仪记录行驶过程中的一切,如果出现了什么问
- 我们经常在处理字符串时遇到有很多空格的问题,一个一个的去手动删除不是我们程序员应该做的事情,今天这篇技巧的文章脚本之家就来给大家讲一下,如何
- WEB标准化之前的互联网是TABLE布局的天下,但随着互联网的高速发展,TABLE布局已经不能满足千变万化的页面所来来的更新压力和服务器压力
- 继团队的CSS3.0中文手册在国内首发以后,最近风风火火的到处吹起HTML5.0和CSS3.0的春风;似乎在这浏览器互相调侃的年代,成就了一
- 前言控制文件(control file)是一个相当小的文件(最多能增长到64M左右),其中包含Oracle需要的其他文件的一个目录。参数文件
- 前言千位分隔符,其实就是数字中的逗号。依西方的习惯,人们在数字中加进一个符号,以免因数字位数太多而难以看出它的值。所以人们在数字中,每隔三位
- <?php ////$strimgsrc = file_get_contents("http://127.0.0.1/530