DeadFireFire的百度空间
百度空间 | 百度首页 
               
 
文章列表
 
2008-06-10 00:34
来自:http://www.gseeker.com/50226711/aeaeaegooglee_149784.php

由于某些原因(过一阵子再详述),接下来这段时间GSeeker的更新可能会很慢甚至暂停。为了让大家都可以尽快掌握与Google有关的消息,我特 地在我的Google Reader里挑了一些新闻源,和大家分享如下。值得注意的是,这些新闻源可能有部分朋友早就已经订阅了,因此高手请略过,新手请进。但可以肯定,如果你 有足够的时间花在这些新闻源上,你完全可以写出一个以Google为主题的blog,就像GSeeker这样。同时也请注意,这些新闻源绝大多数是国外 的,因此如果你不喜欢看英文,就基本不必理会了。

下面我对这些新闻源做个简介(基本无序):

*Andy Beal's Marketing Pilgrim
在线营销专家Andy Beal的专业blog。关注互联网多个热点,包括Google在内。Andy Beal的写作特色是简练中略带风趣,读起来轻松愉快。

*Digital Inspiration
印度全职专业级blogger(收入很不错)Amit Agarwal的blog。以分享电脑、互联网及web2.0技巧为主。其中与Google有关的技巧十分精彩。

*GigaOM
获得风投资金支持的骨灰级资深作家Om Malik的blog。与Google相关的新闻不是很多,但一般都是曝料级的,可靠性很高。

*google - Google News
这是Google News上面与Google有关的英文新闻feed。用它可关注国外门户站对Google的报道。

*Google AdSense China Blog
如其名,这是Google AdSense的简体中文官方博客。

*Google Blog Search: Google
Google博客搜索里与Google有关的最新英文结果,你可用它关注其它blogger是怎样写Google的。

*Google Blogoscoped
这个不必介绍了吧?Philipp的blog,也是至今世界上最好的Google blog之一。另一个在下面。

*Google Blogoscoped Forum
Philipp的论坛,世界各地的Google粉丝都在里面,氛围十分良好。Google也在看这个论坛。

*Google Earth Blog
与Google Earth有关的最好的blog之一。

*Google Employee Blogs
由Philipp整合的大多数Googler的个人blog的feed。

*Google Operating System
这是另一个世界上最好的Google blog,由罗马尼亚的blogger Ionut Alex Chitu维护。

*Google Press Releases
Google官方新闻稿发布源。具有战略性的Google新闻皆发布在此。

*Google 黑板报 - Google 中国的博客网志
谷歌的博客,不必多说。

*google-blog.dirson.com
葡萄牙语的Google主题blog,由Dirson维护。用Google翻译看一般没问题。特色是会关注Google安全问题。

*Googlers' Blogs
另一个聚合Googler的个人blog的feed。

*Google's Blogs 'n More
Google官方blog新闻源大全。同样是由Philipp制作。几乎所有Google官方新闻都在这里了。

*Googlified
Haochi的Google blog。里面通常会有很多别的地方找不到的与Google相关的有趣的东西,充满惊喜。

*Googling Google
ZDNet的Garett Rogers的Google blog。以挖掘Google代码而闻名。

*John Battelle's Searchblog
Google经典书籍The Search的作者John Battelle的blog,与搜索业界新闻为主,见解很深刻。

*Matt Cutts: Gadgets, Google, and SEO
Google反网络垃圾组老大Matt Cutts的个人blog。这也是我最喜欢的blog之一。Matt是个很风趣的人,并且每篇文章都会带来很多与Google有关的极具价值的内容。虽然 是个个人blog,但Matt在这个blog上说的话已在很大程度上代表Google官方。

*News.blog: Google
CNet关于Google的新闻报道。时效性一般会比别的同类网站要好。

*Search Engine Journal
综合性的搜索业界blog。

*Search Engine Land
搜索业界最令人惊叹的人物Danny Sullivan的blog,关注搜索引擎及搜索营销。Danny Sullivan绝对是大师级的搜索引擎专家,所有搜索引擎的变化他都不会错过,就像一本搜索百科全书。尤其是看过他写的review,你很难再敢下笔写 review。

*Search Engine Roundtable
Search Engine Land的新闻编辑之一Barry Schwartz的blog,关注搜索业界的热点。Barry也是搜索业界大师级人物,Search Engine Roundtable的特色是关注搜索引擎的最新论坛消息,特别是一些常人难以发现的微小变化。

*Search Engine Watch Blog
Danny Sullivan创办并使其闻名搜索业界的blog。Danny Sullivan虽然离开它创办了Search Engine Land,但它仍然是搜索业界的元老级blog之一。

