<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.feedsky.com/styles/feedsky6.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" version="2.0"><channel><atom:link href="http://feed.feedsky.com/dancewithnet" type="application/rss+xml" ref="self"></atom:link><fs:self_link href="http://feed.feedsky.com/dancewithnet" type="application/rss+xml"></fs:self_link><lastBuildDate>Fri, 11 Jul 2008 19:05:48 GMT</lastBuildDate><title>随网之舞</title><description>WEB Design{HTML:CSS:Javascript:DOM:AJAX:PHP:Usability}/Viewpoint/Photo/Food/Mood</description><link>http://dancewithnet.com</link><atom:link href="http://dancewithnet.com/feed/?.rss" rel="self" type="application/rss+xml"></atom:link><language>en</language><pubDate>Tue, 15 Jul 2008 18:45:05 GMT</pubDate><dc:date>2008-07-15T18:45:05Z</dc:date><dc:language>en</dc:language><item><title>CSS Hacks</title><link>http://item.feedsky.com/~feedsky/dancewithnet/~7031998/92718850/5136712/1/item.html</link><content:encoded>&lt;p&gt;Java一直标榜一句老话叫“编写一次，到处运行(Write Once,Run Anywhere)”，CSS也差一点点做到了。但就是为了差的一点点往往需要大量的工作，虽然这并不是CSS的错。基本上别妄想兼容所有的解析器了，仅仅是为了让网页在&lt;a href=&quot;http://developer.yahoo.com/yui/&quot;&gt;YUI&lt;/a&gt;中列举的&lt;a href=&quot;http://developer.yahoo.com/yui/articles/gbs/index.html#gbschart&quot;&gt;A级浏览器&lt;/a&gt;呈现一致就不是一件特别容易的事情。虽然通过精心的组织HTML结构加上使用最合适最通用的CSS代码可能实现多浏览器呈现一致，但当在视觉的过度设计、精确到像素的规定和前端快速实现的要求的前提下，可能你不得不为不同的浏览器写不同的CSS代码，这就是CSS Hacks了。我们的目标是保持CSS简洁和没有CSS Hacks，但即使多年以前就呼吁&lt;a href=&quot;http://www.digital-web.com/articles/keep_css_simple/&quot;&gt;Keep CSS simple&lt;/a&gt;的PPK也不得不在&lt;a href=&quot;http://www.quirksmode.org/&quot;&gt;他的网站&lt;/a&gt;中使用CSS Hacks，即便如此其站点在所有的A级浏览器中也无法保持一致的呈现。所以，下面这个我常用的CSS Hacks列表或许有些用：&lt;span id=&quot;more-1347&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;stat&quot;&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;IE6&lt;/th&gt;
&lt;th&gt;IE7&lt;/th&gt;
&lt;th&gt;Firefox2+&lt;/th&gt;
&lt;th&gt;Firefox3+&lt;/th&gt;
&lt;th&gt;Opera9.5+&lt;/th&gt;
&lt;th&gt;Safari3.1+&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;选择符{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;*属性:值;&lt;br /&gt;
}&lt;sup&gt;[1]&lt;/sup&gt;&lt;/th&gt;
&lt;td&gt;√&lt;/td&gt;
&lt;td&gt;√&lt;/td&gt;
&lt;td&gt;×&lt;/td&gt;
&lt;td&gt;×&lt;/td&gt;
&lt;td&gt;×&lt;/td&gt;
&lt;td&gt;×&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;选择符{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;_属性:值;&lt;br /&gt;
}&lt;/th&gt;
&lt;td&gt;√&lt;/td&gt;
&lt;td&gt;×&lt;sup&gt;[2]&lt;/sup&gt;&lt;/td&gt;
&lt;td&gt;×&lt;/td&gt;
&lt;td&gt;×&lt;/td&gt;
&lt;td&gt;×&lt;/td&gt;
&lt;td&gt;×&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;选择符,x:-moz-any-link{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;属性:值;&lt;br /&gt;
}&lt;/th&gt;
&lt;td&gt;×&lt;/td&gt;
&lt;td&gt;√&lt;/td&gt;
&lt;td&gt;√&lt;/td&gt;
&lt;td&gt;√&lt;/td&gt;
&lt;td&gt;×&lt;/td&gt;
&lt;td&gt;×&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;选择符,x:-moz-any-link,x:default{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;属性:值;&lt;br /&gt;
}&lt;/th&gt;
&lt;td&gt;×&lt;/td&gt;
&lt;td&gt;√&lt;/td&gt;
&lt;td&gt;×&lt;/td&gt;
&lt;td&gt;√&lt;/td&gt;
&lt;td&gt;×&lt;/td&gt;
&lt;td&gt;×&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;@media all and (min-width:0){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;选择符{属性:值;}&lt;br /&gt;
}&lt;sup&gt;[3]&lt;/sup&gt;
&lt;/th&gt;
&lt;td&gt;×&lt;/td&gt;
&lt;td&gt;×&lt;/td&gt;
&lt;td&gt;×&lt;/td&gt;
&lt;td&gt;×&lt;/td&gt;
&lt;td&gt;√&lt;/td&gt;
&lt;td&gt;√&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;@media all and (-webkit-min-device-pixel-ratio:0){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;选择符{属性:值;}&lt;br /&gt;
}&lt;sup&gt;[4]&lt;/sup&gt;
&lt;/th&gt;
&lt;td&gt;×&lt;/td&gt;
&lt;td&gt;×&lt;/td&gt;
&lt;td&gt;×&lt;/td&gt;
&lt;td&gt;×&lt;/td&gt;
&lt;td&gt;×&lt;/td&gt;
&lt;td&gt;√&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;这里有一个&lt;a href=&quot;http://dancewithnet.com/lab/2008/css-hacks/&quot; class=&quot;link-btn&quot;&gt;上述CSS Hacks的应用的例子&lt;/a&gt;可以看看。&lt;/p&gt;
&lt;ul class=&quot;refer&quot;&gt;
&lt;li&gt;[1]&amp;nbsp;此处的*号其实也可以是.号、&amp;gt;号、+号和#号。但它们都不属于CSS2.1规范合法属性名的一部分，所以不能通过验证。&lt;/li&gt;
&lt;li&gt;[2]&amp;nbsp;当IE7为&lt;a href=&quot;http://hsivonen.iki.fi/doctype/&quot;&gt;quriks mode&lt;/a&gt;时和IE6为quriks mode解析相同，所以此时这个表达式在IE7中也能生效。&lt;a href=&quot;http://wellstyled.com/css-underscore-hack.html&quot;&gt;这个hack已经应用了很久了&lt;/a&gt;，下划线_作为属性名的前缀是符合CSS2.1规范语法的，但不存在于其属性名列表中，所以依旧不能通过标准语法验证。对于多个IE的CSS Hacks，&lt;a href=&quot;http://dancewithnet.com/2006/06/06/ie-conditional-comments/&quot;&gt;条件注释&lt;/a&gt;是一个很值得考虑的解决方案。另外对于IE8可以关注其新功能和变化，但现在考虑其CSS Hacks问题有点过早，真的有需求可以通过增加&lt;a href=&quot;http://blogs.msdn.com/ie/archive/2008/06/10/introducing-ie-emulateie7.aspx&quot;&gt;&amp;lt;meta http-equiv=&amp;#8221;X-UA-Compatible&amp;#8221; content=&amp;#8221;IE=EmulateIE7&amp;#8243; /&amp;gt;&lt;/a&gt;来解决。&lt;/li&gt;
&lt;li&gt;[3]&amp;nbsp;如果把表达式中的and和(中间的空白去掉变成@media all and(min-width:0){选择符{属性:值;}}，那么Safari3+将无法识别，Opera9.5+则可以。&lt;/li&gt;
&lt;li&gt;[4]&amp;nbsp;这个表达式Opera9.0是支持的。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;上面这些CSS Hacks仅仅是沧海一粟，是一些简单的通用的CSS Hacks。这个世界上还存在很多很知名很经典的CSS Hacks，更多的CSS Hacks可以看这里：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://www.webdevout.net/css-hacks&quot;&gt;CSS hacks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://css-discuss.incutio.com/?page=CssHack&quot;&gt;CSS Hack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://centricle.com/ref/css/filters/&quot;&gt;Will the browser apply the rule(s)?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.ericmeyeroncss.com/bonus/trick-hide.html&quot;&gt;Tricking Browsers and Hiding Styles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://realazy.org/blog/2006/07/31/working-with-buggy-browsers-2/&quot;&gt;与臭虫为友——浏览器补救办法，臭虫以及解决方案（第二部分）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://perishablepress.com/press/2008/07/15/css-hackz-series-targeting-and-filtering-internet-explorer-7/&quot;&gt;CSS Hackz Series: Targeting and Filtering Internet Explorer 7&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;您或许也喜欢看：&lt;/h3&gt;&lt;ol class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2008/06/17/it-is-time-to-discard-font-size-adjustments/&quot; title=&quot;是时候不用考虑基于字体大小（em）的设计了&quot;&gt;是时候不用考虑基于字体大小（em）的设计了&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2008/04/22/a-solution-of-limit-of-style-tags-in-ie/&quot; title=&quot;IE对CSS样式表的限制和解决方案&quot;&gt;IE对CSS样式表的限制和解决方案&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2008/04/17/firefox-default-stylesheet/&quot; title=&quot;Firefox的默认样式表&quot;&gt;Firefox的默认样式表&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2008/04/05/examples-of-display-inline-block/&quot; title=&quot;display:inline-block的应用两例&quot;&gt;display:inline-block的应用两例&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2007/10/30/css-display-inline-block/&quot; title=&quot;CSS{display:inline-block}&quot;&gt;CSS{display:inline-block}&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2007/07/26/ie6-height-bug/&quot; title=&quot;CSS设置IE6中容器高度BUG&quot;&gt;CSS设置IE6中容器高度BUG&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2007/04/19/cross-brower-css-fixed-position/&quot; title=&quot;跨浏览器的CSS固定定位{position:fixed}&quot;&gt;跨浏览器的CSS固定定位{position:fixed}&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2006/05/18/css-alpha-transparent/&quot; title=&quot;IE, FireFox, Opera 浏览器支持Alpha透明的方法&quot;&gt;IE, FireFox, Opera 浏览器支持Alpha透明的方法&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2005/06/07/css-abbreviation/&quot; title=&quot;常用CSS缩写语法总结&quot;&gt;常用CSS缩写语法总结&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2004/12/23/passed-xhtml1-css2-validation/&quot; title=&quot;终于通过XHTML1.0和CSS2.0验证了&quot;&gt;终于通过XHTML1.0和CSS2.0验证了&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;</content:encoded><wfw:commentRss>http://dancewithnet.com/2008/07/12/css-hacks/feed/</wfw:commentRss><description>Java一直标榜一句老话叫“编写一次，到处运行(Write Once,Run Anywhere)”，CSS也差一点点做到了。但就是为了差的一点点往往需要大量的工作，虽然这并不是CSS的错。基本上别妄想兼容所有的解析器...</description><category>hack</category><category>CSS</category><category>HTML &amp;amp; CSS</category><pubDate>Sat, 12 Jul 2008 03:05:48 +0800</pubDate><author>秦歌</author><comments>http://dancewithnet.com/2008/07/12/css-hacks/#comments</comments><guid isPermaLink="false">http://dancewithnet.com/?p=1347</guid><dc:creator>秦歌</dc:creator><fs:srclink>http://dancewithnet.com/2008/07/12/css-hacks/</fs:srclink><fs:srcfeed>http://dancewithnet.com/feed/?.rss</fs:srcfeed><fs:itemid>feedsky/dancewithnet/~7031998/92718850/5136712</fs:itemid></item><item><title>欲望都市与迷失城市</title><link>http://item.feedsky.com/~feedsky/dancewithnet/~7031998/92718851/5136712/1/item.html</link><content:encoded>&lt;p&gt;向往一个都市时，满脑都是对那个都市的欲望；当身陷一个城市时，似乎总是迷失在这个城市中。&lt;/p&gt;
&lt;p&gt;小时候，当说起北京时，会有一种很奇妙的感觉。三年前，当我向往北京时，脑子里会有一长串的景象，长城的雄伟蜿蜒、紫禁城的黄瓦红墙、老胡同里的四合院、妙不可言的中华小吃……。当今天要离开北京时，突然发现以前脑海中的那一长串的景象似乎尚未触摸或者仅仅是惊鸿一瞥，整个三年都似乎都迷失在这个城市中了。&lt;span id=&quot;more-1345&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;曾经很迷恋小说，所以当说起烟雨江南这个词时有另外一种很奇妙的感觉。在我的心里，这四个字或许能代表对杭州这座都市的欲望。所以，当第一次看和西子一样的西湖时，或许满眼都是贪婪。当第二次来杭州时，计划需要待三个月，而实际上这个三个月仅仅到过西湖一次，还是路过。现在计划要更长久的待在杭州这个城市了，或许就是更长久的迷失。&lt;/p&gt;
&lt;p&gt;离开一个城市，却留恋这个都市；向往一个都市，却抗拒这个城市。其实，互联网已经让两个都市的信息仿佛就是一体，现代化的交通已经让两个城市仿佛相邻，但从一个城市到另一个城市总是让人有些很道不清说不明的情绪，从一个都市到另一个都市总是让人遗憾前一个忐忑后一个。于是，我就在欲望都市与迷失城市的漂浮不定中循环下去了。&lt;br /&gt;&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/on-the-air.jpg&quot; alt=&quot;飞上云端&quot; title=&quot;飞上云端&quot; width=&quot;640&quot; height=&quot;480&quot; class=&quot;alignnone size-full wp-image-1346&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;您或许也喜欢看：&lt;/h3&gt;&lt;ol class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2008/03/31/impression-westlake/&quot; title=&quot;印象西湖&quot;&gt;印象西湖&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2008/02/20/hangzhou-impresson/&quot; title=&quot;杭州·印象&quot;&gt;杭州·印象&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2005/05/03/three-days-interview-in-beijing/&quot; title=&quot;应聘之北京三天&quot;&gt;应聘之北京三天&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2005/04/27/flash-to-interviewing/&quot; title=&quot;闪电去面试&quot;&gt;闪电去面试&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;</content:encoded><wfw:commentRss>http://dancewithnet.com/2008/06/26/lust-city-lost-city/feed/</wfw:commentRss><description>向往一个都市时，满脑都是对那个都市的欲望；当身陷一个城市时，似乎总是迷失在这个城市中。
小时候，当说起北京时，会有一种很奇妙的感觉。三年前，当我向往北京时，脑子里会有一长...</description><category>城市</category><category>杭州</category><category>爱想想爱写写</category><category>北京</category><pubDate>Thu, 26 Jun 2008 00:54:49 +0800</pubDate><author>秦歌</author><comments>http://dancewithnet.com/2008/06/26/lust-city-lost-city/#comments</comments><guid isPermaLink="false">http://dancewithnet.com/?p=1345</guid><dc:creator>秦歌</dc:creator><fs:srclink>http://dancewithnet.com/2008/06/26/lust-city-lost-city/</fs:srclink><fs:srcfeed>http://dancewithnet.com/feed/?.rss</fs:srcfeed><fs:itemid>feedsky/dancewithnet/~7031998/92718851/5136712</fs:itemid></item><item><title>是时候不用考虑基于字体大小（em）的设计了</title><link>http://item.feedsky.com/~feedsky/dancewithnet/~7031998/92718852/5136712/1/item.html</link><content:encoded>&lt;p&gt;今天是&lt;a href=&quot;http://www.spreadfirefox.com/zh-CN/worldrecord&quot;&gt;Firefox3的2008下载日&lt;/a&gt;(貌似北京时间是6.18的凌晨1:00)，这就意味着Firefox3正式发布了。Firefox3有众多的&lt;a href=&quot;http://xbeta.info/firefox3-new.htm&quot;&gt;改进和新功能&lt;/a&gt;，我最关注的功能之一是“&lt;a href=&quot;http://blog.mozilla.com/seth/2008/06/09/fulll-page-zoom/&quot;&gt;全页面缩放（Full page zoom）&lt;/a&gt;”。这就意味着Firefox3和Opera以及IE7+都可以让用户“完全控制显示内容的大小同时自动调整页面布局和结构”，说白了就是可以让整个页面直接放大或缩小却不会乱掉。这就意味着我们不用再考虑为了可访问性而整个页面是基于字体大小（em）的设计了。&lt;span id=&quot;more-1344&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;在CSS中，有两种单位。一种是绝对长度单位，包括英寸(in)、厘米(cm)、毫米(mm)、点(pt)和派卡(pc)。另一种是相对长度单位，包括em、ex和像素(px)。ex由于在实际应用中需要获取x大小，因浏览器对此处理方式非常粗糙而被抛弃(更多内容可以参考Eric A. Meyer的《CSS权威指南》)，所以现在的网页设计中对大小距离的控制使用的单位是em和px（当然还有百分数值，但它必须是相对于另外一个值的）。&lt;/p&gt;
&lt;p&gt;在css中，1个“em”定义为一种给定字体的font-size值。所以1em可能随元素的不同而不同，它会相对于父元素字体大小而改变。在常见浏览器下，默认字体的大小为16px。常见有两种方法来进行网页设计：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;设置默认字体大小为10px：
&lt;pre&gt;&lt;code&gt;body{font-size:62.5%;}
#wrapper{width:97.4em;}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这便于依次计算出其他元素的长宽值，比如某个容器#wrapper的宽度是974px，CSS中定义为97.4em。&lt;a href=&quot;http://dancewithnet.com&quot;&gt;本站随网之舞&lt;/a&gt;就是依据这种方式来实现的。&lt;/li&gt;
&lt;li&gt;设计默认字体大小为网页中最常用字体的大小，比如最常用字体的大小是12px：
&lt;pre&gt;&lt;code&gt;body{font-size:75%;}
#wrapper{width:81.1667em;}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这样虽然省去了设置默认字体的大小，但是偶尔却为严格尺寸设计带来麻烦，比如你要设置那个宽为974px的容器#wrapper就会遇到此类麻烦。其实第一种方法也会遇到类似麻烦，只不过比第二种少些。
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;基于字体大小的设计好处很明显，当用户调整浏览器默认字体的大小时，字体和页面会随之缩放，能够满足挺这种方法的人常说的一个优点就是弱视的人可以通过放大字体来看清楚页面内容，增强了页面的可访问性。&lt;/p&gt;
&lt;p&gt;每个屏幕都有分辨率，比如1280×1024分辨率时屏幕就有1280×1024个点，这每个点就是一个像素(px)。所以利用px来设计网页，不存在em那种相对于父元素字体大小变化而变化的问题。而实际上绝大部分的站点设计都是基于px设计的。在Windows平台下IE7之前都无法通过调整浏览器中的“字体大小”来调整文本大小，非IE浏览器可以，但实际上是一般基于px的页面，一旦仅仅调整了文本大小页面就会乱掉（在Firefox 2下观看除&lt;a href=&quot;http://cn.yahoo.com/&quot;&gt;中国雅虎&lt;/a&gt;外的门户网站，调整一下字体大小就了解了）。&lt;/p&gt;
&lt;p&gt;为了IE下不能调整以px为单位的字体大小，而非IE下可以的问题，&lt;a href=&quot;http://developer.yahoo.com/yui/fonts/&quot;&gt;YUI CSS Tools&lt;/a&gt;采用了如下代码来设置默认1em的大小，支持用户的字体大小调整：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;body {font:13px/1.231 arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;为此IE默认情况下，1em的大小是13.3333px，所以你会看到&lt;a href=&quot;http://developer.yahoo.com/yui/build/grids/grids.css&quot;&gt;YUI CSS Grids&lt;/a&gt;里面那些诸如&lt;code&gt;width:73.076em;&lt;/code&gt;这样的值。&lt;/p&gt;
&lt;p&gt;所以，基于字体大小（em）的设计和基于px的设计相比而言：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;基于字体大小(em)的设计页面带来的缩放效果有限，最早基于字体大小设计的门户网站应该就是&lt;a href=&quot;http://www.yahoo.com/&quot;&gt;Yahoo&lt;/a&gt;和&lt;a href=&quot;http://www.msn.com/&quot;&gt;MSN&lt;/a&gt;了，而实际上它们也仅仅是保证了上下缩放三级而已，再多就乱掉了。&lt;/li&gt;
&lt;li&gt;现在的站点越来越多的图文混排，图像的高度和宽度本身就是像素数。除非你通过CSS来把图片的大小设置为相应的em值，就像本站的Logo这样，否则图片是不会随着文字变化而变化的。但是如果采用的是背景图片，那就基本上无计可施了。所以实际上基于字体大小来做图文混排设计的网页需要对图像的设计是有相当严格的要求的，即使如此仍无法完美解决，但复杂度却上升不少。&lt;/li&gt;
&lt;li&gt;基于字体大小的网页设计，将使长度变得的非常的不直观，导致设置一个宽度变得非常麻烦，&lt;a href=&quot;http://developer.yahoo.com/yui/build/grids/grids.css&quot;&gt;YUI CSS Grids&lt;/a&gt;中说明了这点。并且由于em会相对于父元素字体大小变化而变化的问题，导致图文混排的复杂设计时非常麻烦。特别是在盛行过度设计和精确到像素的这个浮躁时代。其实连&lt;a href=&quot;http://google.com/&quot;&gt;Google&lt;/a&gt;和&lt;a href=&quot;http://www.baidu.com/&quot;&gt;百度&lt;/a&gt;这种非常简单的首页都或多或少的利用px来布局。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;现在主流浏览器都支持了“全网页缩放”功能，Safari尚未支持这个功能，而是像Firefox2一样支持文本缩放，但是具有讽刺意味的是Apple页面基本上都是基于px的，所以一缩放就乱掉，我深信Safari支持这个功能仅仅是时间问题。两年前有篇&lt;a href=&quot;http://jorux.com/archives/95-websites-of-china-need-to-rewrite-css/&quot;&gt;《95%的中国网站需要重写CSS》&lt;/a&gt;很流行，虽然保证用户的可访问性是应该的，但是应该找到其最佳实现的方法，毫无疑问浏览器的“全页面缩放”功能是最佳选择。从现在开始，基于px的设计不用再过于背负违背可用性的恶名了，基于em（文字大小）的设计不能给我们带来太多的好处，反而有可能耗费太多的精力挣扎于如何精确保护视觉设计上，设计师的精力应该更多的放在内容的理解、快速呈现、语义化、对屏幕阅读器的支持等等方面上。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://w3counter.com/globalstats.php&quot;&gt;全球范围内IE6已经不到40%了&lt;/a&gt;，中国用户比率应该高些，但趋势是一样的，毕竟IE8都出Beta了，IE6会很快成为历史的。如果你是偏执狂，需要考虑Firefox2和Safari的话，或许设置&lt;code&gt;body{font-size:10px;}&lt;/code&gt;再基于em进行设计是一个不错的办法，&lt;a href=&quot;http://cn.yahoo.com/&quot;&gt;中国雅虎的首页&lt;/a&gt;就是利用类似原理。总之，是时候不用考虑基于字体大小（em）的设计了，特别是针对IE6的解决方案。&lt;/p&gt;
&lt;h3&gt;您或许也喜欢看：&lt;/h3&gt;&lt;ol class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2008/07/12/css-hacks/&quot; title=&quot;CSS Hacks&quot;&gt;CSS Hacks&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2008/04/22/a-solution-of-limit-of-style-tags-in-ie/&quot; title=&quot;IE对CSS样式表的限制和解决方案&quot;&gt;IE对CSS样式表的限制和解决方案&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2008/04/17/firefox-default-stylesheet/&quot; title=&quot;Firefox的默认样式表&quot;&gt;Firefox的默认样式表&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2008/04/05/examples-of-display-inline-block/&quot; title=&quot;display:inline-block的应用两例&quot;&gt;display:inline-block的应用两例&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2007/10/30/css-display-inline-block/&quot; title=&quot;CSS{display:inline-block}&quot;&gt;CSS{display:inline-block}&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2007/07/26/ie6-height-bug/&quot; title=&quot;CSS设置IE6中容器高度BUG&quot;&gt;CSS设置IE6中容器高度BUG&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2007/04/19/cross-brower-css-fixed-position/&quot; title=&quot;跨浏览器的CSS固定定位{position:fixed}&quot;&gt;跨浏览器的CSS固定定位{position:fixed}&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2007/03/21/ux-ui-ucd-usability-and-so-on/&quot; title=&quot;UX、UI、UCD、Usability、IA等设计中的常见名词&quot;&gt;UX、UI、UCD、Usability、IA等设计中的常见名词&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2006/05/18/css-alpha-transparent/&quot; title=&quot;IE, FireFox, Opera 浏览器支持Alpha透明的方法&quot;&gt;IE, FireFox, Opera 浏览器支持Alpha透明的方法&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2005/06/07/css-abbreviation/&quot; title=&quot;常用CSS缩写语法总结&quot;&gt;常用CSS缩写语法总结&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;</content:encoded><wfw:commentRss>http://dancewithnet.com/2008/06/17/it-is-time-to-discard-font-size-adjustments/feed/</wfw:commentRss><description>今天是Firefox3的2008下载日(貌似北京时间是6.18的凌晨1:00)，这就意味着Firefox3正式发布了。Firefox3有众多的改进和新功能，我最关注的功能之一是“全页面缩放（Full page zoom）”。这就意味着Firefox...</description><category>em</category><category>CSS</category><category>px</category><category>可访问性</category><category>全页面缩放</category><category>HTML &amp;amp; CSS</category><pubDate>Tue, 17 Jun 2008 02:23:35 +0800</pubDate><author>秦歌</author><comments>http://dancewithnet.com/2008/06/17/it-is-time-to-discard-font-size-adjustments/#comments</comments><guid isPermaLink="false">http://dancewithnet.com/?p=1344</guid><dc:creator>秦歌</dc:creator><fs:srclink>http://dancewithnet.com/2008/06/17/it-is-time-to-discard-font-size-adjustments/</fs:srclink><fs:srcfeed>http://dancewithnet.com/feed/?.rss</fs:srcfeed><fs:itemid>feedsky/dancewithnet/~7031998/92718852/5136712</fs:itemid></item><item><title>黄山，黄山</title><link>http://item.feedsky.com/~feedsky/dancewithnet/~7031998/92718853/5136712/1/item.html</link><content:encoded>&lt;p&gt;一品黄山，天高云淡。就在上个月底，我蜻蜓点水般游历了这座中华最有名的山川。在大学时代爬了两次泰山，我感受了十八盘大道的艰难和玉皇顶上日出的壮观，但当身陷黄山两边都是万丈深渊的惊险小道，瑟瑟发抖却又豪情万丈地感受水墨般山川在云雾中穿梭和目不暇接的奇松怪石时，或许能体会点这句“五岳归来不看山，黄山归来不看岳！”。&lt;span id=&quot;more-1304&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;云雾山景&lt;/h3&gt;
&lt;p&gt;总是能看到大片大片的云雾骤然升起突然消失，若隐若现的水墨山川感觉像在梦境中。&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-06.jpg&quot; alt=&quot;黄山天都峰上看云雾山景&quot; width=&quot;640&quot; height=&quot;480&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-14.jpg&quot; alt=&quot;黄山天都峰上看云雾山景&quot; width=&quot;640&quot; height=&quot;480&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-12.jpg&quot; alt=&quot;黄山云雾山景&quot; width=&quot;640&quot; height=&quot;480&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-01.jpg&quot; alt=&quot;黄山云雾山景&quot;  width=&quot;640&quot; height=&quot;480&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-16.jpg&quot; alt=&quot;黄山云雾山景&quot; width=&quot;640&quot; height=&quot;480&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-03.jpg&quot; alt=&quot;黄山云雾山景&quot; width=&quot;640&quot; height=&quot;480&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-15.jpg&quot; alt=&quot;黄山云雾山景&quot; width=&quot;480&quot; height=&quot;640&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-27.jpg&quot; alt=&quot;黄山云雾山景&quot; width=&quot;640&quot; height=&quot;480&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-35.jpg&quot; alt=&quot;黄山云雾山景&quot; width=&quot;640&quot; height=&quot;480&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-39.jpg&quot; alt=&quot;黄山云雾山景&quot; width=&quot;640&quot; height=&quot;480&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-36.jpg&quot; alt=&quot;黄山山景&quot; width=&quot;480&quot; height=&quot;640&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-02.jpg&quot; alt=&quot;黄山晚霞山景&quot; width=&quot;640&quot; height=&quot;480&quot; /&gt;
&lt;/p&gt;
&lt;h3&gt;天都绝顶&lt;/h3&gt;
&lt;p&gt;天都峰是黄山的第三高峰，但却是最险的峰，大名鼎鼎的鲫鱼背在这座峰上。最开始两张照片就是在天都峰顶拍的。&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-13.jpg&quot; alt=&quot;黄山天都绝顶&quot; title=&quot;迎客松&quot; width=&quot;640&quot; height=&quot;480&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;在天都峰顶我看到了阳光和雨雾嬉戏。&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-09.jpg&quot; alt=&quot;黄山天都峰上的云彩&quot; width=&quot;640&quot; height=&quot;480&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-08.jpg&quot; alt=&quot;黄山天都峰上的云彩&quot; width=&quot;480&quot; height=&quot;640&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-10.jpg&quot; alt=&quot;黄山天都峰上的云彩&quot; width=&quot;480&quot; height=&quot;640&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-11.jpg&quot; alt=&quot;黄山天都峰上的云彩&quot; width=&quot;480&quot; height=&quot;640&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;这就是大名鼎鼎的鲫鱼背了，两边都是万丈深渊，感谢那些神奇的开山工。&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-07.jpg&quot; alt=&quot;鲫鱼背&quot; width=&quot;640&quot; height=&quot;480&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-05.jpg&quot; alt=&quot;鲫鱼背&quot; width=&quot;640&quot; height=&quot;480&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;这是下了鲫鱼背看到天都峰全貌。&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-04.jpg&quot; alt=&quot;黄山鲫鱼背全景&quot; width=&quot;640&quot; height=&quot;480&quot; /&gt;
&lt;/p&gt;
&lt;h3&gt;惊险小道&lt;/h3&gt;
&lt;p&gt;一人行的宽度，60-80的坡度，至少一边是绝壁。&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-17.jpg&quot; alt=&quot;黄山惊险小道&quot; width=&quot;480&quot; height=&quot;640&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-20.jpg&quot; alt=&quot;黄山惊险小道&quot; width=&quot;480&quot; height=&quot;640&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-21.jpg&quot; alt=&quot;黄山惊险小道&quot;  width=&quot;480&quot; height=&quot;640&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-26.jpg&quot; alt=&quot;黄山惊险小道&quot; width=&quot;480&quot; height=&quot;640&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-25.jpg&quot; alt=&quot;黄山惊险小道&quot; width=&quot;480&quot; height=&quot;640&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-24.jpg&quot; alt=&quot;黄山惊险小道&quot; width=&quot;480&quot; height=&quot;640&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;这个好像就是一线天了。&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-19.jpg&quot; alt=&quot;黄山一线天&quot; width=&quot;480&quot; height=&quot;640&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;爬往天都峰的路上需要穿过很多天然的山洞。&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-22.jpg&quot; alt=&quot;黄山山洞&quot;  width=&quot;640&quot; height=&quot;480&quot; /&gt;
&lt;/p&gt;
&lt;h3&gt;清泉石上流&lt;/h3&gt;
&lt;p class=&quot;noIndent&quot;&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-29.jpg&quot; alt=&quot;黄山山泉&quot; width=&quot;640&quot; height=&quot;480&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-30.jpg&quot; alt=&quot;黄山山泉&quot; width=&quot;480&quot; height=&quot;640&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-31.jpg&quot; alt=&quot;黄山山泉&quot; width=&quot;640&quot; height=&quot;480&quot; /&gt;
&lt;/p&gt;
&lt;h3&gt;青松迎客&lt;/h3&gt;
&lt;p&gt;同样大名鼎鼎的迎客松。&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-38.jpg&quot; alt=&quot;黄山迎客松&quot; width=&quot;640&quot; height=&quot;480&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-23.jpg&quot; alt=&quot;黄山青松&quot; width=&quot;480&quot; height=&quot;640&quot; /&gt;
&lt;/p&gt;
&lt;h3&gt;山路小调&lt;/h3&gt;
&lt;p&gt;山边的花儿和小松鼠，在天都峰顶上也看到松鼠路过。&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-18.jpg&quot; alt=&quot;黄山花儿&quot; width=&quot;480&quot; height=&quot;640&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-37.jpg&quot; alt=&quot;黄山小松鼠&quot; width=&quot;480&quot; height=&quot;640&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;黄山的标识很有感觉，休息设施也非常完善。&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-28.jpg&quot; alt=&quot;黄山垃圾池标识&quot; width=&quot;640&quot; height=&quot;480&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;索道上感受高空失重是挺刺激的，高空上俯瞰黄山是另一番味道。&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-33.jpg&quot; alt=&quot;黄山索道风景&quot; width=&quot;640&quot; height=&quot;480&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-34.jpg&quot; alt=&quot;黄山索道风景&quot; width=&quot;640&quot; height=&quot;480&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;最后一眼黄山的天空。&lt;br /&gt;
&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/06/huangshan-32.jpg&quot; alt=&quot;黄山天空&quot; width=&quot;640&quot; height=&quot;480&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;您或许也喜欢看：&lt;/h3&gt;&lt;ol class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2006/07/16/come-back-from-bei-dai-river/&quot; title=&quot;秦皇岛北戴河归来&quot;&gt;秦皇岛北戴河归来&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;</content:encoded><wfw:commentRss>http://dancewithnet.com/2008/06/11/huangshan-yellow-mountain/feed/</wfw:commentRss><description>一品黄山，天高云淡。就在上个月底，我蜻蜓点水般游历了这座中华最有名的山川。在大学时代爬了两次泰山，我感受了十八盘大道的艰难和玉皇顶上日出的壮观，但当身陷黄山两边都是万丈...</description><category>摄影</category><category>爱游玩爱摄影</category><category>黄山</category><category>旅游</category><pubDate>Wed, 11 Jun 2008 23:36:56 +0800</pubDate><author>秦歌</author><comments>http://dancewithnet.com/2008/06/11/huangshan-yellow-mountain/#comments</comments><guid isPermaLink="false">http://dancewithnet.com/?p=1304</guid><dc:creator>秦歌</dc:creator><fs:srclink>http://dancewithnet.com/2008/06/11/huangshan-yellow-mountain/</fs:srclink><fs:srcfeed>http://dancewithnet.com/feed/?.rss</fs:srcfeed><fs:itemid>feedsky/dancewithnet/~7031998/92718853/5136712</fs:itemid></item><item><title>语法图</title><link>http://item.feedsky.com/~feedsky/dancewithnet/~7031998/92718854/5136712/1/item.html</link><content:encoded>&lt;p&gt;语法图（Syntax diagrams ）又叫铁路图（railroad diagrams）是描述&lt;a href=&quot;http://zh.wikipedia.org/wiki/%E5%BD%A2%E5%BC%8F%E6%96%87%E6%B3%95&quot;&gt;形式文法&lt;/a&gt;的一种方式。它是&lt;a href=&quot;http://dancewithnet.com/2008/05/17/bnf-and-ebnf/&quot;&gt;巴科斯范式或扩展巴科斯范式&lt;/a&gt;的图形化表示。最早使用语法图的书包括Niklaus Wirth写的&lt;a href=&quot;http://www.standardpascal.org/The_Programming_Language_Pascal_1973.pdf&quot;&gt;&amp;#8220;Pascal User Manual&amp;#8221;&lt;/a&gt;（语法图开始于47页）和&lt;a href=&quot;http://bitsavers.org/pdf/burroughs/B6500_6700/5000318_B6700_CANDE_Oct72.pdf&quot;&gt;the Burroughs CANDE manual&lt;/a&gt;。在编译领域，像BNF和它的变体这样的文字式表示法都是首选的。BNF能很好的被编译器作者和编译器理解，但是不能很好的被这些语言的大部分用户理解。铁路图能更容易被大多数人理解。数据交换格式&lt;a href=&quot;http://zh.wikipedia.org/wiki/JSON&quot;&gt;JSON&lt;/a&gt;之所以流行的部分原因就是它用铁路图来表示。&lt;span id=&quot;more-1302&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;准则&lt;/h3&gt;
&lt;p&gt;一个语法的表示法是由一套语法图组成。每个图定义了一个非终结符。有一个主图通过下面方式定义了这门语言：属于这门语言的每句话都必须在主图上描绘一个路径。&lt;/p&gt;
&lt;p&gt;每个图都有一个起始点和一个终点。这个图通过穿过其他的非终结符和终结符描绘了这些两点之间的可能路径。终结符用圆形区域表示，同时非终结符用方形区域表示。&lt;/p&gt;
&lt;h3&gt;例子&lt;/h3&gt;
&lt;p&gt;我们用一个算术表达式作为一个例子。首先我们提供一段简单的BNF语法：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;expression&amp;gt;::= &amp;lt;term&amp;gt; | &amp;lt;term&amp;gt; &amp;quot;+&amp;quot; &amp;lt;expression&amp;gt;
&amp;lt;term&amp;gt;::= &amp;lt;factor&amp;gt; | &amp;lt;factor&amp;gt; &amp;quot;*&amp;quot; &amp;lt;term&amp;gt;
&amp;lt;factor&amp;gt;::= &amp;lt;constant&amp;gt; | &amp;lt;variable&amp;gt; | &amp;quot;(&amp;quot; &amp;lt;expression&amp;gt; &amp;quot;)&amp;quot;
&amp;lt;variable&amp;gt;::= &amp;quot;x&amp;quot; | &amp;quot;y&amp;quot; | &amp;quot;z&amp;quot;
&amp;lt;constant&amp;gt;::= &amp;lt;digit&amp;gt; | &amp;lt;digit&amp;gt; &amp;lt;constant&amp;gt;
&amp;lt;digit&amp;gt;::= &amp;quot;0&amp;quot; | &amp;quot;1&amp;quot; | &amp;quot;2&amp;quot; | &amp;quot;3&amp;quot; | &amp;quot;4&amp;quot; | &amp;quot;5&amp;quot; | &amp;quot;6&amp;quot; | &amp;quot;7&amp;quot; | &amp;quot;8&amp;quot; | &amp;quot;9&amp;quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这段语法也能在EBNF中被表示：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;expression = term , {&quot;+&quot; term};
term = factor , {&quot;*&quot; factor};
factor = constant | variable | &quot;(&quot; , expression , &quot;)&quot;;
variable = &quot;x&quot; | &quot;y&quot; | &quot;z&quot;;
constant = digit , {digit};
digit = &quot;0&quot; | &quot;1&quot; | &quot;2&quot; | &quot;3&quot; | &quot;4&quot; | &quot;5&quot; | &quot;6&quot; | &quot;7&quot; | &quot;8&quot; | &quot;9&quot;;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;关于这段语法的一组可能的语法图：&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/05/syntax-diagrams.png&quot; alt=&quot;&quot; title=&quot;syntax-diagrams&quot; width=&quot;500&quot; height=&quot;573&quot; class=&quot;alignnone size-full wp-image-1303&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;扩展链接&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2008/05/17/bnf-and-ebnf/&quot;&gt;巴科斯范式和扩展巴科斯范式&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.json.org/json-zh.html&quot;&gt;JSON website including syntax diagrams&lt;/a&gt;&lt;/li&gt;
&lt;li&gt; &lt;a href=&quot;http://www-cgi.uni-regensburg.de:80/~brf09510/syntax.html&quot;&gt;Automatic generator of syntax diagrams&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www-cgi.uni-regensburg.de:80/~brf09510/syntax/lazyebnf.ebnf.html&quot;&gt;Syntax diagrams of BNF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://dotnet.jku.at/applications/Visualizer/&quot;&gt;Generator from EBNF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.informatik.uni-freiburg.de:80/~thiemann/haskell/ebnf2ps/&quot;&gt;From EBNF to a postscript file wit the diagrams&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;原文：&lt;a href=&quot;http://en.wikipedia.org/wiki/Syntax_diagram&quot;&gt;Syntax diagram&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;您或许也喜欢看：&lt;/h3&gt;&lt;ol class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2008/05/17/bnf-and-ebnf/&quot; title=&quot;巴科斯范式和扩展巴科斯范式&quot;&gt;巴科斯范式和扩展巴科斯范式&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;</content:encoded><wfw:commentRss>http://dancewithnet.com/2008/05/28/syntax-diagrams/feed/</wfw:commentRss><description>语法图（Syntax diagrams ）又叫铁路图（railroad diagrams）是描述形式文法的一种方式。它是巴科斯范式或扩展巴科斯范式的图形化表示。最早使用语法图的书包括Niklaus Wirth写的&amp;#8220;Pascal User Manual&amp;#8...</description><category>web2.0 &amp;amp; so on</category><category>铁路图</category><category>BNF</category><category>语法图</category><category>语法</category><category>巴科斯范式</category><category>EBNF</category><pubDate>Wed, 28 May 2008 23:45:13 +0800</pubDate><author>秦歌</author><comments>http://dancewithnet.com/2008/05/28/syntax-diagrams/#comments</comments><guid isPermaLink="false">http://dancewithnet.com/?p=1302</guid><dc:creator>秦歌</dc:creator><fs:srclink>http://dancewithnet.com/2008/05/28/syntax-diagrams/</fs:srclink><fs:srcfeed>http://dancewithnet.com/feed/?.rss</fs:srcfeed><fs:itemid>feedsky/dancewithnet/~7031998/92718854/5136712</fs:itemid></item><item><title>巴科斯范式和扩展巴科斯范式</title><link>http://item.feedsky.com/~feedsky/dancewithnet/~7031998/92718855/5136712/1/item.html</link><content:encoded>&lt;h3&gt;巴科斯范式&lt;/h3&gt;
&lt;p&gt;巴科斯范式（也称为巴科斯-瑙尔范式、巴克斯-诺尔范式）即 BNF 是一种用于表示上下文无关文法的语言，上下文无关文法描述了一类形式语言。尽管巴科斯范式也能表示一部分自然语言的语法，它还是更广泛地使用于程序设计语言、指令集、通信协议的语法表示中。大多数程序设计语言或者形式语义方面的教科书都采用巴科斯范式。在各种文献中还存在巴科斯范式的一些变体，如&lt;a href=&quot;http://zh.wikipedia.org/wiki/%E6%89%A9%E5%B1%95%E5%B7%B4%E7%A7%91%E6%96%AF%E8%8C%83%E5%BC%8F&quot;&gt;扩展巴科斯范式EBNF&lt;/a&gt;或&lt;a href=&quot;http://zh.wikipedia.org/wiki/%E6%89%A9%E5%85%85%E5%B7%B4%E7%A7%91%E6%96%AF%E8%8C%83%E5%BC%8F&quot;&gt;扩充巴科斯范式 ABNF&lt;/a&gt;&lt;span id=&quot;more-1301&quot;&gt;&lt;/span&gt;。&lt;/p&gt;
&lt;p&gt;BNF 规定是推导规则(产生式)的集合,写为：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;code&amp;gt;&amp;lt;符号&amp;gt; ::= &amp;lt;使用符号的表达式&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这里的&amp;lt;符号&amp;gt; 是非终结符，而表达式由一个符号序列，或用指示选择的竖杠 &amp;#8216;|&amp;#8217; 分隔的多个符号序列构成，每个符号序列整体都是左端的符号的一种可能的替代。从未在左端出现的符号叫做终结符。&lt;/p&gt;
&lt;h3&gt;扩展巴科斯范式&lt;/h3&gt;
&lt;p&gt;扩展巴科斯-瑙尔范式(EBNF)是表达作为描述计算机编程语言和形式语言的正规方式的上下文无关文法的元语法符号表示法。它是基本巴科斯范式(BNF)元语法符号表示法的一种扩展。&lt;/p&gt;
&lt;p&gt;它最初由尼古拉斯·沃斯开发，最常用的 EBNF 变体由标准，特别是 ISO-14977 所定义。&lt;/p&gt;
&lt;h4&gt;基本&lt;/h4&gt;
&lt;p&gt;代码，如由终结符即可视字符、数字、标点符号、空白字符等组成的计算机程序的源代码。&lt;/p&gt;
&lt;p&gt;EBNF 定义了把各符号序列分别指派到非终结符的产生规则:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;digit excluding zero = &quot;1&quot;|&quot;2&quot;|&quot;3&quot;|&quot;4&quot;|&quot;5&quot;|&quot;6&quot;|&quot;7&quot;|&quot;8&quot;|&quot;9&quot; ;
digit = &quot;0&quot; | digit excluding zero ;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这个产生规则定义了在这个指派的左端的非终结符 digit。竖杠表示可供选择，而终结符被引号包围，最后跟着分号作为终止字符。所以 digit 是一个 0 或可以是 1 或 2 或 3 直到 9 的一个 digit excluding zero。&lt;/p&gt;
&lt;p&gt;产生规则还可以包括由逗号分隔的一序列终结符或非终结符:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;twelve = &quot;1&quot; , &quot;2&quot; ;
two hundred one = &quot;2&quot; , &quot;0&quot; , &quot;1&quot; ;
three hundred twelve = &quot;3&quot; , twelve ;
twelve thousand two hundred one = twelve , two hundred one ;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;可以省略或重复的表达式可以通过花括号 { &amp;#8230; } 表示:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;natural number = digit excluding zero , { digit } ;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;在这种情况下，字符串 1, 2, &amp;#8230;,10,&amp;#8230;,12345,&amp;#8230; 都是正确的表达式。要表示这种情况，于花括号内设立的所有东西可以重复任何次，包括根本不出现。&lt;/p&gt;
&lt;p&gt;可选项可以通过方括号 [ ... ] 表示:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;integer = &quot;0&quot; | [ &quot;-&quot; ] , natural number ;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;所以 integer 是一个零(0)或可能前导可选的负号的一个自然数。&lt;/p&gt;
&lt;p&gt;EBNF 还包括描述指定次数的重复，和排除产生式的某部分或向 EBNF 文法插入注释的语法。&lt;/p&gt;
&lt;h4&gt;依据 ISO 的扩展&lt;/h4&gt;
&lt;p&gt;依据 ISO 14977 标准，提供了两个设施来扩展 EBNF。其一是在 EBNF 文法部分的特殊序列，它是在问号包围内的任意文本，其解释超出了 EBNF 标准的范围。例如，空格字符可以用如下规则定义:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;space = ? US-ASCII character 32 ?;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;其二利用圆括号在 EBNF 中不能放置到紧随标识符之后的事实。下列不是有效的 EBNF:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;something = foo ( bar );&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;所以 EBNF 的扩展可以使用这种表示法。例如，在 Lisp 文法中，函数应用可以用如下规则定义:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;function application = list( symbol , [ { expression } ] );&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;扩展 BNF 的动机&lt;/h4&gt;
&lt;p&gt;BNF 有着可选项和重复不能直接表达的问题。作为替代，它们需要利用中介规则或两选一规则，对于可选项，定义要么是空的要么是可选的产生式的规则，对于重复，递归的定义要么是被重复的产生式要么是自身的规则。同样的构造仍可用在 EBNF 中。&lt;/p&gt;
&lt;p&gt;可选项:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;signed number = [ sign , ] number ;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;可按 BNF-风格定义为:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;signed number = sign , number | number ;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;或&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;signed number = optional sign , number ;
optional sign = ε | sign ; (* 使用 ε 来更清晰的指示空产生式 *)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;重复:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;number = { digit } ;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;可按 BNF-风格定义为:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;number = digit | number digit;&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;其他增加和修改&lt;/h4&gt;
&lt;p&gt;EBNF 排除了 BNF 的一些缺陷:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;BNF 为自身使用了符号 (&amp;lt;, &amp;gt;, |, ::=)。当它们出现在要定义的语言中的时候，BNF 不能不加以修改或解释的使用。&lt;/li&gt;
&lt;li&gt;BNF-语法在一行中只表示一个规则。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;EBNF 解决了这些问题:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;终结符被严格的包围在引号 (&amp;#8221;&amp;#8230;&amp;#8221; 或 &amp;#8216;&amp;#8230;&amp;#8217;) 中。给非终结符的尖括号 (&amp;#8221;&amp;lt;&amp;#8230;&amp;gt;&amp;#8221;)可以省略。&lt;/li&gt;
&lt;li&gt;通常使用终止字符分号结束一个规则。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;进一步还提供了定义重复次数，排除法选择(比如除了引号的所有字符)和注释等的增强机制。&lt;/p&gt;
&lt;p&gt;不管所有这些增强，EBNF 在能定义的语言的意义上不比 BNF 更强大。在原理上用 EBNF 定义的任何文法都可以用 BNF 表达。但是经常导致可观的更多规则的表示。&lt;/p&gt;
&lt;p&gt;EBNF 已经被ISO用代码 ISO/IEC 14977:1996(E) 标准化了。&lt;/p&gt;
&lt;p&gt;在某些场合任何扩展的 BNF 都被称为 EBNF。例如 W3C 使用 &lt;a href=&quot;http://www.w3c.org/TR/REC-xml#sec-notation&quot;&gt;one EBNF&lt;/a&gt; 来规定 XML。&lt;/p&gt;
&lt;h4&gt;另一个例子&lt;/h4&gt;
&lt;p&gt;只允许赋值的简单编程语言可以用 EBNF 定义为:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;(* a simple program in EBNF − Wikipedia *)
program = 'PROGRAM' , white space , identifier , white space ,
           'BEGIN' , white space ,
           { assignment , &quot;;&quot; , white space } ,
           'END.' ;
identifier = alphabetic character , [ { alphabetic character | digit } ] ;
number = [ &quot;-&quot; ] , digit , [ { digit } ] ;
string = &amp;#8216;&amp;#8221;&amp;#8216; , { all characters − &amp;#8216;&amp;#8221;&amp;#8216; } , &amp;#8216;&amp;#8221;&amp;#8216; ;
assignment = identifier , &amp;#8220;:=&amp;#8221; , ( number | identifier | string ) ;
alphabetic character = &amp;#8220;A&amp;#8221;|&amp;#8221;B&amp;#8221;|&amp;#8221;C&amp;#8221;|&amp;#8221;D&amp;#8221;|&amp;#8221;E&amp;#8221;|&amp;#8221;F&amp;#8221;|&amp;#8221;G&amp;#8221;
             |&amp;#8221;H&amp;#8221;|&amp;#8221;I&amp;#8221;|&amp;#8221;J&amp;#8221;|&amp;#8221;K&amp;#8221;|&amp;#8221;L&amp;#8221;|&amp;#8221;M&amp;#8221;|&amp;#8221;N&amp;#8221;
             |&amp;#8221;O&amp;#8221;|&amp;#8221;P&amp;#8221;|&amp;#8221;Q&amp;#8221;|&amp;#8221;R&amp;#8221;|&amp;#8221;S&amp;#8221;|&amp;#8221;T&amp;#8221;|&amp;#8221;U&amp;#8221;
             |&amp;#8221;V&amp;#8221;|&amp;#8221;W&amp;#8221;|&amp;#8221;X&amp;#8221;|&amp;#8221;Y&amp;#8221;|&amp;#8221;Z&amp;#8221; ;
digit = &amp;#8220;0&amp;#8243;|&amp;#8221;1&amp;#8243;|&amp;#8221;2&amp;#8243;|&amp;#8221;3&amp;#8243;|&amp;#8221;4&amp;#8243;|&amp;#8221;5&amp;#8243;|&amp;#8221;6&amp;#8243;|&amp;#8221;7&amp;#8243;|&amp;#8221;8&amp;#8243;|&amp;#8221;9&amp;#8243; ;

white space = ? white space characters ? ;
all characters = ? all visible characters ? ;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;一个语法上正确的程序:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;PROGRAM DEMO1
BEGIN
  A0:=3;
  B:=45;
  H:=-100023;
  C:=A;
  D123:=B34A;
  BABOON:=GIRAFFE;
  TEXT:=&quot;Hello world!&quot;;
END.&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这个语言可以轻易的扩展上控制流，算术表达式和输入/输出指令。就可以开发出一个小的、可用的编程语言了。&lt;/p&gt;
&lt;p&gt;使用了在标准中提议为正规表示的下列字符:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;用途&lt;/th&gt;
&lt;th&gt;符号表示&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;定义&lt;/td&gt;
&lt;td&gt;=&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;串接&lt;/td&gt;
&lt;td&gt;,&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;终止&lt;/td&gt;
&lt;td&gt;;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;分隔&lt;/td&gt;
&lt;td&gt;|&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;可选&lt;/td&gt;
&lt;td&gt;	[ ... ]&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;重复&lt;/td&gt;
&lt;td&gt;{ &amp;#8230; }&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;分组&lt;/td&gt;
&lt;td&gt;	( &amp;#8230; )&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;双引号&lt;/td&gt;
&lt;td&gt;&amp;#8221; &amp;#8230; &amp;#8220;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;单引号&lt;/td&gt;
&lt;td&gt;&amp;#8216; &amp;#8230; &amp;#8216;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;注释&lt;/td&gt;
&lt;td&gt;	(* &amp;#8230; *)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;特殊序列&lt;/td&gt;
&lt;td&gt;? &amp;#8230; ?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;除外&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4&gt;约定&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;使用了如下约定:
&lt;ol&gt;
&lt;li&gt;扩展 BNF 每个元标识符都被写为用连字号连接起来的一个或多个字；&lt;/li&gt;
&lt;li&gt;结束于“-symbol” 的元标识符是扩展 BNF 的终结符的名字。&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;表示扩展 BNF 的每个操作符的正常字符和它所蕴涵的优先级(顶部为最高优先级)为:
&lt;pre&gt;&lt;code&gt;* repetition-symbol
- except-symbol
, concatenate-symbol
| definition-separator-symbol
= defining-symbol
; terminator-symbol&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;下列括号对超越正常优先级:
&lt;pre&gt;&lt;code&gt;'  first-quote-symbol            first-quote-symbol  '
&quot;  second-quote-symbol          second-quote-symbol  &quot;
(* start-comment-symbol          end-comment-symbol *)
(  start-group-symbol              end-group-symbol  )
[  start-option-symbol            end-option-symbol  ]
{  start-repeat-symbol            end-repeat-symbol  }
?  special-sequence-symbol   special-sequence-symbol ?&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;作为例子，下列语法规则展示了表达重复的设施:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;aa = &quot;A&quot;;
bb = 3 * aa, &quot;B&quot;;
cc = 3 * [aa], &amp;#8220;C&amp;#8221;;
dd = {aa}, &amp;#8220;D&amp;#8221;;
ee = aa, {aa}, &amp;#8220;E&amp;#8221;;
ff = 3 * aa, 3 * [aa], &amp;#8220;F&amp;#8221;;
gg = {3 * aa}, &amp;#8220;D&amp;#8221;;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这些规则定义的终结字符串如下:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;aa: A
bb: AAAB
cc: C AC AAC AAAC
dd: D AD AAD AAAD AAAAD etc.
ee: AE AAE AAAE AAAAE AAAAAE etc.
ff: AAAF AAAAF AAAAAF AAAAAAF
gg: D AAAD AAAAAAD etc.&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;有关工作&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;W3C 使用一种&lt;a href=&quot;http://www.w3c.org/TR/REC-xml#sec-notation&quot;&gt;不同的 EBNF &lt;/a&gt;来指定 XML 语法。&lt;/li&gt;
&lt;li&gt;British Standards Institute 在1981年出版了一个 EBNF 标准: BS 6154。&lt;/li&gt;
&lt;li&gt;IETF 使用在&lt;a href=&quot;http://tools.ietf.org/html/rfc4234&quot;&gt; RFC 4234&lt;/a&gt; 中规定的&lt;a href=&quot;http://zh.wikipedia.org/wiki/%E6%89%A9%E5%85%85%E5%B7%B4%E7%A7%91%E6%96%AF%E8%8C%83%E5%BC%8F&quot;&gt;扩充 BNF (ABNF)&lt;/a&gt;。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;ps，由于中文维基百科尚不可访问，所以就原文转载了其中关于&lt;a href=&quot;http://zh.wikipedia.org/wiki/%E5%B7%B4%E7%A7%91%E6%96%AF-%E7%91%99%E5%B0%94%E8%8C%83%E5%BC%8F&quot;&gt;巴科斯范式&lt;/a&gt;和&lt;a href=&quot;http://zh.wikipedia.org/wiki/%E6%89%A9%E5%B1%95%E5%B7%B4%E7%A7%91%E6%96%AF%E8%8C%83%E5%BC%8F&quot;&gt;扩展巴科斯范式&lt;/a&gt;的词条。&lt;/p&gt;
&lt;h3&gt;&lt;/h3&gt;
&lt;h3&gt;您或许也喜欢看：&lt;/h3&gt;&lt;ol class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2008/05/28/syntax-diagrams/&quot; title=&quot;语法图&quot;&gt;语法图&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;</content:encoded><wfw:commentRss>http://dancewithnet.com/2008/05/17/bnf-and-ebnf/feed/</wfw:commentRss><description>巴科斯范式
巴科斯范式（也称为巴科斯-瑙尔范式、巴克斯-诺尔范式）即 BNF 是一种用于表示上下文无关文法的语言，上下文无关文法描述了一类形式语言。尽管巴科斯范式也能表示一部分自然...</description><category>web2.0 &amp;amp; so on</category><category>BNF</category><category>语法</category><category>巴科斯范式</category><category>EBNF</category><pubDate>Sat, 17 May 2008 18:17:54 +0800</pubDate><author>秦歌</author><comments>http://dancewithnet.com/2008/05/17/bnf-and-ebnf/#comments</comments><guid isPermaLink="false">http://dancewithnet.com/?p=1301</guid><dc:creator>秦歌</dc:creator><fs:srclink>http://dancewithnet.com/2008/05/17/bnf-and-ebnf/</fs:srclink><fs:srcfeed>http://dancewithnet.com/feed/?.rss</fs:srcfeed><fs:itemid>feedsky/dancewithnet/~7031998/92718855/5136712</fs:itemid></item><item><title>天不时，地不利，人要和！</title><link>http://item.feedsky.com/~feedsky/dancewithnet/~7031998/92718856/5136712/1/item.html</link><content:encoded>&lt;p&gt;今夜注定要终生难忘，很多人正被压在窒息的空间中等待救亡或死亡，很多人站在阴雨萧瑟的空地上瑟瑟发抖担心害怕，更多人正在带着对生命的恐惧发现生命或证明死亡，还有更更多人焦急牵挂期待关注默默等待。我的一个朋友现在正在绵阳空旷的广场上似乎伴着细雨煎熬着这漫长的黑夜，就在这几个小时前她发给我几条短信说：&lt;/p&gt;
&lt;blockquote&gt;&lt;ol&gt;
&lt;li&gt;这里断水电气手机不通，地震很可怕今天确实很可怕。当地政府没有任何举措。我们已经准备充足在空旷地过夜很担心余震，灾害真的很可怕！&lt;/li&gt;
&lt;li&gt;我的电话不出去！快告诉我关于地震的一切详情！我们被波及了！网上说什么了？还有没有余震多发点详情！&lt;/li&gt;
&lt;li&gt;你有地震预报及时发给我，我这像个死城断水电气，电话打不出今晚无法回家还在广场呆着。太可怕了灾难！&lt;/li&gt;
&lt;li&gt;现在还是有余震，能感觉到。听说在抢修电，可是仍没有电全城一片黑暗。没有星星也没有月亮恐怖片一样。&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;这是不幸中很幸运的短信，至少和各个门户头条上不断上涨的惊人死亡数字相比，已足够幸运了，但是此刻你能体会到一个柔弱女孩在黑夜中持续恐惧的心情吗？&lt;span id=&quot;more-1299&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;其实我们应该深深的感谢互联网。我们除了能快速的准确的知道&lt;a href=&quot;http://news.163.com/08/0512/14/4BOIJQ910001124J.html&quot;&gt;地震的发生时间和地点&lt;/a&gt;，能了解几小时内&lt;a href=&quot;http://news.163.com/08/0512/22/4BPBMGN60001124J.html&quot;&gt;温总理已前往灾区&lt;/a&gt;，能学习&lt;a href=&quot;http://news.163.com/08/0512/15/4BOLQHFQ0001124J.html&quot;&gt;地震中逃生十大法则&lt;/a&gt;，能感动于&lt;a href=&quot;http://comment.lady.163.com/reply/post.jsp?type=null&amp;#038;board=lady_bbs&amp;#038;threadid=4BOMO0D100261KQ0&amp;#038;showdistrict=&amp;#038;pagex=5&quot;&gt;地震中妈妈对中风的父亲不离不弃&lt;/a&gt;，我们更能看到&lt;a href=&quot;http://comment.news.163.com/news_guonei7_bbs/4BOLQHFQ0001124J.html&quot;&gt;网友对地震中逃生十大法则的质疑&lt;/a&gt;，唐山大地震已经30年了，我们的自救能力进步了吗？可以看到&lt;a href=&quot;http://news.sina.com.cn/s/2008-05-10/034013855633s.shtml&quot;&gt;数十万只蟾蜍迁徙引居民担忧被专家解析为“这种大规模的蟾蜍迁移其实是一件好事情，说明绵竹的生态环境越来越好了”&lt;/a&gt;，更能看到四川省人民政府网上现在已删除的“&lt;a href=&quot;http://dancewithnet.com/wp-content/uploads/2008/05/earth-quake.gif&quot;&gt;阿坝州防震减灾局成功平息地震误传事件&lt;/a&gt;”。&lt;a href=&quot;http://ks.cn.yahoo.com/question/1406122808556.html&quot;&gt;短临地震预测是非常困难的&lt;/a&gt;，但事后每个人还是期望能：从2000年前张衡用蟾蜍来预测地震的经验和其他的老祖先总结中，从&lt;a href=&quot;http://140.115.123.30/921/precursor/Default.htm&quot;&gt;1975年已经有了成功的预测先例&lt;/a&gt;中，从30年前唐山大地震的悲惨教训中，从空穴来风的民间传言中和&lt;a href=&quot;http://news.cn.yahoo.com/08-05-/531/2j352.html&quot;&gt;看到的自然现象中&lt;/a&gt;，从向多地震国家诸如日本之类的学习中，来拯救今天的和以后的生命与恐惧。&lt;/p&gt;
&lt;p&gt;在这个期待已久的2008年还没有走完一半的时候，我们似乎已经经历了太多的不幸，“南方雪灾”、“西藏暴乱”、“胶济铁路火车相撞事件”、“手足口”，今天来了这个更悲惨的震撼&lt;a href=&quot;http://news.163.com/08/0512/14/4BOIJQ910001124J.html&quot;&gt;“四川汶川大地震”&lt;/a&gt;。难道这些悲惨的铺垫就是为了8月的震撼性的狂欢吗？我们已经是最幸运的那群人，我们已经看到了有史以来政府最快的行动，我们应该感谢生命和祈求他人生命，我们更应该立足本职去尽力做力所能及的事。天不时，地不利，人要和！&lt;br /&gt;&lt;a href=&quot;http://www.taobao.com/cn/theme/site/scdz_080512.php&quot;&gt;&lt;img src=&quot;http://ued.taobao.com/blog/wp-content/uploads/2008/05/2008_05_13_103552.png&quot; width=&quot;600&quot; height=&quot;116&quot; alt=&quot;早一点到达，多一份希望,壹基金携手爱心网站紧急救灾&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;从现在开始，我要记录我看到的：&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://l4ever.cn/archives/984&quot;&gt;中国地震后美国网友的评论 和 美国龙卷风后中国网友的评论&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://iceshow.blog.sohu.com/87199963.html&quot;&gt;2008-05-13 | 成都：地震中那些感人的小事（转载）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;已经听到同事说，有人收到骗捐款的短信了，发国难财。内容如下：&lt;br /&gt;
&lt;blockquote&gt;&lt;p&gt;手机号码：&lt;a href=&quot;http://www.baidu.com/s?ct=0&amp;#038;ie=gb2312&amp;#038;bs=6227002930210048681&amp;#038;sr=&amp;#038;z=&amp;#038;cl=3&amp;#038;f=8&amp;#038;wd=15980314479&quot;&gt;15980314479&lt;/a&gt;。手机内容：请支援四川红十字会（地震）赈灾帐户：建设银行帐号：6227002930210048681。户名：林瑶&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://cache.tianya.cn/publicforum/content/free/1/1224965.shtml&quot;&gt;&lt;strong&gt;特别提醒：为保证您的资金安全，请不要轻信主贴外出现的其他任何帐号！以免上当。&lt;/strong&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://bbs.cdqss.com/viewthread.php?tid=344374&amp;#038;extra=&amp;#038;page=1&quot;&gt;我刚从都江堰回来，马上放上照片上来，都江堰损失有点惨重，希望大家都能平安！！！&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://news.sohu.com/20080513/n256824638.shtml&quot;&gt;地震后的北川县城(组图)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.lesishu.cn/i-say/wenchuan/&quot;&gt;汶川地震的种种问题&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://hax.javaeye.com/blog/192450&quot;&gt;推背贴（本次地震预言）鉴定&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.cnbeta.com/articles/55517.htm&quot;&gt;《中国青年报》:这次,真相跑在了谣言前面&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.aoyunchina.com/wenchuandizhen/20080513/4478.html&quot;&gt;QQ报道：总理摔倒了，年过花甲的总理手臂受伤&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://finance.baidu.com/hongguan/guonei/2008-05-13/145425111112.html&quot;&gt;快讯：企业界为地震灾区捐款累计超一亿一千万元&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.sina.com.cn/s/blog_4bb202a5010093g1.html&quot;&gt;地震预报专家欲哭无泪:今天的强震有人预报&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://xiuw.blog.sohu.com/87252970.html&quot;&gt; 写4500份遗书 中国空降15军出动&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.ibhs.net/natural_disasters/downloads/earthquake.pdf&quot;&gt;Is Your Home Protected From Earthquake Disaster?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://cache.tianya.cn/publicforum/content/no04/1/700678.shtml&quot;&gt;[5.12地震]亲历灾难，什邡现场实录(第一手图片)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.cnbeta.com/articles/55634.htm&quot;&gt;网友评论集:科学告诉你 动物预报地震靠谱吗?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://news.sina.com.cn/pl/2008-05-14/074715534449.shtml&quot;&gt;新京报：救灾是对所有爱国者的动员令&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://news.163.com/08/0514/09/4BT49NQP0001124J.html&quot;&gt;面对“死神”威胁 废墟下女孩还在读书&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://news.sohu.com/s2008/sichuandizhenphoto1/&quot;&gt;地震中的视觉瞬间&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.focus.cn/group/blogforum_detail.php?blog_id=573366&amp;#038;msg_id=137617595&quot;&gt;北川志愿行&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.sina.com.cn/s/blog_476745f601009ifi.html&quot;&gt; “应急百宝箱” &amp;#8212; 日本的防震之道  &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://wangshi.blog.sohu.com/87386742.html&quot;&gt;  毕竟，生命是第一位的（答网友56）&lt;br /&gt;
&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://lady.163.com/08/0514/14/4BTMDQLD00262N01.html&quot;&gt;感谢大家的帮助！军嫂已经获救&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.sina.com.cn/s/blog_52456fa901009dot.html&quot;&gt;一封赈灾者给羊城晚报的公开信&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://tieba.baidu.com/f?kz=377068869&quot;&gt;中国地震看看外国能给捐多少（是中国人的看完）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://news.163.com/08/0517/04/4C4A7R1H0001124J.html&quot;&gt;部分红十字会官网遭非法入侵 募捐帐号被人篡改&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://money.163.com/08/0518/09/4C7EEJIQ00251OB6.html&quot;&gt;美国媒体不满中国网站搞捐赠排行榜&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.sina.com.cn/s/blog_46e7ba41010091pk.html&quot;&gt;北川邓家“汉龙小学”无一死亡奇迹背后的真相&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.sina.com.cn/s/blog_4b71657f01009eky.html&quot;&gt;把生的希望留给学生：感动中国的10大灾区教师(图)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.cnbeta.com/articles/55910.htm&quot;&gt;停止与“中国红十字总会”合作–网易打出中国互联网救援重要一枪！&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://news.163.com/08/0519/15/4CALV6G20001124J.html&quot;&gt;写在手腕上的特殊遗嘱:“我欠王老大3000元”&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://news.sina.com.cn/c/2008-05-19/144013896290s.shtml&quot;&gt;地震捐赠排行榜相继出炉引发争议&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://news.sina.com.cn/pl/2008-05-19/134915571789.shtml&quot;&gt;尚峰：马云和王石到底该为灾区捐多少&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://info.china.alibaba.com/news/detail/v5003495-d1002042524.html&quot;&gt;阿里巴巴2500万为灾后重建 总筹款数量接近5000万&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://biz.163.com/06/1016/05/2THIITO600020QEF.html&quot;&gt;马云:荧光灯下的慈善捐款 每次捐1块钱就够了&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://news.163.com/08/0519/15/4CALV6G20001124J.html&quot;&gt;写在手腕上的特殊遗嘱:“我欠王老大3000元”&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://news.163.com/08/0520/09/4CCKLE670001124J.html&quot;&gt;悲伤与努力：残垣断壁埋着令人心碎的故事(图)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mindmeters.com/showlog.asp?log_id=7456&quot;&gt;科学救灾、理性重建，胜过感情用事 &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://guba.money.163.com/bbs/sz000002/78713080.html&quot;&gt;为王石平反！！！！！！！！！（附十大理由）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://cache.tianya.cn/publicforum/content/free/1/1256822.shtml&quot;&gt;妓者们，请你们有点素质！实在看不下去了。&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://baike.360.cn/4057298/5662696.html&quot;&gt;360志愿者救灾日记之一：充当正规军，360小分队进入重灾区汉旺镇&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.cnbeta.com/articles/56031.htm&quot;&gt;民政部:不鼓励通过网络为地震灾区捐款&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.cnbeta.com/articles/56065.htm&quot;&gt;民政部:接收机构不得从捐款中开支任何工作性费用&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://news.sohu.com/20080521/n256983793.shtml&quot;&gt;善，但不要以善的名义&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://money.163.com/08/0520/22/4CE0AF4400251OB6.html&quot;&gt;王石改口：万科急批1亿义务帮助灾后重建&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.sina.com.cn/s/blog_476745f601009l9h.html&quot;&gt;日本：家家便利店都有中国震灾募捐箱&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.cnbeta.com/articles/56141.htm&quot;&gt;网易正式向廖冰兄基金会转交网友捐赠善款&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.sina.com.cn/s/blog_4701280b01009f7p.html&quot;&gt;再见四川&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://news.sohu.com/20080524/n257053733.shtml&quot;&gt;新华视点：一个灾区农村中学校长的避险意识&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://news.qq.com/a/20080524/002131.htm?qq=0&amp;#038;ADUIN=126289776&amp;#038;ADSESSION=1211602161&amp;#038;ADTAG=CLIENT.QQ.1805_SvrPush_Url.0&quot;&gt;红十字会按国际惯例收取项目支持费 不超6.5%&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mindmeters.com/showlog.asp?log_id=7541&quot;&gt;台湾建筑界在512后的反应 &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mindmeters.com/showlog.asp?log_id=7527&quot;&gt;财经：不要再为学校垮塌寻找借口 &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.sina.com.cn/s/blog_52e0a41101009ij3.html&quot;&gt;让我潸然泪下的羌族母亲&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://news.163.com/08/0527/09/4CUJLSFE0001124J.html&quot;&gt;四川省卫生厅处理工作人员在江油医院的不当行为&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://kqyx.blog.sohu.com/88466828.html&quot;&gt;“黑心商”把“黑心棉”卖给江油灾区&lt;br /&gt;
&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://chengshifei.blog.sohu.com/88534377.html&quot;&gt;四川地震中最牛的救援队！(图)&lt;br /&gt;
&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://cache.tianya.cn/publicforum/content/help/1/178908.shtml&quot;&gt;“中国首善”陈光标 北川中学背出208具死尸&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://hi.baidu.com/007day/blog/item/3fcc9a513467622143a75b7a.html&quot;&gt;地震后真实的什邡（龙居小学现场）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://news.sina.com.cn/c/2008-06-06/101615694398.shtml&quot;&gt;美国地质调查局：人类不能预报地震&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;您或许也喜欢看：&lt;/h3&gt;&lt;ol class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2006/03/18/today-a-thin-line-between-life-and-death/&quot; title=&quot;今天生死一线？&quot;&gt;今天生死一线？&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2005/12/13/2005-times-best-pic/&quot; title=&quot;2005年时代杂志最佳照片&quot;&gt;2005年时代杂志最佳照片&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;</content:encoded><wfw:commentRss>http://dancewithnet.com/2008/05/13/wrong-place-wrong-time-right-people/feed/</wfw:commentRss><description>今夜注定要终生难忘，很多人正被压在窒息的空间中等待救亡或死亡，很多人站在阴雨萧瑟的空地上瑟瑟发抖担心害怕，更多人正在带着对生命的恐惧发现生命或证明死亡，还有更更多人焦急...</description><category>灾难</category><category>汶川</category><category>捐款</category><category>杂事杂想杂感</category><category>地震</category><category>赈灾</category><category>生命</category><category>四川</category><pubDate>Tue, 13 May 2008 04:32:27 +0800</pubDate><author>秦歌</author><comments>http://dancewithnet.com/2008/05/13/wrong-place-wrong-time-right-people/#comments</comments><guid isPermaLink="false">http://dancewithnet.com/?p=1299</guid><dc:creator>秦歌</dc:creator><fs:srclink>http://dancewithnet.com/2008/05/13/wrong-place-wrong-time-right-people/</fs:srclink><fs:srcfeed>http://dancewithnet.com/feed/?.rss</fs:srcfeed><fs:itemid>feedsky/dancewithnet/~7031998/92718856/5136712</fs:itemid></item><item><title>语义、标准和样式</title><link>http://item.feedsky.com/~feedsky/dancewithnet/~7031998/92718857/5136712/1/item.html</link><content:encoded>&lt;p&gt;大概在2004年初的时候，我第一次买了一本很厚的书，名字或许叫《Dreamweaver MX从入门到精通》，很认真看着书并实践操作大约三分之二后，就感觉自己不错了，利用Dreamweaver加上表格套表格可以把视觉精确的转化成静态页面，在那年底我完成了随网之舞的第一版。也就是在那个时候“WEB标准”这个新名词闯入了我的视线，《网站重构》这本书和w3cn.org吸引了我。2005年初，当我在广东茂名实习的时候，我第一次利用当时理解的标准，准确来说就是利用XHTML1.0加上利用CSS布局做了两个能同时兼容IE5.0+和Firefox的站点。毕业后，看到到处言必称标准，开发时强调XHTML1.0的语法规范（标准貌似被很多人认为就是XHTML1.0+CSS），检查时强调W3C的验证器（比如&lt;a href=&quot;http://dancewithnet.com/2005/06/07/new-window-links-in-a-standards-compliant-world/&quot;&gt;为了通过验证利用Javascript实现弹窗&lt;/a&gt;），招聘是强调会DIV+CSS（这是标准的另一个称呼，甚至到现在偶尔还有人给我一个链接对我说：&amp;#8221;看我按标准做的网页，全部是DIV，一个TABLE都没有。&amp;#8221;），那个时候似乎陷入了对基础语法（通过验证）和对CSS技能（hack技术）的追求上去了。后来，当我了解&lt;a href=&quot;http://www.builder.com.cn/2000/0612/4570.shtml&quot;&gt;HTML的历史&lt;/a&gt;时，我才注意到HTML众多版本的标准，意识到HTML本质是用语义结构化文档和构建WWW的超链接。&lt;span id=&quot;more-1298&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;现在回想起来，《网站重构》让我接触到标准，却没有让我理解标准，所以现在对它的记忆似乎仅限于那句“休斯顿，出了问题”。很长一段时间我都尝试去理解HTML标签的含义，比如去了解dl是definition list的缩写，通过看&lt;a href=&quot;http://www.w3.org/&quot;&gt;W3C&lt;/a&gt;、&lt;a href=&quot;http://www.alistapart.com/&quot;&gt;A List Apart&lt;/a&gt;、&lt;a href=&quot;http://www.yahoo.com/&quot;&gt;YAHOO&lt;/a&gt;的源码去揣摩HTML的语义、结构嵌套规则和语义化的命名，也是当我看到YAHOO首页的DTD是HTML4.01时，才意识到标准并不仅有XHTML1.0这个DTD，更重要的是语义化的结构。虽然W3C有大量的文档存在，但总给我一种很晦涩难懂的感觉，所以到现在为止关于HTML我参考最多的文档还是&lt;a href=&quot;http://dancewithnet.com/2006/01/09/xhtml-1-reference/&quot;&gt;《XHTML1.0参考》&lt;/a&gt;、&lt;a href=&quot;http://dancewithnet.com/2007/01/25/allowed-nesting-of-elements-in-html-4-strict-and-xhtml-10-stricthtml/&quot;&gt;《(X)HTML Strict 下的嵌套规则》&lt;/a&gt;和&lt;a href=&quot;http://dancewithnet.com/2007/06/21/xhtml11_tags_list/&quot;&gt;《XHTML1.1标签列表》&lt;/a&gt;。但这些对于如何利用语义标签恰到好处的结构化文档还是模糊和远远不够的。一个月前，我看到了&lt;a href=&quot;http://htmlmastery.com/&quot;&gt;《HTML Mastery》&lt;/a&gt;，这本书的内容可以通过&lt;a href=&quot;http://www.china-pub.com/computers/common/Catalog.asp?type=1&amp;#038;IDD=37889&amp;#038;shuming=%u7CBE%u901AHTML%3A%u8BED%u4E49%u3001%u6807%u51C6%u548C%u6837%u5F0F&quot;&gt;其中译本《精通HTML》的目录&lt;/a&gt;一目了然。这是我目前看到关于HTML学习最好的一本书，它涉及到大部分我在HTML应用上的遇到问题，同时也印证和细化了大部分我对HTML语义化的理解。同时在这本书里我还新学到了：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;HTML中对什么是标签(tag)，什么是元素(element)最准确的描述。&lt;/li&gt;
&lt;li&gt;对MIME理解&lt;/li&gt;
&lt;li&gt;链接的rel和rev属性的含义和作用，如何创建可访问性链接&lt;/li&gt;
&lt;li&gt;abbr和acronym的区别&lt;/li&gt;
&lt;li&gt;语义化表格：表格是很复杂的东西，每次看都有新的收获，配合着Eric A.Meyer的《CSS权威指南》的“表布局”那章就更好了。&lt;/li&gt;
&lt;li&gt;微格式：以前都是零零碎碎，这次真系统啊。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;《HTML Mastery》的副标题是Semanctics,Standards,and Styling，我把它作为我的标题。语义是HTML的本质和基础，标准是HTML的通用的保证，样式是在语义和标准基础上更好的为人民服务。良好的语义不仅有利于内容、表现和行为的分离，也应该有利于表现和行为的实现，进一步反应了我们对需要结构化内容（信息是互联网的核心）的理解和对可能出现变化的把握。HTML5新增的标签也说明了这点，比如&amp;lt;header&amp;gt;和&amp;lt;footer&amp;gt;不正是&amp;lt;div id=&amp;#8221;header&amp;#8221;&amp;gt;&amp;lt;/div&amp;gt;和&amp;lt;div id=&amp;#8221;footer&amp;#8221;&amp;gt;&amp;lt;/div&amp;gt;抽取吗？XHTML2更是在这个问题上走到黑。当然现实残酷的，CSS还不足以通过简单的标签表达丰富的视觉，所以不得不为了视觉而添加一些无意义的标签。在知道保证语义的基础上做一些合理妥协和本身认为增加无意义标签是理所当然的是两种不同的境界。如果你选择了第一种，那么你深刻的理解HTML的语义是必然的选择。&lt;a href=&quot;http://csszengarden.com/&quot;&gt;CSS Zen Garden&lt;/a&gt;和&lt;a href=&quot;http://www.lesliesommer.com/wdw07/html/index.html&quot;&gt;CSS Mojo&lt;/a&gt;是这方面的表率。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://d2forum.cn/&quot;&gt;D2&lt;/a&gt;上不少人说想交流HTML的语义化，其实可以从这本书开始。如果您的工作涉及到HTML，就应该读这本书，所以我向我的同事们、口碑的同学们都推荐过，现在我依旧向您推荐它。&lt;/p&gt;
&lt;h3&gt;您或许也喜欢看：&lt;/h3&gt;&lt;ol class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2007/06/21/xhtml11_tags_list/&quot; title=&quot;XHTML1.1标签列表&quot;&gt;XHTML1.1标签列表&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2007/10/28/differences-between-html-and-xhtml/&quot; title=&quot;HTML和XHTML的不同&quot;&gt;HTML和XHTML的不同&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2007/05/17/marking-document-changes-by-ins-and-del/&quot; title=&quot;用INS和DEL标记文档改变&quot;&gt;用INS和DEL标记文档改变&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2007/01/25/allowed-nesting-of-elements-in-html-4-strict-and-xhtml-10-stricthtml/&quot; title=&quot;(X)HTML Strict 下的嵌套规则&quot;&gt;(X)HTML Strict 下的嵌套规则&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2006/06/06/ie-conditional-comments/&quot; title=&quot;IE中的条件注释 &quot;&gt;IE中的条件注释 &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2006/01/09/xhtml-1-reference/&quot; title=&quot;XHTML1.0参考&quot;&gt;XHTML1.0参考&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2005/06/07/new-window-links-in-a-standards-compliant-world/&quot; title=&quot;target=_blank不符合标准?&quot;&gt;target=_blank不符合标准?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2004/12/13/effect-of-meat-in-html/&quot; title=&quot;HTML文档中小meta的大作用&quot;&gt;HTML文档中小meta的大作用&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;</content:encoded><wfw:commentRss>http://dancewithnet.com/2008/05/12/semantics-standards-styling/feed/</wfw:commentRss><description>大概在2004年初的时候，我第一次买了一本很厚的书，名字或许叫《Dreamweaver MX从入门到精通》，很认真看着书并实践操作大约三分之二后，就感觉自己不错了，利用Dreamweaver加上表格套表格可以...</description><category>xhtml</category><category>HTML-Mastery</category><category>样式</category><category>标准</category><category>精通HTML</category><category>书评</category><category>HTML</category><category>语义</category><category>HTML &amp;amp; CSS</category><pubDate>Mon, 12 May 2008 00:48:33 +0800</pubDate><author>秦歌</author><comments>http://dancewithnet.com/2008/05/12/semantics-standards-styling/#comments</comments><guid isPermaLink="false">http://dancewithnet.com/?p=1298</guid><dc:creator>秦歌</dc:creator><fs:srclink>http://dancewithnet.com/2008/05/12/semantics-standards-styling/</fs:srclink><fs:srcfeed>http://dancewithnet.com/feed/?.rss</fs:srcfeed><fs:itemid>feedsky/dancewithnet/~7031998/92718857/5136712</fs:itemid></item><item><title>Javascript的匿名函数</title><link>http://item.feedsky.com/~feedsky/dancewithnet/~7031998/92718858/5136712/1/item.html</link><content:encoded>&lt;h3&gt;一、什么是匿名函数？&lt;/h3&gt;
&lt;p&gt;在Javascript定义一个函数一般有如下三种方式：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;函数关键字(function)语句&lt;/strong&gt;：
&lt;pre&gt;&lt;code&gt;function fnMethodName(x){alert(x);}&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;函数字面量(Function Literals)&lt;/strong&gt;：
&lt;pre&gt;&lt;code&gt;var fnMethodName = function(x){alert(x);}&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Function()构造函数&lt;/strong&gt;：
&lt;pre&gt;&lt;code&gt;var fnMethodName = new Function('x','alert(x);')&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;上面三种方法定义了同一个方法函数fnMethodName，第1种就是最常用的方法，后两种都是把一个函数复制给变量fnMethodName，而这个函数是没有名字的，即匿名函数。实际上，&lt;a href=&quot;http://en.wikipedia.org/wiki/Anonymous_function&quot;&gt;相当多的语言都有匿名函数&lt;/a&gt;。&lt;span id=&quot;more-1297&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;二、函数字面量和Function()构造函数的区别&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;虽然函数字面量是一个匿名函数，但语法允许为其指定任意一个函数名，当写递归函数时可以调用它自己，使用Function()构造函数则不行。
&lt;pre&gt;&lt;code&gt;var f = function fact(x) {
  if (x &lt; = 1) return 1;
  else return x*fact(x-1);
};&lt;/code&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Function()构造函数允许运行时Javascript代码动态的创建和编译。在这个方式上它类似全局函数eval()。&lt;/li&gt;
&lt;li&gt;Function()构造函数每次执行时都解析函数主体，并创建一个新的函数对象。所以当在一个循环或者频繁执行的函数中调用Function()构造函数的效率是非常低的。相反，函数字面量却不是每次遇到都重新编译的。&lt;/li&gt;
&lt;li&gt;用Function()构造函数创建一个函数时并不遵循典型的作用域，它一直把它当作是顶级函数来执行。
&lt;pre&gt;&lt;code&gt;var y = &quot;global&quot;;
function constructFunction() {
    var y = &quot;local&quot;;
    return new Function(&quot;return y&quot;);  &lt;span&gt;//  无法获取局部变量&lt;/span&gt;
}
alert(constructFunction()());  &lt;span&gt;// 输出 &amp;#8220;global&amp;#8221;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;和函数关键字定义相比Function()构造器有自己的特点且要难以使用的多，所以这项技术通常很少使用。而函数字面量表达式和函数关键字定义非常接近。考虑前面的区别，虽然有消息说字面量的匿名函数在OS X 10.4.3下的某些webkit的引擎下有bug，但我们平常所说的匿名函数均指采用函数字面量形式的匿名函数。更多详细内容可以阅读《JavaScript: The Definitive Guide, 5th Edition》的Functions那章。&lt;/p&gt;
&lt;h3&gt;三、匿名函数的代码模式&lt;/h3&gt;
&lt;p&gt;昨天&lt;a href=&quot;www.hedgerwow.com&quot;&gt;hedger wang&lt;/a&gt;在他的blog介绍了&lt;a href=&quot;http://www.hedgerwow.com/360/dhtml/js-anonymous-function-patterns.html&quot;&gt;几种匿名函数的代码模式&lt;/a&gt;：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;错误模式&lt;/strong&gt;：其无法工作，浏览器会报语法错。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;function(){
  alert(1);
}();&lt;/code&gt;&lt;/pre&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;函数字面量&lt;/strong&gt;：首先声明一个函数对象，然后执行它。
&lt;pre&gt;&lt;code&gt;(function(){
  alert(1);
} ) ( );&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;优先表达式&lt;/strong&gt;：由于Javascript执行表达式是从圆括号里面到外面，所以可以用圆括号强制执行声明的函数。
&lt;pre&gt;&lt;code&gt;( function(){
  alert(2);
} ( ) );&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Void操作符&lt;/strong&gt;：用void操作符去执行一个没有用圆括号包围的一个单独操作数。
&lt;pre&gt;&lt;code&gt;void function(){
  alert(3);
}()&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这三种方式是等同的，hedger wang因为个人原因比较喜欢第3种，而在实际应用中我看到的和使用的都是第1种。&lt;/p&gt;
&lt;h3&gt;四、匿名函数的应用&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2007/12/04/a-javascript-module-pattern/&quot;&gt;《Javascript的一种模块模式》&lt;/a&gt;中的第一句话就是“全局变量是魔鬼”。配合var关键字，匿名函数可以有效的保证在页面上写入Javascript，而不会造成全局变量的污染。这在给一个不是很熟悉的页面增加Javascript时非常有效，也很优美。实际上，&lt;a href=&quot;http://developer.yahoo.com/yui/&quot;&gt;YUI&lt;/a&gt;以及其相应的范例中大量使用匿名函数，其他的Javascript库中也不乏大量使用。&lt;/li&gt;
&lt;li&gt;Javascript的函数式编程(functional programming)的基石。具体请看&lt;a href=&quot;http://www.ibm.com/developerworks/cn/web/wa-javascript.html&quot;&gt;《用函数式编程技术编写优美的 JavaScript》&lt;/a&gt;和&lt;a href=&quot;http://shiningray.cn/functional_javascript_programming.html&quot;&gt;《函数式JavaScript编程指南》&lt;/a&gt;。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;您或许也喜欢看：&lt;/h3&gt;&lt;ol class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2008/01/30/the-elements-of-javascript-style-part-two/&quot; title=&quot;Javascript风格要素（2）&quot;&gt;Javascript风格要素（2）&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2008/01/26/the-elements-of-javascript-style-part-one/&quot; title=&quot;Javascript风格要素（1）&quot;&gt;Javascript风格要素（1）&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2007/12/04/a-javascript-module-pattern/&quot; title=&quot;Javascript的一种模块模式&quot;&gt;Javascript的一种模块模式&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2007/04/30/dwntree/&quot; title=&quot;dwnTree：可记忆的无限级树型菜单 1.1&quot;&gt;dwnTree：可记忆的无限级树型菜单 1.1&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2007/04/16/detect-caps-lock/&quot; title=&quot;检测大写锁定键(Caps Lock)是否被激活&quot;&gt;检测大写锁定键(Caps Lock)是否被激活&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2007/03/22/order-of-execution-of-javascript-on-web/&quot; title=&quot;Javascript在页面加载时的执行顺序&quot;&gt;Javascript在页面加载时的执行顺序&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2006/09/14/professional-javascript-vs-javascript-the-definitive-guide/&quot; title=&quot;《JavaScript高级程序设计》PK《JavaScript权威指南》（第四版）?&quot;&gt;《JavaScript高级程序设计》PK《JavaScript权威指南》（第四版）?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2006/04/20/solution-after-ie-activex-updated/&quot; title=&quot;IE ActvieX更新产生影响的解决办法&quot;&gt;IE ActvieX更新产生影响的解决办法&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2005/07/25/48h-at-home/&quot; title=&quot;从未出家门超过48小时说起&quot;&gt;从未出家门超过48小时说起&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;</content:encoded><wfw:commentRss>http://dancewithnet.com/2008/05/07/javascript-anonymous-function/feed/</wfw:commentRss><description>一、什么是匿名函数？
在Javascript定义一个函数一般有如下三种方式：

函数关键字(function)语句：
function fnMethodName(x){alert(x);}

函数字面量(Function Literals)：
var fnMethodName = function(x){alert(x);}

Functio...</description><category>匿名函数</category><category>函数</category><category>Javascript &amp;amp; DOM &amp;amp; AJAX</category><category>JavaScript</category><pubDate>Wed, 07 May 2008 01:14:40 +0800</pubDate><author>秦歌</author><comments>http://dancewithnet.com/2008/05/07/javascript-anonymous-function/#comments</comments><guid isPermaLink="false">http://dancewithnet.com/?p=1297</guid><dc:creator>秦歌</dc:creator><fs:srclink>http://dancewithnet.com/2008/05/07/javascript-anonymous-function/</fs:srclink><fs:srcfeed>http://dancewithnet.com/feed/?.rss</fs:srcfeed><fs:itemid>feedsky/dancewithnet/~7031998/92718858/5136712</fs:itemid></item><item><title>《双食记》的余味</title><link>http://item.feedsky.com/~feedsky/dancewithnet/~7031998/92718859/5136712/1/item.html</link><content:encoded>&lt;p&gt;五一的凌晨看过这部号称“男人不敢看，女人最爱看”的《双食记》，它改编自&lt;a href=&quot;http://www.douban.com/subject/discussion/1178907/&quot;&gt;殳俏的同名短篇小说&lt;/a&gt;。电影压缩了小说中时间的长度，把原有的“工笔花鸟一般的三菜一汤”的故事改编成“翻滚出蜿蜒的血水”的洋式大餐，看是浓烈，实则粗糙。如果按照常识逻辑推理，这是一部很标准的脑残片，最明显的莫过于燕子和coco的第一次碰面了，小朋友们都知道不和陌生人打交道，何况一个漂亮的空姐呢？不会一点防备和常识都没有吧。&lt;span id=&quot;more-1290&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;毫无疑问，我更喜欢小说的味道。电影中，为了把它拍成惊悚片，不顾一切的为了惊悚而惊悚，似乎在明目张胆的告诉观众，看好了这里是惊悚，殊不知铁笼般的密闭房间不是李银珠最后一部片子《红字》中的轿车后备箱，也不是前几天那个悲惨的火车事故中的车厢，远没有小说中他中毒后似乎感觉“他相信那天在医院自己绝对看到，在绵绵和冰冰错身而过的一刹那两人相对的眼神，那满足到几乎要笑出来的眼神”这种让人产生潜意识的惊悚。最烂的莫过于结尾，整个片子过度的渲染燕子的老谋深算阴狠毒辣和coco的无知白痴天真可爱，似乎就是为了得到一个和谐的结尾“一个人不能吃两家饭”，而小说中轮回般的给出了他悲哀的发现他妻子在做两家饭的结局要深沉的有意味的多。&lt;/p&gt;
&lt;p&gt;如果说电影版的《双食记》给我留下什么味道，那就是美食了。虽然电影的开头为了增加厚重感引出孔子《礼记 礼运》的“饮食男女，人之大欲存焉”和孟子《告子章句上》的“食色，性也”，但还是没有在那整个厨房一丝不苟快慢有秩的加工美食的过程有味道。直白的“要抓住男人的胃才能抓住他的心”也比小说中“生活的苍白其实始自饭桌的苍白”有生活感觉，正是这句话，让电影更恰恰如其分的奉上了色香味俱全的相生相克杀人于无形的七道大餐呢？&lt;a href=&quot;http://www.pinglun.org/5/120666703621988.shtml&quot;&gt;三联生活周刊的《双食记》饕餮之死&lt;/a&gt;，有完整的介绍：&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;第一道菜：椒姜羊排煲，易学易做，壮阳催情。对应汤：仙茅牛子南瓜汤，目的壮阳催情。牛子即牛睾丸，和羊排有同样的功效；南瓜是温补食材。妻子为了取信于情敌，必须先煎熬自己的忌妒心。&lt;/p&gt;
&lt;p&gt;第二道菜：香酥脑花，以形补形，以脏补脏，补血健脑。配菜：芹菜香干、蚝油洋葱鹅翼、青瓜水蛋。对应汤：花生乌鸡炖参汤。菜谱合成目的：伤肾伤元气，使他力不从心。脑花安神补脑，乌鸡止咳提神，但是脑花与盐、酒在一起会影响男子性功能；鹅翼洋葱有伤肾功效。其他的配菜目的是显得很家常易学，降低男主人公的戒心。&lt;/p&gt;
&lt;p&gt;第三道菜：清蒸大闸蟹，肉肥味鲜，通络固精，清热解毒。配菜：板栗咕噜肉、酥炸香蕉、杏仁双菇。对应汤：番茄芋头牛肉羹。菜谱合成目的：伤害脏器，针对胃、肝、脾等部位，让他肚子痛。这里面有一个漏洞，螃蟹实际是与柿子不能同吃的，这是一般人都具有的常识。柿子性寒，含大量的果胶和柿胶酚，未熟透的柿子还含有红鞣质，柿胶酚红鞣质遇到胃酸可凝结成块。柿子吃得过多，凝块可能变成硬块——胃柿石，对胃黏膜造成损害。蟹肉含丰富的蛋白质，柿子含许多鞣酸，蛋白质遇到鞣酸也会发生凝结。拟这份菜谱的导演赵天宇实在找不到以柿子为原料的菜，只好用番茄代替。有人吃牛肉、板栗引发过呕吐，因此这两种食物配在了一起。&lt;/p&gt;
&lt;p&gt;第四道菜：豉爆鲶鱼，味甘性温，补中益阳。配菜：韭菜木耳、皮蛋豆腐、胡萝卜肉丁。对应汤：麦冬菠菜猪肝汤。菜谱合成目的：烧心，针对心脏，让他心绞痛。&lt;/p&gt;
&lt;p&gt;第五道菜：田螺+鳖肉，菜谱合成目的：中毒。&lt;/p&gt;
&lt;p&gt;第六道菜：炖鸭+羊肉，菜谱合成目的：中毒。&lt;/p&gt;
&lt;p&gt;第七道菜：虾类+维生素C，可生成砒霜，致死。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p class=&quot;noIndent&quot;&gt;&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/05/deadly-delicious-1.jpg&quot; alt=&quot;&quot; title=&quot;双食记-1&quot; width=&quot;500&quot; height=&quot;701&quot; class=&quot;alignnone size-medium wp-image-1296&quot; /&gt;&lt;br /&gt;&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/05/deadly-delicious-2.jpg&quot; alt=&quot;&quot; title=&quot;双食记-2&quot; width=&quot;500&quot; height=&quot;700&quot; class=&quot;alignnone size-medium wp-image-1296&quot; /&gt;&lt;br /&gt;&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/05/deadly-delicious-3.jpg&quot; alt=&quot;&quot; title=&quot;双食记-3&quot; width=&quot;500&quot; height=&quot;1047&quot; class=&quot;alignnone size-medium wp-image-1296&quot; /&gt;&lt;br /&gt;&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/05/deadly-delicious-4.jpg&quot; alt=&quot;&quot; title=&quot;双食记-4&quot; width=&quot;500&quot; height=&quot;1048&quot; class=&quot;alignnone size-medium wp-image-1296&quot; /&gt;&lt;br /&gt;&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/05/deadly-delicious-5.jpg&quot; alt=&quot;&quot; title=&quot;双食记-5&quot; width=&quot;500&quot; height=&quot;1050&quot; class=&quot;alignnone size-medium wp-image-1296&quot; /&gt;&lt;br /&gt;&lt;img src=&quot;http://dancewithnet.com/wp-content/uploads/2008/05/deadly-delicious-6.jpg&quot; alt=&quot;&quot; title=&quot;双食记-6&quot; width=&quot;500&quot; height=&quot;1048&quot; class=&quot;alignnone size-medium wp-image-1296&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;您或许也喜欢看：&lt;/h3&gt;&lt;ol class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2007/11/26/big-fish-head-and-bean-curd-soup/&quot; title=&quot;鱼头豆腐汤&quot;&gt;鱼头豆腐汤&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2006/10/06/watch-the-banquet-after-supper/&quot; title=&quot;吃完晚饭看《夜宴》&quot;&gt;吃完晚饭看《夜宴》&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2006/06/01/huang-ji-huang/&quot; title=&quot;端午节享黄记煌三汁焖锅&quot;&gt;端午节享黄记煌三汁焖锅&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2006/03/19/are-you-miss-googler/&quot; title=&quot;Are You Miss Googler?&quot;&gt;Are You Miss Googler?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2006/01/13/from-rice-noodles-to-say/&quot; title=&quot;从吃过桥米线说起&quot;&gt;从吃过桥米线说起&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2005/12/10/daybook-of-the-first-third-of-dec-2005/&quot; title=&quot;2005 年尾月上旬流水&quot;&gt;2005 年尾月上旬流水&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2005/05/30/movie-terminology/&quot; title=&quot;电影术语&quot;&gt;电影术语&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2005/03/29/a-moment-to-remember/&quot; title=&quot;《我脑中的橡皮擦》&quot;&gt;《我脑中的橡皮擦》&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://dancewithnet.com/2004/12/14/yangzhou-cate/&quot; title=&quot;扬州初行之美食&quot;&gt;扬州初行之美食&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;</content:encoded><wfw:commentRss>http://dancewithnet.com/2008/05/03/aftertaste-of-deadly-delicious/feed/</wfw:commentRss><description>五一的凌晨看过这部号称“男人不敢看，女人最爱看”的《双食记》，它改编自殳俏的同名短篇小说。电影压缩了小说中时间的长度，把原有的“工笔花鸟一般的三菜一汤”的故事改编成“翻...</description><category>性</category><category>电影 &amp;amp; 电视</category><category>美食</category><category>双食记</category><category>电影</category><pubDate>Sat, 03 May 2008 01:57:36 +0800</pubDate><author>秦歌</author><comments>http://dancewithnet.com/2008/05/03/aftertaste-of-deadly-delicious/#comments</comments><guid isPermaLink="false">http://dancewithnet.com/?p=1290</guid><dc:creator>秦歌</dc:creator><fs:srclink>http://dancewithnet.com/2008/05/03/aftertaste-of-deadly-delicious/</fs:srclink><fs:srcfeed>http://dancewithnet.com/feed/?.rss</fs:srcfeed><fs:itemid>feedsky/dancewithnet/~7031998/92718859/5136712</fs:itemid></item></channel></rss>