浏览器能弥补宋体缺陷?

 更新时间:2016年9月20日 19:05  点击:2077

作者BLOG:http://chouyuchouyu.bokee.com

本文将讨论中文绝对字号在浏览器的缩放显示过程中的显示效果。

先来说一下宋体中文的显示效果。宋体文字显示成12px、13px、14px、15px、16px、18px以及25px+的时候,效果是比较理想的。

下图是宋体不同字号文字在浏览器(IE7 beta除外)中显示的效果:

从图中可以看到,当宋体显示为17px、19px-24px时,易出现锯齿、笔画不均的现象。显示为25px以上时,文字边界被平滑处理,但是明显不如12px或14px时显示的那样清晰。

浏览器是如何放大页面文字的:

当我们将网页上的文字放大的时候,实际上是使文字以另外一个较大的字号显示。比如,在Firefox中,一个14px的中文被放大一挡的时候,显示为15px;再放大一挡则显示为17px。当Firefox将文字放大为17px的时候,显示效果也是不理想的,象IE中显示17px中文一样的不理想。

在我们的印象中,似乎是IE浏览器不能缩放,而其它浏览器(比如,Firefox、Opera…)可以,可以缩放文字甚至是整个页面。而实际上它们的区别是,IE浏览器只能对相对字号起作用,其它浏览器对相对、绝对字号都有效。不过,无论是哪一个都没能克服宋体“12-16px、18px”的局限。

下面,我们来看看目前几个主流浏览器的缩放功能:

Mozilla Firefox

Firefox的“缩放功能”是缩放文字大小,而不改变页面上的其它元素。在“查看-文字大小”中,用户可以选择放大或缩小文字的显示。无论使用的是相对字号还是绝对字号,一视同仁。

Firefox的“缩放功能”只提示通过chtrl+“+/—”可以放大或缩小文字,并没有显示当前的缩放倍数。所以,在这里,我只能用“放大一挡…”来描述。下表是12px的宋体文字在Firefox中,逐级放大后的效果:

< 在分层开发web应用时,web不要过分强调代码的重用性,重用的前提是不影响模块结构的清晰
否则action配置复杂,模块之间的相互调用太多,容易引起混乱以上的观点在web层肯定适用,也就是client层当然,往较底层的代码,在业务层,还是要偏重讲究复用性的,dao层更是

  举例说明:

  *update中的一个例子
  需要查出数据进行更新,一种方式是用LoadXXXAction查出,用UpdateXXXAction进行更新;
以上做法导致:一个简单的更新模块,struts配置需要两个action。

  另一种方式是在UpdateXXXAction中进行分支判断,init就用load逻辑,update就update数据;
重用的是较底层的业务load和update,且只要配一个action;而且以后修改模块,用户也不用在类之间跳来跳去了:一个action类,一个page;(结论:一个模块一个action)


  *query的例子(观点有改变,这种query设计将多个模块的query在一个action,反而使结构不清溪,有时未必一定要追求action配置最少,而是要追求模块本身的清晰,所以以下的做法是不合适的)