*SEOmoz Daily SEO Blog
专注于搜索引擎优化的blog,发布了不少收费的SEO工具及服务。创办者是大名鼎鼎的Rand Fishkin,另一个搜索业界大师级人物。

*TechCrunch
名满天下的blog,经常曝出与互联网相关的小道消息,准确度较高。创办者当然就是Michael Arrington。

*The official update feed from the Google Apps team
与Google Apps有关的更新的特别feed。这是Google Apps团队专门为Apps更新所设的官方博客。

*Valleywag
可能是IT史上最八卦的blog。不管是谁,只要你没有被Valleywag八卦过,根本就算不上出名。Google几乎所有高层都被它八卦过N次了。我个人十分喜欢这个blog。

*Zorgloob
Tom维护的法文版Google主题blog,特色是不会放过任何一个Google doodle,出现的它都会最快报道。

*广告发布者 - 中国网络广告门户
国内的由小龙维护的与网络广告特别是Google AdSense有关的主题网站。与Google AdSense有关的问题,强烈建议进入它的论坛参与讨论。

*搜索引擎优化排名SEO每天一贴
著名搜索引擎优化专家Zac的SEO blog。几乎每天都更新,风格深入浅出,内容以国外SEO界动态为主。

*雅虎搜索日志
雅虎的官方搜索博客。

要在这么多feed里挑出这几十个并不容易,因为太难取舍,我花了好多时间才精选出来。上面所列出的这些网站或blog基本上我都持续阅读了至少一、 两年,觉得质量还是挺高的。同时你也许已经发现,我并不推荐太多有关的中文blog。原因有两个。第一是我平时主要关注国外的搜索新闻,很少看国内的;第 二个是我并没有订阅国内的与GSeeker同类的中文blog。当然,国内也有很多优秀的以Google为主题的中文blog,只是我没有订阅,就不作推 荐了。

不管怎样,如果你对上面的这些新闻源感兴趣,请下载OPML文件(这是一个列表文件,解压后你可直接将这个文件导入Google Reader等阅读器里):

下载地址一  下载地址二
 
2008-05-28 09:04

(一)网络共享的昨天和今天

      最早的共享应该就是彼此之间通过邮件的附件功能传一些东西,受众范围十分有限;ftp共享仅流行于一些局域网中。之后也有过一些网络硬盘,经典的有:永硕E盘G宝盘、同期国外的:rapidshare(注:这个网盘里储存的东西最多了,但就是用起来比较麻烦,需要下载前等待)、 MediaFireMyBloop.comUploading.com等等,接着又出现了第二批网盘,代表的有:Mofile 网络硬盘爱存新浪共享资料、同期国外的:MEGAUPLOADzSHARELive Share,此外还有一些网站利用邮箱的附件功能建立的网络硬盘(gmail、yahoo、网易等邮箱的间接网盘都出现过),实际上并不是真正意义上的网盘,实际应用中也并不怎么稳定。这期间微软的网盘曾经被一些人奉为经典,由于其不支持国内的用户注册使用,于是网上出现了许多破解微软网盘使用限制的办法,其中最经典且简便的方法是在IE的地址框中输入:“http://folders.live.com/home.aspx?mkt=en-US”,(不要引号),即可正常注册了,关键点就是在“en-US”者个字段上,它代表的意思就是英文区用户的意思,一段时间内该技巧非常盛行,据传好像现在不太好用了,不知道是真还是假,反正我的账户一直还在用。这其中新浪爱问的网盘经受住了考验,始终保持了良好的稳定运行状态,其次,mofile、MediaFire也还勉强说得过去,其他的就有些欠稳定了,爱存是最近才出现不稳定的,以前一直看好它。还有一些网盘转了型,去干收费网盘了。G宝盘转而去支持BT下载了,也不知道它还能走多远。还有一些媒体共享的网盘,如支持图片外链的有:yahoo旗下的FlickrTinyPicYupoo.com(注:最近增加了一些限制)、Uploadingit.com( 这个我最喜欢!)、SURKEY.COM;支持视频的有:youtubetinyPicBOXSTr! (这个支持的外链文件类型最多!)等等,其实,在分享视频方面,多数人更喜欢到一些视频共享社区/论坛去,如:六间房优酷网我乐视频酷6网土豆网 等等。由于众网友在使用众多的免费网盘时多有文件丢失(由于故障或网站倒闭等)而造成惨痛损失的经历,所以众望所归,大家都期盼着有一位网络大亨能站出来做个超稳定的网盘出来!期盼值最高的新浪爱问网盘始终没有大的突破,30M文件大小上限的政策一直坚持到现在!p2p、电驴、BT之类的东西倒是另辟蹊径,可以算得上是网络共享的一个不小的亮点,但就长远来看似乎并不十分稳定,似乎只有那些最火的文件才可以找到持续稳定的源,大多数所谓的种子在度过最初的兴旺期后也多只不过是些名不符实的死链接而已!


来自:http://hjp.jimdo.com/
 
2008-05-23 20:55

来自:http://www.weborn.org/collection-of-web-developer-tools-per-browser-466/

作者:Klaus Komenda , 翻译:butwho
英文原文:Collection of Web Developer Tools, per Browser
原文发现:译言-Collection of Web Developer Tools for major browsers
中文译文:Web开发工具大集合——每个浏览器都有份的!

网站开发者的一大苦恼,就是有太多的浏览器要应付。幸亏世界上有一些聪明的人,能够研究出一大些方便编辑和调试网页代码的好工具。不过,要从不计其数的小工具里面找出合适的可真不容易。这篇文章列出了几个最好用的web开发工具,并指导你快速地激活、安装、使用他们。 下面是工具列表:

浏览器 可用的工具 (括号中是应用范围)
Firefox
IE6, IE7
Opera
Safari

Web Developer Toolbar

Firefox上开发和调试web站点的不二之选。Web developer toolbar包含了一系列工具,从cookie管理到CSS调试,从导航线到屏幕标尺,功能简直是多得说不完。 Web开发工具栏 下载地址:http://chrispederick.com/work/web-developer/

Firebug

萤火虫 是Firefox上数一数二的好扩展,可作为web developer toolbar的补充工具。你可以用Firebug在线检查、监控、编辑网页上的HTML、CSS、JavaScript代码。他还提供一个脚本控制台,让JS编辑编的更简单。控制台对象包含了一大堆选项,允许你输出代码到控制台然后进行调试。Michael Sync提供一个更高级的操作指南,它可以知道你详尽地设置Firebug的选项。另外,Firebug上有一个带宽监视器,能让你清楚地看到某些代码占了多少带宽。 Firebug 下载地址:http://www.getfirebug.com/

Modify Headers

Modify headers是一个可以添加、修改和过滤HTTP请求头的工具。你可以用这个工具冒充成移动设备登陆网站,它甚至可以伪造一个Ajax请求。 Modify Headers 下载地址:http://modifyheaders.mozdev.org/

Poster

你可以通过Poster扩展与Web服务或者其他web资源进行交互,它能让你发送HTTP请求、设置请求实体和内容格式。这可以让你检测Web交互的效果。 Poster下载地址:http://code.google.com/p/poster-extension/

XRAY & MRI

X光核磁共振成像是可以应用在IE6+、Webkit和Mozilla为基础的浏览器上的bookmarklets(嘛叫Bookmarklets),包括Safari, Firefox, Camino和Mozilla. Xray 能帮你检测盒模型里的每一个元素,MRI可以测试和应用选择器。 XRay下载地址:http://www.westciv.com/xray/index.html MRI下载地址:http://www.westciv.com/mri/

Firefox Accessibility Extension

Mozilla/Firefox无障碍扩展让残疾人士方便地浏览网页内容。开发人员可以用这个扩展检查他们的结构和样式的网页易读性。 Firefox Accessibility Extension下载地址:http://firefox.cita.uiuc.edu/

IE Developer Toolbar

微软的英特网探索者开发工具条是IE上最好的DOM检查和CSS调试工具。由于IE具有高市场占有率而又在整个渲染模型上充满缺陷(比如臭名昭著的hasLayout边距重叠BUG),调试IE是web开发必不可少的步骤——没有这个工具条,IE的调试将会成为一场噩梦。虽然IE Developer Toolbar要比Firebug稍微弱智一点,不过他至少能帮你驯服IE这头怪兽。 IE Developer Toolbar下载地址:http://www.microsoft.com/downlo…aylang=en

Web Accessibility Toolbar

The Web Accessibility Toolbar( href="http://www.paciellogroup.com/resources/wat-about.html">Opera版)可以检查网站的易读性(当然是可能的易读性,总不能指望电脑能像人一样读网页吧?)此外,这个工具还提供其他功能,比如检查死链接和改变浏览框大小等等。 The Web Accessibility Toolbar下载地址:http://www.visionaustralia.org.au/ais/toolbar/

Visual Web Developer Express Edition

IE开发工具栏木有JavaScript调试功能,你得找个别的工具搞JS。你可以用Microsoft Script Debugger(下面将提到)或者免费下载这个重量级的Visual Web Developer Express Edition。Bernie那儿有这个工具的教程(当然是英文的),它详尽地告诉你如何用这个工具调试JavaScript代码。 你也可以用Microsoft Script Editor 编辑 JS代码——不幸的是,这并不是个免费工具(在国内,这似乎不是个大问题)。他被捆绑在Office 2003安装包里,而微软又不提供单独下载。正因为如此,这儿就不多提它了。Jonathan Boutelle提供了这个工具的一些教程