查询的界面往往雷同,通常是查询条件+列表,所以一类查询可以放到一个action里面,比如所有对order的查询,用act区分查询类型(审核查询,回单查询...)和查询后到的页面类似的还有如xxxInfoX.do获取单条记录的xml流,可用act区分查询的table(party,vehicle...)
(一组相似的查询一个action)XXXX

  *更复杂的录入

  对更复杂的交互,一个模块一个action更能显出优势来,比如以前做过的ContractPayment和现在的配货单,一个模块往往要操作三张关联的表,这时候在一个action中,用act区分动作,再结合session bean,每次都只对session bean的部分进行操作,直到最后完成全部交互后一起提交

  *保持大模块的独立性

  一个大的模块中的小模块应该只属于该大的模块,而不是引用其他大模块中的小模块比如订单查询,在运单中也需要,但建议在运单大模块中添加,而不是在订单中添加了再在运单中引用从维护角度讲,大模块间的相互引用会影响可维护性。当然,适当的引用还是可以简化开发的,特别是确定和业务模块无关的小模块(以后不会随业务的改变而有变动),比如在运单大模块中的查看一张订单信息的小模块,仅是查看一条信息而已,可以跨模块引用。



  关键词不是仅限于单个的词,还应包括词组和短语。

  我们知道,在搜索引擎中检索信息都是通过输入关键词来实现的。因此正如其名所示,关键词的确非常关键。它是整个网站登录过程中最基本,也是最重要的一步,是我们进行网页优化的基础,因此怎么强调其重要性都不过分。然而关键词的确定并非一件轻而易举的事,要考虑诸多因素,比如关键词必须与你的网站内容有关,词语间如何组合排列,是否符合搜索工具的要求,尽量避免采用热门关键词等等等等。所以说选择正确的关键词绝对是需要下一番工夫的。

  那么如何才能找到最适合你的关键词呢?首先,要仔细揣摩你的潜在客户的心理,绞尽脑汁设想他们在查询与你有关的信息时最可能使用的关键词,并一一将这些词记录下来。不必担心列出的关键词会太多,相反你找到的关键词越多,用户覆盖面也越大,也就越有可能从中选出最佳的关键词。

  我们经常听到这样的事例:一家公司的网站在搜索引擎上排在了前20名,业务量随之猛增到原来的10倍。而另一家公司排名同样也在前20位,可业务量前后却一点没变化。是什么造成了如此大的差异?原因很简单,就是前一家公司选择了正确的关键词,而后者在这方面则犯了致命的错误。这一事例说明,正确选择关键词对企业网站营销的成败是何等重要。

  .....................................................................................

  ■ 选择相关的关键词

  对一家企业来说,挑选的关键词当然必须与自己的产品或服务有关。不要听信那些靠毫不相干的热门关键词吸引更多访问量的宣传,那样做不仅不道德,而且毫无意义。试想一个查找测速仪的人,会对你生产的酱油感兴趣吗?当然不。必须承认,有时这种作法的确能提高网站的访问量,但既然你目的是销售产品,不是提供免费的小道消息,那么靠这种作弊手段增加访问量又有何用呢?

  .....................................................................................

  ■ 选择具体的关键词

  我们在挑选关键词时还有一点要注意,就是避免拿含义宽泛的一般性词语作为主打关键词,而是要根据你的业务或产品的种类,尽可能选取具体的词。比如一家销售木工机具的厂家,“Carpenter Tools”不是合适的关键词,“Chain Saws”则可能是明智的选择。

  有人会问,既然“Carpenter Tools”是集合名词,涵盖了厂家所有的产品,为什么不用?我们不妨拿Carpenter Tools到Google一试,你会发现搜索结果居然在6位数以上(实际数字为189,000),也就是说你的竞争者有近 200,000个!想在这么多竞争者当中脱颖而出几乎是“不可能完成的任务”。相反,“Chain Saws”项下的搜索结果则少得多(69,800个),你有更多的机会排在竞争者的前面。

  .....................................................................................

  ■ 选用较长的关键词

  与查询信息时尽量使用单词原形态相反,在提交网站时我们最好使用单词的较长形态,如可以用“games”的时候,尽量不要选择“game”。因为在搜索引擎支持单词多形态或断词查询的情况下,选用“games”可以保证你的网页在以“games”和“game”搜索时,都能获得被检索的机会。

  .....................................................................................

  ■ 别忘错拼的单词?

  不少关于如何选择关键词的文章都特别提到单词的错误拼写,如“contemorary modern coffee tables”,提醒我们别忘将之纳入关键词选择之列。其理论是,有些单词经常被用户拼错,考虑到一般人不会以错别字作为自己的目标关键词,因此如果聪明的你发现了这一诀窍,以错拼单词优化你的网页,那么一旦遇到用户再以这个错别字进行搜索,你就会高高在上,昂然屹立于搜索结果的前列!

  事实果真如此吗?首先我们还是来看看上述例子错在哪里吧。“contemorary”实为“contemporary”,虽为一个字母之差,但从关键词角度两者则相去甚远了。奇怪的是根据关键词监测统计报告,“contemorary”在两个月内出现次数达66次之多!那么我们赶快将它列入关键词清单吗?且慢。我们先分析一下有谁会经常写错别字吧。是受过良好教育的正规商家吗?可能性不大,毕竟“contemporary”不是艰涩的拉丁文借用词嘛。看来象是某些粗心大意的丈夫或勤俭持家的主妇嫌疑比较大。凭心而论,他们会是你珍贵的客源,但不大可能成为你理想的商业合作伙伴。

  反过来,如果一个潜在的客户偶然手误拼错了单词,却赫然发现你的网站出现在眼前,而且那个错别字被多次显著地以粗体字显示,他会做何反应?他会象发现金矿一样欣喜若狂?还是在心里对这家企业的素质产生一丝疑问?他会认为一个连基本文法都掌握不好的厂家,

  一.当导览按钮连结到目前此页时

  各Webpage若重复使用同一组的导览按钮,无可避免地会产生某一导览按钮连结到目前此页的情形。为达成界面设计的一致性,并没有绝对的必要性拿掉此导览按钮,但Webpage设计者可让此按钮不再具有超连结的功能;或将此按钮的彩度、亮度降低(如∶深绿色变成淡绿色,亮红色变成暗红色),使读者可清楚地意识到∶这个暗设下来的导览按钮不再具有超连结的功能。

  二.不要在一篇短文里提供太多的超连结

  适当、有效率地使用超连结,是一个优良的导览系统不可或缺的要件之一。但过份滥用超连结,造成短短的一篇文章里却处处是links,反而损害了Webpage行文的流畅与可亲性。在充斥着超连结的短文里,很可能其中不少是无意义、没必要的links。例如∶连结到一页只有两三行注解的link、连结到一页只放了「施工中」的招牌的link。在一篇长短适中的Webpage里(3、4个荧幕页面),文章里提供的文字式超连结最好不要超过10个以上,以使全页行文能够顺畅,而读者也不至于眼见一大堆超连结,反而不知从何点取才好。况且,连续、肩并肩地出现两、三个文字式超连结,很容易被误认为只是一个长度较长的超连结,于是被读者忽略掉,便也失去了这些超连结的原本功能。  如果您果真有那么多的超连结必须提供给读者,不如将这些超连结以条列的方式,一笔一笔清楚地列在一选单页或目录页上,既不防碍走文的顺畅,又呈现一目了然的导览连结。

  三.让超连结的字串长短适中且走文自然

  抓住能传达主要讯息的字眼当做超连结的锚点(anchor),可有效地控制住超连结的字串长度,避免字串过长(如∶整行、整句都是锚点字串)或过短(如∶仅一个字当做锚点),而不利于读者的阅读或点取。

  四.注意超连结颜色与单纯叙述文字的颜色呈现

  WWW的语言—HTML允许Webpage设计者特别标明单纯叙述文字与超连结的用色,以便丰富Webpage的色彩呈现。如果您的网站充满知识性的信息,欲传达给访问者,建议您将网页内的文字与超连结用色,设计成较乾净素雅的色调,会较有利于阅读∶纯粹的叙述文字采用较暗、较深的颜色来呈现(如∶黑色、墨绿色、暗褐色),超连结文字则以较鲜明抢眼的色彩来强调(如∶亮黄色、翠绿色、鲜橘色),至于探访过的超连结则采用较低于原超连结亮度的颜色做呈现。

  五.分析、说明您提供的bookmarks或coollinks

  常常看到热心的Webpage设计者条列了精心收集的bookmarks或coollinks,以分享读者个人遨游WWW的美好经验。但多数Webpage设计者就只提供一大串links,并不分门别类,也不加以分析、说明为什么这个link好,值得推荐?那个link的主要内容为何精彩之处?又在哪?  提供您的bookmarks或coollinks是一大善举,但未加以分析、说明,却变得功亏一篑。多花几分钟,将您提供的bookmarks或coollinks稍加分类、注解,可提供读者清晰的概念与无限的方便,也使您的站台的导览系统更加周全完善。未加以说明、注解的coollinks,其实一点也不cool。老实说,任何人都可以到Yahoo轻易地找到上百上千的links。您若未对这些推荐的links加以个人独特的评论、介绍,读者又何劳偏得到您的站台去找索引呢?任何一个分类索引或搜寻引擎都绝对比您条列的links还要更完备齐全。

  六.在具前后连续顺序的文件里提供必要的连结

  将篇幅过长的文件分隔成数篇较小的Webpages大大地增加了界面的亲和性,但在导览按钮与超连结的配置上,Webpage设计者则要更细心周全地安排,使得读者不论身处您站台的哪一阶层,依然能够快速便捷地通往其他任何一个页面。Webpage设计者应特别注意∶

   1.提供「上一页」、「下一页」、「回子目录页」与「回首页」的导览按钮或超连结在一系列具前后连续顺序的文件里,每篇Webpage都至少应提供「上一页」、「下一页」、「回子目录页」与「回首页」的导览按钮或超连结,可使读者能够立即得知自己所在的页面,是属于一份较大文件内的一小部分。(考虑、体贴一下某读者不是从您的Home顺序连结至此页,而是依循别的站台的某个link跳跃连结至此)。并且可以藉由这些links随时参考连结「上一页」、「下一页」与本页的连贯内容;直接点取「回子目录页」查寻其他相关的标题;或直接跳跃至homepage,浏览其他不同项目的信息。

  2.简明扼要地标明此页、上一页与下一页文件的标题或内容梗概

  在一系列具前后连续顺序的文件里,每篇Webpage都应加上一个具说明性的标题,使读者一目了然,马上抓住这一页的重点。  而完善的导览系统除了提供「上一页」、「下一页」的导览按钮或超连结外,更添加精简达意的上一页与下一页标题、内容提要,使读者即使尚未点取这些Webpages时,亦能先梗概地了解自己将连结至什么样的Webpage。

  3.提醒读者某一系列文件已到尽头