Microsoft Script Debugger

你可以在微软网站上免费下载这个工具MSDN上也有一个相关文档。这个工具比Visual Web Developer Express Edition弱很多,不过仍然能处理一些IE上那些让人摸不着头脑的提示,诸如“缺乏对象”一类。Jake Howlett 有个《如何使用Microsoft Script Debugger调试JavaScript》的教程。为安全起见,安装脚本调试器之后最好要重新启动一下你的电脑。 Microsoft Script Debugger下载地址:http://www.microsoft.com/do..laylang=en

Opera developer tools

Opera有两个开发工具:Opera 开发控制台(Opera Developer Console)和Dom快照工具(DOM Snapshot)。从截图来看,他们都很有前途。这个工具算是Opera 9以上版本用的bookmarklets。不过我没能让他们在Opera 9.10上成功运作。 Opera开发工具下载地址:http://dev.opera.com/tools/

Opera Error Console

错误控制台是Opera的一个内置功能,可以在工具-高级-错误控制台中激活这个它。它能弹窗显示当前网页上的错误或者警告信息,或者你可以过滤某种类型的信息,比如HTML、CSS、XML或者Javascript警告。你可以在opera网站找到错误控制台的详细教程

Safari Debug Menu

Safari的debug能力很弱,但至少显示一个Javascript控制台能让Javascript调试变得简单点儿(这与Firebug和Opera错误控制台类似)。在Apple网站的开发部门,有一个常见问题文档说明如何启用隐藏的调试菜单。 在Mac OS X下,打开一个终端然后输入:

defaults write com.apple.Safari IncludeDebugMenu 1

在windows下,用文本编辑器打开Preferences.plist,这个文件的位置往往是C:\Documents and Settings\USERNAME\Application Data\Apple Computer\Safari\Preferences.plist,在文件最后添加: <key>IncludeDebugMenu</key> <true/> 在Safari 1.3及以上版本,你可以进入Debug菜单然后钩选“记录Javascript意外”的选项。然后选择“显示JavaScript Console”。这就可以用控制台记录Javascript错误。

Web Inspector

要在Mac OS上激活Safari Web Inspector (Safari 3及以上可用),打开终端窗口然后输入

defaults write com.apple.Safari WebKitDeveloperExtras -bool true

在windows中,打开Documents and Settings\*你的用户名*\Application Data\Apple Computer\Safari\WebKitPreferences.plist,添加以下内容:

<key>WebKitDeveloperExtras</key>

<true/>

然后退出Safari并重新打开,你将在菜单中看到一个“检查元素”选项,就是它了!

**知识扩充:嘛叫bookmarklets?

具体说来,俺也不大清楚,新名词啊?在这儿找到一个解释:

所謂的Bookmarklet,簡單的說,就是一個內含簡單 JavaScript程式碼的書籤。使用的方法和書籤一樣,不同的地方是:書籤是用來記錄瀏覽的位置,而bookmarklet則是記錄某些程序或是方法。 另一方面,bookmarklet在本質上可說是將JavaScript語言類比為一通訊協定(protocol),就像http或是ftp一樣,並需要透過瀏覽器來進行解譯,因此,bookmarklet必需依靠瀏覽器才能發揮功用。

好像说,Greasemonkey之类的玩意儿就跟bookmarklet相关?

 
2008-05-22 13:37
来自:http://www.schiy.com/blog/article.asp?id=268

之前在5Key的Blog看到这篇文章《根据时段自动切换你的站点CSS风格》,不知道是我操作有误还是其他原因,按照该方法实现不了而且页面老是报错,以为是代码有误于是在网上搜索,但基本上都是转载的这篇文章。那天问了5Key,他说有空时帮我找找原因,不过这几天他都比较忙所以还没回复我。

今天刚好看到Katherine的这篇文章,试了一下完全OK。
这个方法是用JavaScript写的,很容易看懂,如果你愿意,你可以定义一天中的任何时段显示任何一种CSS。
代码如下:
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function getCSS()
{
datetoday = new Date();
timenow=datetoday.getTime();
datetoday.setTime(timenow);
thehour = datetoday.getHours();

if (thehour > 20)
display = "a.css";
else if (thehour > 17)
display = "b.css";
else if (thehour > 14)
display = "c.css";
else if (thehour > 11)
display = "d.css";
//(...想要更多再加即可...)

var css = '<'; css+='link rel="stylesheet" href=' + display + ' \/'; css+='>';

document.write(css);
// End -->
}
</script>
<script language="javascript">getCSS();</script>

另外,由于不是从服务端实现,为了避免客户端不支持或者禁止JavaScript,作者还给出了解决方案。很简单,加上下面的代码,设置一种默认的CSS:
<noscript>
<link rel="stylesheet" href="style.css" type="text/css">
</noscript>

我的Blog设置了两个不同色调的风格,04:00-19:00为一种,19:00-04:00为另外一种:)
 
2008-05-15 22:01
来自:http://www.ibm.com/developerworks/cn/web/wa-css/index.html

关于 CSS 浮动属性的行为、使用和支持的概览    

                文档选项
       
打印本页
       
将此页作为电子邮件发送
       
英文原文





级别: 中级

Michael Russell (MikeRussell@VickiFox.com), 系统架构师, Vicki Fox Productions, Inc.

2008 年 4 月 22 日
CSS 浮动属性(float)是 Web 设计人员工具箱中的一种用来进行页面布局的常见工具,但浏览器实现的不一致性常常会导致该属性不能被很好的理解和使用。 本文将重点介绍此浮动属性及其使用、所涉及到的开发工具以及浏览器的不一致性问题。

从人类开始书写文字的早期,我们就看到了文绕图的实践。

Web 的先驱们很早就认识到了文字绕图编排的美学价值及这样做所能节省出来的空间,于是在 Netscape 1.0 和 HTML 2.0 中都包括进了一种 “浮动” (float)功能。浮动功能亦成为了 HTML 标准和级联样式表(Cascading Style Sheet,CSS)规范的基本属性。

虽然 “浮动” 属性的定义十分直观,但该属性的实现和使用却让很多 Web 页面设计者为了能让页面按理想的那样显示而煞费苦心并投入了大量的时间。

在本文中,我将介绍 “浮动” 属性的如下方面:
定义和概念模型
常见用例
开发工具的问题
浏览器问题

何为 “浮动” 属性?

在 CSS2 规范中,可以找到浮动属性的权威性定义和行为原则。在本文后续的章节中,我将对 CSS2 规范中的 9.5 节 “Visual Formatting Model” 中描述的内容展开讨论(相关链接,请参看 参考资料)。

定义

浮动属性指定了某个框应该向左侧还是向右侧浮动。此属性可应用于任何能生成位置不绝对固定的框(box)的元素。

此属性可有如下的值:
inherit - 该元素继承封装元素的浮动属性。此值为默认值。
left - 该元素生成一个浮动到左侧的块状框。内容排列到该框的右侧,并从顶部开始。这种排列取决于元素的 “clear” 属性。除非该值为 “none”,否则都会忽略 “display” 属性。
right - 这种排列取决于元素的 “clear” 属性。除非该值为 “none”,否则都会忽略 “display” 属性。
none - 该框不浮动。

行为

浮动属性受限于如下规则。本文中,我只对左浮动行为进行详细描述。要获得右浮动行为的相应信息,只需互换方向即可(即,将左换成右)。

此规范依据框的边框定义行为。CSS 框模型中的四种不同的边框描述如下:
content edge 或 inner edge 围绕所呈现的元素内容。这是最接近内容的边缘。
padding edge 包括了应用到某元素的留白。padding edge 定义了此包含块的边缘。
border edge 包括了应用到某元素的边界。
margin edge 或 outer edge 包括了应用到某元素的边框。

包含块的水平限制:左浮动框的 margin edge 不能在包含块的左 padding edge 框的左边。

包含块的垂直限制:左浮动框的上 margin edge 不能高于包含块的上 padding edge。

之前浮动限制:如果当前框是左浮动框而且之前的框也是左浮动框,那么当前框的左 margin edge 必须在之前框的右 margin edge 的右边,或者当前框的上 margin edge 必须要低于之前框的下 margin edge。

无交叠限制:左浮动框的右 margin edge 不能在任何共享相同水平空间的右浮动框的左 margin edge 之右。

之前元素的垂直限制:左浮动框的上 margin edge 不能高于任何块或在由源文档中前一元素生成的被浮动框的上 margin edge。

Line-box 垂直限制:左浮动框的上 margin edge 不能高于任何包含由源文档中前一元素生成的框的 line-box 的上 padding edge。line-box 是一个假想的矩形框,包含在此块级包含元素内连成一线的所有 inline box。其高度(上 padding edge)取最高的那个 line-box 的高度。

对立水平边框限制:如果一个左浮动框的左边还有另一个左浮动框,那么这个左浮动框的右 margin edge 不能在此包含块的右 padding edge 之右。即,左浮动框不能超出此包含块的右边缘,除非它已经被定位在向左足够远的地方。

最佳垂直限制:浮动框必须被置于此包含块内尽量高的地方。