<

  一个英国人在自己的网站Jon Burrows上推出了一项服务:显示 Google Talk 的在线状态!

  下面是先锋 JasonIT 的显示:

  大家可以看见,显示有“GTAlk On-Line”,这表示 JasonIT 是在线的。显示效果就如同RSS订阅标签,可以方便的放置在任何地方。下面我们来看一下这是如何做到的:

  第一步:在你的GTalk里面加:gtalkonlinestatus@gmail.com 这个联系人

  第二步:在你需要显示在线状态的网页里面添加如下代码

  <img src=http://www.jonburrows.co.uk/gtalkstatus.aspx?User=Gmail账号>

  就可以了。




[!--infotagslink--]

相关文章

  • js实现浏览器打印功能的示例代码

    这篇文章主要介绍了js如何实现浏览器打印功能,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-07-15
  • JavaScript判断浏览器及其版本信息

    本篇文章主要分享了通过window.navigator来判断浏览器及其版本信息的实例代码。具有一定的参考价值,下面跟着小编一起来看下吧...2017-01-23
  • js识别uc浏览器的代码

    其实挺简单的就是if(navigator.userAgent.indexOf('UCBrowser') > -1) {alert("uc浏览器");}else{//不是uc浏览器执行的操作}如果想测试某个浏览器的特征可以通过如下方法获取JS获取浏览器信息 浏览器代码名称:navigator...2015-11-08
  • js代码判断浏览器种类IE、FF、Opera、Safari、chrome及版本

    第一种,只区分浏览器,不考虑版本 复制代码 代码如下:function myBrowser(){ var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isOpera = userAgent.indexOf("Opera") > -1; if (isOp...2014-05-31
  • 详解Vue Cli浏览器兼容性实践

    这篇文章主要介绍了详解Vue Cli浏览器兼容性实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-09
  • vue如何调用浏览器分享功能详解

    这篇文章主要给大家介绍了关于vue如何调用浏览器分享的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-20
  • Python获取浏览器窗口句柄过程解析

    这篇文章主要介绍了Python获取浏览器窗口句柄过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-07-26
  • js判断浏览器类型,版本的代码(附多个实例代码)

    在网站前端开发中,浏览器兼容性问题本已让我们手忙脚乱,Chrome的出世不知道又要给我们添多少乱子。浏览器兼容性是前端开发框架要解决的第一个问题,要解决兼容性问题就得首先准确判断出浏览器的类型及其版本。 JavaScrip...2014-05-31
  • 如何使用 JavaScript 操作浏览器历史记录 API

    这篇文章主要介绍了如何使用 JavaScript 操作浏览器历史记录 API,帮助大家更好的理解和使用JavaScript,感兴趣的朋友可以了解下...2020-11-24
  • JAVA读取文件流,设置浏览器下载或直接预览操作

    这篇文章主要介绍了JAVA读取文件流,设置浏览器下载或直接预览操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-09
  • 网页自动调用国内双核浏览器的极速模式的实现方法

    由于国内好几个浏览器都是双核浏览器(蛋痛,做一个浏览器壳就说国产,而且使用率高),有时打开网页会出现不兼容模式,在极速模式下是好的,现在我们来用代码实现网页自动调用国内...2016-09-20
  • C# 模拟浏览器并自动操作的实例代码

    这篇文章主要介绍了C# 模拟浏览器并自动操作的实例代码,文中讲解非常细致,帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-11-03
  • Python爬虫之Selenium实现关闭浏览器

    这篇文章主要介绍了Python爬虫之Selenium实现关闭浏览器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-04
  • vue项目中禁用浏览器缓存配置案例

    这篇文章主要介绍了vue项目中禁用浏览器缓存配置案例,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下...2021-09-12
  • JS跨浏览器解析XML应用过程详解

    这篇文章主要介绍了JS跨浏览器解析XML应用过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-10-16
  • 基于jQuery1.9版本如何判断浏览器版本类型

    在jquery.1.9以前的版本,可以使用$.browser很轻松的判断浏览器的类型和版本,但是在1.9中和以后的版本中,$.browser已经被删除,下面就介绍一下如何实现此功能,希望能够给需要的朋友带来帮助...2016-01-14
  • Ajax打开新窗口被浏览器拦截怎么办

    小编推荐的这篇文章介绍了两种Ajax打开新窗口被浏览器拦截的解决方法,有需要的同学可以参考一下 最近在做支付时发现打开支付窗口时被浏览器拦截了,百度了一下才...2017-01-22
  • echarts使图标能自适应浏览器窗口变化,及经纬度转换

    本文章来为各位一篇关于echarts使图标能自适应浏览器窗口变化,及经纬度转换的例子,希望文章能够帮助到各位同学哦。 1、echarts使图标能自适应浏览器窗口变化 wind...2016-09-20
  • 关于angular浏览器兼容性问题的解决方案

    这篇文章主要给大家介绍了关于angular浏览器兼容性问题的解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者使用angular具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2020-07-26
  • php判断用户浏览器类型与来自页面

    php判断用户浏览器类型与来自页面 function chkre(){ global $_SERVER, $r_main; if(isset($_SERVER['HTTP_REFERER'])){ $u=parse_url($_SERVER['HTTP_RE...2016-11-25