最佳水平限制:浮动框必须被置于此包含块内向左尽量远的地方。

位置优先原则:在判断浮动框位置时,最佳垂直限制优于最佳水平限制。即,要先向上移动浮动框,然后再向一侧移动。

图 1 展示了这些行为原则是如何定位一个边框与文本块相关的图像的。

图 1. 左浮动框的定位示例


其他考虑

让 Web 设计新手感到疑惑的一个问题是应该将被浮动元素置于源文档的什么位置。要解决这个问题,可以采用如下这些经验指导。

定位:浏览器决定了被浮动元素相对于该元素在文档的 “正常排列” 中的位置的垂直位置。正常排列是指如果浏览器忽略定位属性的话文档将如何显示。被浮动元素会从这种编排被拿出并会被在其包含块内向左(或右)移动尽量远的位置。

内联成为块:为了页面格式化,被浮动元素成为了块状框。这等价于指定 display: block 属性。

所需宽度:被浮动元素应该有指定的宽度。CSS2 规范要求元素必须要么具有使用 “宽度” 属性指定的显式宽度,要么具有从所包含的子元素(比如图像)计算得出的隐式宽度。图像的隐式宽度是图像属性的一部分。如果不指定宽度,那么结果将不可预知。


    回页首





何为 “clear” 属性?

被浮动元素的后续元素均会围绕该被浮动元素。总的来说,对于文本,这是一种所希望出现的效果。但是,如果是为了布局而使用浮动,那么就需要停止围绕行为。要停止此行为,后续元素需要指定 “clear” 属性。

CSS2 规范提供了有关 clear 属性的权威性定义和行为原则。在本文的后续章节,我将就 CSS2 规范 9.5 节 “ Visual Formatting Model” 展开讨论(参见 参考资料)。

定义

clear 属性表明了一个元素的框的哪一侧或哪些侧不必与之前的浮动框相邻。如果元素本身具有浮动后代,那么 clear 属性对这些后代没有任何影响。

clear 属性只能应用于块级元素。这包括借助浮动属性被转变成块级元素的那些元素。

此属性可以有以下这些值:
inherit - 此元素承继封装元素的 clear 属性,为默认值。
left - 增加所生成框的上边框,以便上 border edge 处于由之前的源元素所生成的任一左浮动框的底 margin edge 之下。
right - 增加所生成框的上边框,以便上 border edge 处于由之前的源元素所生成的任一右浮动框的底 margin edge 之下。
both - 将所生成框移动到由之前的源文档所生成的所有浮动框之下。
none - 不对框的位置应用任何与之前的被浮动元素相关的限制。

行为

clear 属性的行为基本上就是对定位被浮动元素的规则的修改。在此规范中,行为亦被视为一种额外的限制。

Clear 限制:浮动框的上 margin edge 必须要处在所有先前的左浮动框(“clear:left” 的情况)、或所有先前的右浮动框(“clear:right” 的情况)、或二者(“clear:both” 的情况)的底 margin edge 之下。

图 2 给出了一个 clear 属性的使用示例。两个段落均具有属性 “clear:left”。这对第一个段落或在第一个段落内定义的浮动框没有任何影响。clear 属性只会让第二个段落定位于浮动之下。请注意第二个段落的上边框是如何垂直扩展以便与前一段落的底边框相接的。

图 2. Clear 定位示例


其他考虑

与 clear 属性相关的一个常见困难是其使用常常需要在文档内的后续元素上添加额外的标记。

清单 1 显示了添加一个空白的 division 导致向 HTML 文档增加了非内容标记。

清单 1. 处理 clear 需要额外标记               
<div class="myFloatClass">
    <p>myFloatClass has float:left specified</p>
</div>
<div class="myClearClass" />
    <!--myClearClass has clear:left specified-->




先后有几名作者提出了各种技术来消除对 HTML 文档添加额外标记的需要。这些技术包括:
向容器元素添加 “float”。
向容器元素添加 “overflow:hidden”。
在容器元素上添加一个 CSS2 “:after” 伪类。

浮动容器技术(Float Container Technique):该技巧常常见于页面布局和水平导航菜单 — 在浮动容器内放上一个浮动元素。浮动容器会被扩大以包含所有内部的浮动元素。这种方式需要准确设置容器的宽度属性,100% 是常见的一种设置。

这种技术有几个缺点。第一个缺点是很难设置宽度,使用 100% 可能会与留白冲突。第二,Internet Explorer V6 可能还会添加额外的底边框。最后,浮动框的深度嵌套常常会导致在浏览器中产生某些不可预知的行为。

清单 2 显示了这种浮动容器技术所使用的 CSS 代码。

清单 2. 浮动容器技术               
.myFloatClass {
    float: left;
    width: 100%;
}




隐藏溢出容器技术(Hidden Overflow Container Technique):这种方式很少使用。它涉及了对 “overflow” 属性和默认的 “clip” 属性的利用 — 一个溢出 元素会被扩至所有所含子元素(包含被浮动元素)的大小。

这种技术也有几个缺点。首先,使用溢出可能会影响容器的 fluid height。其次,溢出需要触发 Internet Explorer V6 的 “hasLayout” 属性。

清单 3 显示了隐藏溢出容器技术所使用的 CSS 代码:

清单 3. 隐藏溢出容器技术               
.myFloatClass {
    overflow: hidden;
    height: 1%;
    /* Or zoom:1 to trigger IE's hasLayout */
}


        分析这篇文章……

     提交到 Digg

     发布到 del.icio.us

     Slashdot 一下!





:after 伪类技术:这种方式极少使用。它所涉及的是使用 CSS 伪类在容器后生成内容。使用 :after 伪类技术向结果 HTML 文档追加已指定 clear 属性的新元素。

这种技术最不推崇,提供支持的浏览器也少。Internet Explorer V7 或更早的版本不支持 :after 伪类技术。但最为重要的是,这种技术会将无意义的内容插入到结果 HTML 文档。

清单 4 显示了 :after 伪类技术所使用的 CSS 代码。

清单 4. :after 伪类技术               
.myFloatClass {
    height: 1%;
    /* Or zoom:1 to trigger IE's hasLayout */
}
.myFloatClass:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}


        “浮动” 有哪些应用?

浮动属性是 Web 设计者工具箱中的常用工具。其应用的数量之多远远超出了设计人员的想象。如下只是浮动属性的几个常见应用。

参考资料 部分列出了提供有关如何使用浮动来获得预期效果的书籍和网站。

锚定图像:将图像移动到左边或右边仅仅是部分功能。由于浮动只在元素包括在源文档内的位置处才有效,所以浮动就在该点设锚。这对于文本文档十分重要,因为在这类文档内,常常需要让图像与描述该图像的文本保持位置相对。

添加标题:通常,如能为图像添加标题就更为理想了,比如为图像加上 “Figure 1 Example image”。通过将图像放置于另一个容器内,比如一个分块 (<div>) 并浮动这个分块,就可以为图像添加标题。

超大的大写字母:可以重新创建一种古典书籍样式,即在一块文本的左上角放置一个字体较大的大写字母。但不能只更改字体大小,因为这样的话,字母上下均会高出其他文本。相反,您所想要的是该字母向下伸展进文本,其余文本围绕此字母。

Inline list:浮动和显示的组合,内联用来将无序列表 (<ul>) 转变成水平菜单或导航选项卡。通过用无序列表表示菜单,菜单就会在不能呈现高级或图形化布局的 Web 浏览器(比如只显示文本的浏览器)上显示为一组选项列表。

多栏页面布局:使用表来在页面上进行多栏布局通常都会导致页面极难维护,因为在源文档中存在太多的对内容无用的标记。随着兼容 Web 标准的浏览器的发展,使用 division 和 CSS 可获得同样的布局效果,而所需的源代码中的标记却少很多。浮动属性让 division 块获得了与表单元格同等重要的地位。

灵活的图片库页面:传统意义上,表一般会用来布局图片。表的问题在于它们不是流体,而且当用户缩放窗口时,也不能很好地响应。通过使用浮动图像,图片库虽看起来像表布局,但随着用户缩放窗口,布局也会随之变窄或变宽。比如,在一个灵活性很好的图片页面上显示 12 个图片,有可能就会有如下的显示组合:1x12、2x6、3x4、4x3、6x2 和 12x1。



有无开发工具的考虑?

每个开发人员都知道,并不是所有的 HTML/CSS WYSIWYG 编辑器都是一样的。每个编辑器都有其自身的特点、对 Web 标准的遵从程度和对页面呈现引擎的选择。

我对流行的 WYSIWYG 编辑器(比如 IBM® Rational® Software Architect V7、Adobe Dreamweaver CS3 和 Genuitec MyEclipse V6)的使用经验是它们往往对页面的初始准备很有帮助,但若要进行页面调整和优化,您通常都会不得不进行源代码级别的工作。在目标浏览器中进行页面测试至关重要。很多编辑器都包括了对各种浏览器的插件支持,这样一来,就可以从编辑器中启动浏览器来对页面进行测试。

如果需要对某个 WYSIWYG 编辑器进行评估,我建议用 Acid2 Browser Test 对此编辑器(参见 参考资料)进行测试。Acid2 Browser Test 由 Web Standards Project 开发,用来测试各种浏览器对 Web 标准兼容性。不过,您也可以使用 Acid2 Browser Test 源来测试您备选的 HTML/CSS WYSIWYG 编辑器对 Web 标准兼容性。

有无浏览器方面的考虑?

Web 设计人员业已发现了流行的 Web 浏览器中的很多非标准的行为。

各种浏览器都以不同的方式实现了嵌套浮动元素。其结果是,为了定位的目的,常常需要避免使用被浮动元素的深层嵌套。 在这些情况下,更好的方法是使用相对和绝对定位属性。

Internet Explorer:Position Is Everything 站点维护 Internet Explorer bug 以及修复手段的目录。请参看 Explorer Exposed 页。

Firefox:我在 Firefox 中发现的一个与定位相关的 bug 是 Top Gap Bug。这个 bug 通常都会出现于多栏布局,其中栏是浮动的,而 header section 却不是。如果其中某个栏中的某个元素具有上边框,那么此边框会被推至 header 之上,导致窗口顶部和 header 顶部之间出现间隙。修复的手段是在被浮动栏上放一些东西。一种方式是向具有 clear:both 属性的头的底部添加一个元素。另一种方式是让 header 也浮动。

Opera:Position Is Everything 站点存有 Opera bug 以及修复手段的目录。请参看 Opera Omnibus 页。

结束语

自 Web 浏览器技术出现的早期,在页面上浮动元素的功能就已经存在。现代的 Web 设计开始越来越多地使用浮动属性来获得之前使用表实现的页面布局。尽管浮动属性的定义和行为都很简单,但浏览器的不一致性却让使用此属性变得有些困难。本文只对浮动属性作了十分浅显的介绍。更多信息,请参看 参考资料 部分,当然,也要勇于亲自实践。



参考资料
学习
您可以参阅本文在 developerWorks 全球站点上的 英文原文 。

图 1 和图 2 均复制自 Cascading Style Sheets, Level 2, CSS2 Specification 文档。W3C 版权声明 中有使用这些图片的许可。

Eric Meyer 的在线文章 “Containing Floats” 描述了浮动和一般编排间的关系。

有关 CSS 的一个有用桌面参考是 Eric Meyer 的 CSS: The Definitive Guide(第 3 版),由 O'Reilly 出版。

Christopher Schmitt 的 CSS Cookbook (第 2 版) 由 O'Reilly 出版,提供了大量 CSS 使用示例。

Max Design 站点 Floatutorial 上有介绍为图像和页面布局使用浮动的几个教程。

Robert Nyman 的 blog 文章 How to Clear CSS Floats Without Extra Markup - Different Techniques Explained 给出了三种在不在页面上创建额外标记的情况下实现 “clear” 的方法。

Cascading Style Sheets, Level 2, CSS2 Specification,由 W3C 出版,是有关 CSS 属性的特定行为的权威性出版物。其中的 Section 9.5 是有关浮动的章节。

Web Standards Project (WaSP) 推广了 Web 标准。

使用 Acid2 Test 来测试 Web 浏览器对 Web 标准的兼容性。

Position Is Everything 站点上有大量有关浏览器不兼容性、bug 和修复手段的信息。

Michael Russell 的文章 “质量因素: 比较 Web 站点的外观和功能” 讨论了使用 Web 标准而非浏览器扩展的种种优势。

阅读 “让跨浏览器测试 Web 应用程序变得简单”。

Hoverbox Image Gallery 很好地应用了浮动特性,并 几次在 developerWorks 中被提及。

从 developerWorks 上的 Web 开发专区 获得提高您技能所需的资源。


获得产品和技术
下载 IBM 产品评估版 并着手使用来自 DB2®、Lotus®、Rational®、Tivoli® 和 WebSphere® 的应用程序开发工具和中间件产品。

讨论
参与 developerWorks blogs 加入 developerWorks 社区。




关于作者

       
Michael Russell 拥有物理学学士和计算机科学硕士学位。他是一位后勤工程师、技术服务经理、通过认证的 IT 架构师,在 IBM 工作了将近 14 年,Michael 目前在国防航空(仿真与后勤)行业担任系统架构师。他对 Windows、UNIX 和 OS/400 环境有丰富的经验,并出于爱好的目的通过其公司的网站使用 Web 技术。
 
     
 
 
个人档案
 
DeadFireFire

上次登录:
8小时前
加为好友
 
   
 
最新照片
 
   
 
最近访客
 
 

别睐吾样

Kaavield

1234wing1234

等一朵晴云

cmykrgb123

smallcolor

七格龙洞呛咚呛

9e3
     
 
其它
 
已有人次访问本空间
 
订阅RSS  什么是RSS?

您也想拥有这样的空间?请点此申请。
     


©2009 Baidu