<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>随网之舞Firefox</title>
	<atom:link href="http://dancewithnet.com/tag/firefox/feed/" rel="self" type="application/rss+xml" />
	<link>http://dancewithnet.com</link>
	<description>WEB Design{HTML:CSS:Javascript:DOM:AJAX:PHP:Usability}/Viewpoint/Photo/Food/Mood</description>
	<lastBuildDate>Mon, 18 Jul 2011 02:45:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Vim、Vimperator和一个小bug</title>
		<link>http://dancewithnet.com/2008/07/29/vim-vimperator-bug/</link>
		<comments>http://dancewithnet.com/2008/07/29/vim-vimperator-bug/#comments</comments>
		<pubDate>Tue, 29 Jul 2008 15:52:54 +0000</pubDate>
		<dc:creator>秦歌</dc:creator>
				<category><![CDATA[Javascript & DOM & AJAX]]></category>
		<category><![CDATA[web2.0 & so on]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Vim]]></category>
		<category><![CDATA[Vimperator]]></category>

		<guid isPermaLink="false">http://dancewithnet.com/?p=1348</guid>
		<description><![CDATA[Vim是一个巨牛的编辑器，这是我在经历过Frontpage、Dreamweaver、UltraEdit和Notepad++后的选择，它让我远离让人抓狂的低级的Dreamweaver假死和鼠标给手腕带来的伤痛，剩下的是高效、灵活、强大。了解... ]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.vim.org/">Vim</a>是一个巨牛的编辑器，这是我在经历过Frontpage、Dreamweaver、UltraEdit和Notepad++后的选择，它让我远离让人抓狂的低级的Dreamweaver假死和鼠标给手腕带来的伤痛，剩下的是高效、灵活、强大。了解更多请看<a href="http://blog.sina.com.cn/s/blog_46dac66f010005kw.html">《普通人的编辑利器——Vim》</a>。Vim支持多个平台，有兴趣可以<a href="http://www.vim.org/download.php">去VIM的官方站下载</a>。这里有一些相关资源或许能用到：<span id="more-1348"></span></p>
<ol>
<li><a href="http://dancewithnet.com/resource/2008/vi-vim-cheat-sheet.png">Vi、Vim键盘指令图（可以当作桌面）</a></li>
<li><a href="http://www.liuhuadong.com/archives/68">vim、gvim在windows下中文乱码的终极解决方案</a></li>
<li><a href="http://vimcdoc.sourceforge.net/doc/usr_toc.html">VIM用户手册</a></li>
<li><a href="http://www.gracecode.com/Archive/Display/274">Vim 清单式学习 VI 编辑器</a> </li>
<li><a href="http://www.newsmth.net/att.php?p.731.17628.662.pdf">大家来学VIM</a></li>
<li><a href="http://vcd.gro.clinux.org/">Vim 中文文档</a></li>
</ol>
<p><a href="http://vimperator.mozdev.org/">Vimperator</a>是Firefox上的扩展，使Firefox使用起来像Vim。习惯了Vim的命令，这个扩展使用起来还是蛮爽的。不过发现了一个小bug，影响的不是本身的使用，而是对CSS和JavaScript的呈现，在Firefox3+Vimperator1.1下可以看到这个<a href="http://dancewithnet.com/lab/2008/vimperator-bug/" class="link-btn">bug演示</a>。</p>
<p>ps，今天被这个小bug整的好惨，以后一定要记住在有插件的情况下测试网页首先要排除插件是否产生了影响。</p>
]]></content:encoded>
			<wfw:commentRss>http://dancewithnet.com/2008/07/29/vim-vimperator-bug/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Firefox的默认样式表</title>
		<link>http://dancewithnet.com/2008/04/17/firefox-default-stylesheet/</link>
		<comments>http://dancewithnet.com/2008/04/17/firefox-default-stylesheet/#comments</comments>
		<pubDate>Wed, 16 Apr 2008 16:31:10 +0000</pubDate>
		<dc:creator>秦歌</dc:creator>
				<category><![CDATA[HTML & CSS]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[YUI]]></category>

		<guid isPermaLink="false">http://dancewithnet.com/?p=1280</guid>
		<description><![CDATA[每个浏览器都有自己的默认样式，这是一段预定义的CSS，用以简单地呈现网页。在Firefox中的地址栏中输入resource://gre/res/html.css即可以看到该浏览器的默认样式。在Firebug 1.2 Alphas的styles中就可以... ]]></description>
			<content:encoded><![CDATA[<p>每个浏览器都有自己的默认样式，这是一段预定义的CSS，用以简单地呈现网页。在Firefox中的地址栏中输入<a href="resource://gre/res/html.css">resource://gre/res/html.css</a>即可以看到该浏览器的默认样式。在<a href="http://www.getfirebug.com/releases/">Firebug 1.2 Alphas</a>的styles中就可以看到默认样式对页面定义样式的影响。毫无疑问，理解和学习浏览器的默认样式能更好的理解浏览器对解析样式和呈现页面。Firefox3和Firefox2相比，默认样式仅有8处不同，但这些改变也可以让我们感觉到Firefox3在样式上的改进：<span id="more-1280"></span></p>
<pre><code>@namespace url(http://www.w3.org/1999/xhtml); <span>/* set default namespace to HTML */</span>

<span>/* bidi */</span>

[dir="rtl"] {
  direction: rtl;
  unicode-bidi: embed;
}
[dir="ltr"] {
  direction: ltr;
  unicode-bidi: embed;
}
bdo[dir] {
  unicode-bidi: bidi-override;
}

<span>/* blocks */</span>

html, div, map, dt, isindex, form {
  display: block;
}

body {
  display: block;
  margin: 8px;
}

p, dl, multicol {
  display: block;
  margin: 1em 0;
}

dd {
  display: block;
  -moz-margin-start: 40px;
}

blockquote {
  display: block;
  margin: 1em 40px;
}

address {
  display: block;
  font-style: italic;
}

center {
  display: block;
  text-align: -moz-center;
}

blockquote[type=cite] {
  display: block;
  margin: 1em 0px;
  <span>/*** start:Firefox2 ***/</span>
  padding-left: 1em;
  border-left: solid;
  <span>/*** end:Firefox2 ***/</span>
  <span>/*** start:Firefox3 ***/</span>
  -moz-padding-start: 1em;
  -moz-border-start: solid;
  <span>/*** end:Firefox3 ***/</span>
  border-color: blue;
  border-width: thin;
}

span[_moz_quote=true] {
  color: blue;
}

pre[_moz_quote=true] {
  color: blue;
}

h1 {
  display: block;
  font-size: 2em;
  font-weight: bold;
  margin: .67em 0;
}

h2 {
  display: block;
  font-size: 1.5em;
  font-weight: bold;
  margin: .83em 0;
}

h3 {
  display: block;
  font-size: 1.17em;
  font-weight: bold;
  margin: 1em 0;
}

h4 {
  display: block;
  font-weight: bold;
  margin: 1.33em 0;
}

h5 {
  display: block;
  font-size: 0.83em;
  font-weight: bold;
  margin: 1.67em 0;
}

h6 {
  display: block;
  font-size: 0.67em;
  font-weight: bold;
  margin: 2.33em 0;
}

listing {
  display: block;
  font-family: -moz-fixed;
  font-size: medium;
  white-space: pre;
  margin: 1em 0;
}

xmp, pre, plaintext {
  display: block;
  font-family: -moz-fixed;
  white-space: pre;
  margin: 1em 0;
}

<span>/* tables */</span>

table {
  display: table;
  border-spacing: 2px;
  border-collapse: separate;
  margin-top: 0;
  margin-bottom: 0;
  <span>/* XXXldb do we want this if we're border-collapse:collapse ? */</span>
  -moz-box-sizing: border-box;
  text-indent: 0;
}

table[align="left"] {
  float: left;
}

table[align="right"] {
  float: right;
  text-align: start;
}

table[rules]:not([rules="none"]) {
  border-collapse: collapse;
}

<span>/* caption inherits from table not table-outer */</span>
caption {
  display: table-caption;
  text-align: center;
  -moz-box-sizing: border-box;
}

table[align="center"] >gt; caption {
  margin-left: auto;
  margin-right: auto;
}

table[align="center"] >gt; caption[align="left"] {
  margin-right: 0;
}

table[align="center"] >gt; caption[align="right"] {
  margin-left: 0;
}

tr {
  display: table-row;
  vertical-align: inherit;
}

col {
  display: table-column;
}

colgroup {
  display: table-column-group;
}

tbody {
  display: table-row-group;
  vertical-align: middle;
}

thead {
  display: table-header-group;
  vertical-align: middle;
}

tfoot {
  display: table-footer-group;
  vertical-align: middle;
}

<span>/* for XHTML tables without tbody */</span>
table >gt; tr {
  vertical-align: middle;
}

td {
  display: table-cell;
  vertical-align: inherit;
  text-align: inherit;
  padding: 1px;
}

th {
  display: table-cell;
  vertical-align: inherit;
  font-weight: bold;
  padding: 1px;
}

tr >gt; form:-moz-is-html, tbody >gt; form:-moz-is-html,
thead >gt; form:-moz-is-html, tfoot >gt; form:-moz-is-html,
table >gt; form:-moz-is-html {
  <span>/* Important: don't show these forms in HTML */</span>
  display: none !important;
}

<span>/* inlines */</span>

q:before {
  content: open-quote;
}

q:after {
  content: close-quote;
}

b, strong {
  font-weight: bolder;
}

i, cite, em, var, dfn {
  font-style: italic;
}

tt, code, kbd, samp {
  font-family: -moz-fixed;
}

u, ins {
  text-decoration: underline;
}

s, strike, del {
  text-decoration: line-through;
}

blink {
  text-decoration: blink;
}

big {
  font-size: larger;
}

small {
  font-size: smaller;
}

sub {
  vertical-align: sub;
  font-size: smaller;
  line-height: normal;
}

sup {
  vertical-align: super;
  font-size: smaller;
  line-height: normal;
}

nobr {
  white-space: nowrap;
}

<span>/* titles */</span>
abbr[title], acronym[title] {
  border-bottom: dotted 1px;
}

<span>/* lists */</span>

ul, menu, dir {
  display: block;
  list-style-type: disc;
  margin: 1em 0;
  -moz-padding-start: 40px;
}

ol {
  display: block;
  list-style-type: decimal;
  margin: 1em 0;
  -moz-padding-start: 40px;
}

li {
  display: list-item;
  <span>/** start:Firefox2 **/</span>
  -moz-float-edge: margin-box;
  <span>/** end:Firefox2 **/</span>
}

<span>/* nested lists have no top/bottom margins */</span>
ul ul,   ul ol,   ul dir,   ul menu,   ul dl,
ol ul,   ol ol,   ol dir,   ol menu,   ol dl,
dir ul,  dir ol,  dir dir,  dir menu,  dir dl,
menu ul, menu ol, menu dir, menu menu, menu dl,
dl ul,   dl ol,   dl dir,   dl menu,   dl dl {
  margin-top: 0;
  margin-bottom: 0;
}

<span>/* 2 deep unordered lists use a circle */</span>
ol ul,   ul ul,   menu ul,   dir ul,
ol menu, ul menu, menu menu, dir menu,
ol dir,  ul dir,  menu dir,  dir dir {
  list-style-type: circle;
}

<span>/* 3 deep (or more) unordered lists use a square */</span>
ol ol ul,     ol ul ul,     ol menu ul,     ol dir ul,
ol ol menu,   ol ul menu,   ol menu menu,   ol dir menu,
ol ol dir,    ol ul dir,    ol menu dir,    ol dir dir,
ul ol ul,     ul ul ul,     ul menu ul,     ul dir ul,
ul ol menu,   ul ul menu,   ul menu menu,   ul dir menu,
ul ol dir,    ul ul dir,    ul menu dir,    ul dir dir,
menu ol ul,   menu ul ul,   menu menu ul,   menu dir ul,
menu ol menu, menu ul menu, menu menu menu, menu dir menu,
menu ol dir,  menu ul dir,  menu menu dir,  menu dir dir,
dir ol ul,    dir ul ul,    dir menu ul,    dir dir ul,
dir ol menu,  dir ul menu,  dir menu menu,  dir dir menu,
dir ol dir,   dir ul dir,   dir menu dir,   dir dir dir {
  list-style-type: square;
}

<span>/* leafs */</span>

<span>/* <lt;hr>gt; noshade and color attributes are handled completely by
 * the nsHTMLHRElement attribute mapping code
 */</span>
hr {
  display: block;
  height: 2px;
  <span>/** start:Firefox2 **/</span>
  border: 1px -moz-bg-inset;
  <span>/** end:Firefox2 **/</span>
  <span>/** start:Firefox3 **/</span>
  border: 1px inset;
  <span>/** end:Firefox3 **/</span>
  margin: 0.5em auto 0.5em auto;
  <span>/** start:Firefox3 **/</span>
  color: gray;
  <span>/** end:Firefox3 **/</span>
  -moz-float-edge: margin-box;
  -moz-box-sizing: border-box;
}

hr[size="1"] {
  <span>/** start:Firefox2 **/</span>
  border-style: -moz-bg-solid none none none;
  <span>/** end:Firefox2 **/</span>
  <span>/** start:Firefox3 **/</span>
  border-style: solid none none none;
  <span>/** end:Firefox3 **/</span>
}

*|*:-moz-any-link img, img[usemap], object[usemap] {
  border: 2px solid;
}

<span>/** start:Firefox3 **/</span>
img:-moz-broken::before, input:-moz-broken::before,
img:-moz-user-disabled::before, input:-moz-user-disabled::before,
img:-moz-loading::before, input:-moz-loading::before,
applet:-moz-empty-except-children-with-localname(param):-moz-broken::before,
applet:-moz-empty-except-children-with-localname(param):-moz-user-disabled::before {
  content: -moz-alt-content !important;
  unicode-bidi: embed;
}

object:-moz-broken >gt; *|*, applet:-moz-broken >gt; *|*
object:-moz-user-disabled >gt; *|*, applet:-moz-user-disabled >gt; *|* {
  <span>/*
    Inherit in the object's alignment so that if we aren't aligned explicitly
    we'll end up in the right place vertically.  See bug 36997.  Note that this
    is not !important because we _might_ be aligned explicitly.
  */</span>
  vertical-align: inherit;
}

img:-moz-suppressed, input:-moz-suppressed, object:-moz-suppressed,
embed:-moz-suppressed, applet:-moz-suppressed {
  <span>/*
    Set visibility too in case the page changes display.  Note that we _may_
    want to just set visibility and not display, in general, if we find that
    display:none breaks too many layouts.  And if we decide we really do want
    people to be able to right-click blocked images, etc, we need to set
    neither one, and hack the painting code.... : (
   */</span>
  display: none !important;
  visibility: hidden !important;
}
<span>/** end:Firefox3 **/</span>  

img[usemap], object[usemap] {
  color: blue;
}

frameset {
  display: block ! important;
  overflow: -moz-hidden-unscrollable;
  position: static ! important;
  float: none ! important;
  border: none ! important;
}

frame {
  border: none ! important;
}

iframe {
  border: 2px inset;
}

noframes {
  display: none;
}

spacer {
  position: static ! important;
  float: none ! important;
}

canvas {
  -moz-user-select: none;
}

<span>/* focusable content: anything w/ tabindex >gt;=0 is focusable */</span>
abbr:focus, acronym:focus, address:focus, applet:focus, b:focus,
base:focus, big:focus, blockquote:focus, br:focus, canvas:focus, caption:focus,
center:focus, cite:focus, code:focus, col:focus, colgroup:focus, dd:focus,
del:focus, dfn:focus, dir:focus, div:focus, dl:focus, dt:focus, em:focus,
fieldset:focus, font:focus, form:focus, h1:focus, h2:focus, h3:focus, h4:focus,
h5:focus, h6:focus, hr:focus, i:focus, img:focus, ins:focus,
kbd:focus, label:focus, legend:focus, li:focus, link:focus, menu:focus,
object:focus, ol:focus, p:focus, pre:focus, q:focus, s:focus, samp:focus,
small:focus, span:focus, strike:focus, strong:focus, sub:focus, sup:focus,
table:focus, tbody:focus, td:focus, tfoot:focus, th:focus, thead:focus,
tr:focus, tt:focus, u:focus, ul:focus, var:focus {
  <span>/** start:Firefox2 **/</span>
   outline: 1px dotted invert;
  <span>/** end:Firefox2 **/</span>
  <span>/** start:Firefox3 **/</span>
  <span>/* Don't specify the outline-color, we should always use initial value. */</span>
   outline: 1px dotted;
  <span>/** end:Firefox3 **/</span>
}

<span>/* hidden elements */</span>
area, base, basefont, head, meta, script, style, title,
noembed, param {
   display: none;
}

<span>/* emulation of non-standard HTML <lt;marquee>gt; tag */</span>
marquee {
  <span>/** start:Firefox2 **/</span>
  display: block;
  <span>/** end:Firefox2 **/</span>
  <span>/** start:Firefox3 **/</span>
  width: -moz-available;
  display: inline-block;
  vertical-align: text-bottom;
  text-align: start;
  <span>/** end:Firefox3 **/</span>
  -moz-binding: url('chrome://xbl-marquee/content/xbl-marquee.xml#marquee-horizontal');
}

marquee[direction="up"], marquee[direction="down"] {
  -moz-binding: url('chrome://xbl-marquee/content/xbl-marquee.xml#marquee-vertical');
  height: 200px;
}

<span>/* PRINT ONLY rules follow */</span>
@media print {

  marquee { -moz-binding: none; }

  <span>/* XXX this should not be necessary, we should be stopping blinking
     of any kind in print preview, not just the <lt;blink>gt; element */</span>
  blink {
    text-decoration: none;
  }

}</code></pre>
<p>虽然CSS2.1的附录里给了<a href="http://www.w3.org/TR/CSS21/sample.html">HTML4默认样式的建议(Appendix D. Default style sheet for HTML 4)</a>，这本身就不是一个很完美的解决方案，加上各个浏览器附加上一点自己私有的属性，Firefox默认样式表中清楚的说明了这点，导致了各个浏览器的默认样式表不尽相同，比如对比这份参考CSS2.1的对HTML4默认样式的建议通过实践总结出来的<a href="http://gabrieleromanato.altervista.org/css-test/internet-explorer-6-default-style-sheet/index.html">IE6的默认样式表(INTERNET EXPLORER 6 DEFAULT STYLE SHEET)</a>。解决这个问题的常见方法就是通过一个通用的CSS文件来重置HTML标签的样式，使其在各个浏览器中表现的一样，比如<a href="http://developer.yahoo.com/yui/reset/">YUI Reset CSS</a>和Eric Meyer的<a href="http://meyerweb.com/eric/tools/css/reset/">CSS Tools: Reset CSS</a>就是很好的解决方案。</p>
<p>扩展阅读：<a href="http://meyerweb.com/eric/thoughts/2004/09/15/emreallyem-undoing-htmlcss/">Really Undoing html.css</a> &#8211; Eric Meyer</p>
]]></content:encoded>
			<wfw:commentRss>http://dancewithnet.com/2008/04/17/firefox-default-stylesheet/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>display:inline-block的应用两例</title>
		<link>http://dancewithnet.com/2008/04/05/examples-of-display-inline-block/</link>
		<comments>http://dancewithnet.com/2008/04/05/examples-of-display-inline-block/#comments</comments>
		<pubDate>Sat, 05 Apr 2008 01:17:49 +0000</pubDate>
		<dc:creator>秦歌</dc:creator>
				<category><![CDATA[HTML & CSS]]></category>
		<category><![CDATA[-moz-inline-box]]></category>
		<category><![CDATA[-moz-inline-stack]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Firefox2]]></category>
		<category><![CDATA[inline-block]]></category>

		<guid isPermaLink="false">http://dancewithnet.com/?p=1276</guid>
		<description><![CDATA[CSS的display有属性值inline-block{display:inline-block;}，下面是应用其来实现用图片替代文字的两个例子：
请看例一。
Markup：
&#60;i class=&#34;arrow-1 replacement&#34;&#62;箭头1&#60;/i&#62;
&#60;a href=&#34;http://dancewi... ]]></description>
			<content:encoded><![CDATA[<p><a href="http://dancewithnet.com/2007/10/30/css-display-inline-block/">CSS的display有属性值inline-block{display:inline-block;}</a>，下面是应用其来实现用图片替代文字的两个例子：</p>
<p>请看<a href="http://dancewithnet.com/lab/2008/examples-of-display-inline-block/#demo-1" class="link-btn">例一</a>。</p>
<p><strong>Markup</strong>：</p>
<pre><code>&lt;i class=&quot;arrow-1 replacement&quot;&gt;箭头1&lt;/i&gt;
&lt;a href=&quot;http://dancewithnet.com&quot; class=&quot;arrow-2 replacement&quot;&gt;箭头2&lt;/a&gt;
&lt;p class=&quot;arrow-3 replacement&quot;&gt;箭头3&lt;/p&gt;</code></pre>
<p><strong>CSS</strong>：<span id="more-1276"></span></p>
<pre><code><span>/* start:arrow */</span>
.replacement{
    display:inline-block;<span>/* Firefox3 beta、IE8 beta、Opera、Safari支持*/</span>
    display:-moz-inline-stack;<span>/* Firefox的私有属性，也可以用-moz-inline-box */</span>
    *display:inline;
    zoom:1;<span>/* 这两行，激活IE6/7的layout，实现类似效果 */</span>
    line-height:9999em;
    overflow:hidden;<span>/* 上面两行，隐藏因设置容器大小而溢出的文字，对Firefox2无效 */</span>
    font-size:0;<span>/* 解决上面两行代码在Firefox2下无法隐藏溢出文字*/</span>
    <span>/*
      * 上面是综合<a href="http://www.planabc.net/">怿飞</a>给出清除溢出文字新方法后的方案，下面是以前的方案
      */</span>
    <del datetime="2008-04-08T17:21:01+08:00">text-indent:-9999px; <span>/* 隐藏文字，Safari和Opera下无法仅用{font-size:0;}来解决 */</span>
    overflow:hidden;<span>/* 上面两行，隐藏因设置容器大小而溢出的文字，对Firefox2无效 */</span>
    font-size:0;<span>/* 解决上面两行代码在Firefox2下无法隐藏溢出文字(谢谢<a href="http://www.planabc.net/">怿飞</a>)*/</span>
    *text-indent:0;
    <span>/* 解决IE6/7下text-indent:-9999px的bug，
     &lt;p&gt;&lt;a style=&quot;text-indent:-9999px;&quot; class=&quot;replacement&quot;&gt;箭头&lt;/a&gt;文字&lt;/p&gt;
     相当于
     &lt;p style=&quot;text-indent:-9999px;&quot;&gt;&lt;a  class=&quot;replacement&quot;&gt;箭头&lt;/a&gt;文字&lt;/p&gt;
      导致整段文字的消失，而当该链接前面有文字时则没有问题，如：
      &lt;p&gt;文字&lt;a  class=&quot;replacement&quot; style=&quot;text-indent:-9999px;&quot;&gt;箭头&lt;/a&gt;文字&lt;/p&gt;
    */</span>
    line-height:0;<span>/* 解决{text-indent:0;font-size:0;}时，IE下文字还留下一条横线的bug  */</span> </del>

    vertical-align:middle;<span>/* 行内垂直居中，对Opera有特殊意义，其和文字混排偏移有点离谱 */</span>

    <span>/*default for arrow-1*/</span>
    width:6px;
    height:12px;
    background:url(signs.png) no-repeat 0 -360px;
}
<del datetime="2008-04-08T10:09:12+08:00">.replacement i{
    <span>/*display:none;*/</span>
    <span>/*visibility:hidden;*/</span>
    display:block;
     <span>/* 因为Firefox2的原因，配合里面的i标签，用来实现文本的隐藏。
               如果用注释部分的任意一个，可以删掉.replacement中的text-indent:-9999px;  */</span>
}</del>
.arrow-1{
}
.arrow-2{
    width:8px;
    background-position:0 -500px;
}
.arrow-3{
    width:14px;
    background-position:0 -580px;
}
<del datetime="2008-04-08T10:09:12+09:00">.only-ff2{
    padding-left:9999px;
    <span>/* 解决单标签下Firefox2下无法隐藏文本问题，
                 但是对其他版本浏览器都造成巨大影响，不可取 */</span>
}</del>
<span>/* end:arrow */</span>
</code></pre>
<p><a href="http://dancewithnet.com/lab/2008/examples-of-display-inline-block/#demo-2" class="link-btn">例二</a>是例一的一个较复杂的应用。</p>
<p>在这个应用中可以发现<code>-moz-inline-box</code>和<code>-moz-inline-stack</code>的区别，比如把例二中<code>-moz-inline-stack</code>改成<code>-moz-inline-stack</code>。在实际应用中<code>-moz-inline-box</code>会存在元素间的对齐等问题，虽然Firefox还有一个私有属性<a href="http://developer.mozilla.org/en/docs/Mozilla_CSS_Extensions#-moz-box-align">-moz-box-align</a>来帮助解决对齐问题，但依旧难以预料问题多多，而相对来说<code>-moz-inline-stack</code>的表现更像<code>inline-block</code>，这点可以在Firefox3中测试出来。但<code>-moz-inline-stack</code>使用时也会有一个bug，如果一个{display:-moz-inline-stack;}的元素外层元素是{display:inline;}即会使Firefox中其包含的链接不可点，这个需要用<code>{position:relative;}</code>来解决（谢谢<a href="http://hi.baidu.com/dcpl/">乌龙茶</a>）：</p>
<pre><code>ul.pagination{
    display:inline;
}
ul.pagination li{
    display:inline-block;
    display:-moz-inline-stack;
    *display:inline;
    zoom:1;
    *margin:0 3px;
    vertical-align:middle;
    _vertical-align:bottom;
    position:relative;
    <span>/* 解决因为ul的{display:inline;}问题导致Firefox中li里面的链接不可点的bug */</span>
    *position:static;
    <span>/* 解决因为IE6中因为上一行代码带来在{position:relative}容器中移位在bug */</span>
}</code></pre>
<p>更多Firefox的私有属性可以看<a href="http://developer.mozilla.org/en/docs/CSS_Reference:Mozilla_Extensions">CSS Reference:Mozilla Extensions</a>和<a href="http://developer.mozilla.org/en/docs/Mozilla_CSS_Extensions">Mozilla CSS Extensions</a>。</p>
]]></content:encoded>
			<wfw:commentRss>http://dancewithnet.com/2008/04/05/examples-of-display-inline-block/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Firefox2中输入框丢失光标bug</title>
		<link>http://dancewithnet.com/2008/03/08/cursor-disappears-in-firefox2/</link>
		<comments>http://dancewithnet.com/2008/03/08/cursor-disappears-in-firefox2/#comments</comments>
		<pubDate>Sat, 08 Mar 2008 15:40:08 +0000</pubDate>
		<dc:creator>秦歌</dc:creator>
				<category><![CDATA[HTML & CSS]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Firefox2]]></category>
		<category><![CDATA[iframe]]></category>
		<category><![CDATA[overflow]]></category>
		<category><![CDATA[光标丢失]]></category>

		<guid isPermaLink="false">http://dancewithnet.com/2008/03/08/cursor-disappears-in-firefox2/</guid>
		<description><![CDATA[在Firefox2中某些情况下输入框虽然可以输入，但在获取焦点时没有文本输入光标的显示，这个是非常恶心的bug，非常容易让表单使用者有一种不能输入的错觉，即使后来尝试知道可以输入，但也... ]]></description>
			<content:encoded><![CDATA[<p>在Firefox2中某些情况下输入框虽然可以输入，但在获取焦点时没有文本输入光标的显示，这个是非常恶心的bug，非常容易让表单使用者有一种不能输入的错觉，即使后来尝试知道可以输入，但也无法判断光标定位在哪儿。虽然庆幸的是Firefox3中解决了这个bug，但Firefox3还在beta阶段，取代Firefox2还是需要一些时间的，下面就来仔细说一下这个问题：<span id="more-1271"></span></p>
<h3>一、样式为<code>{position:absolute;}</code>的容器中的表单输入框在样式为类似<code>{overflow:auto;}</code>的容器区域中失去光标</h3>
<p>可以通过<a href="http://dancewithnet.com/lab/2008/cursor-disappears-in-firefox2/" class="link-btn">例一到例六</a>来了解最常见的情况。</p>
<p>如果想整个<code>body</code>都出现失去光标，可以设置<code>html</code>和<code>body</code>两个容器，请看<a href="http://dancewithnet.com/lab/2008/cursor-disappears-in-firefox2/html-body-1.html" class="link-btn">示例</a>。包括举例的<code>overflow:auto</code>在内能引起该Bug的<code>overflow</code>属性共有：</p>
<ol>
<li><code>overflow:auto</code></li>
<li><code>overflow-x:auto;</code></li>
<li><code>overflow-y:auto;</code></li>
<li><code>overflow:scroll;</code></li>
<li><code>overflow-x:scroll;</code></li>
<li><code>overflow-y:scroll;</code></li>
<li><code>overflow-x:hidden;</code></li>
<li><code>overflow-y:hidden;</code></li>
</ol>
<p>除了避免使用<code>overflow</code>属性的其他解决方案：</p>
<ol>
<li>利用<code>overflow:hidden</code>代替产生bug的<code>oveflow</code>属性</li>
<li>在具有上述<code>overflow</code>属性的容器中加入<code>position:relative</code>，请看<a href="http://dancewithnet.com/lab/2008/cursor-disappears-in-firefox2/html-body-2.html" class="link-btn">实例</a>。</li>
<li>在<code>positon:absolute</code>的容器上加入同样的<code>oveflow</code>属性，同时注意在页面出现的顺序，见<a href="http://dancewithnet.com/lab/2008/cursor-disappears-in-firefox2/#demo-4" class="link-btn">例四</a></li>
<li>为使用能产生bug的<code>oveflow</code>属性的容器选择合适的标签，比如<code>fieldset</code>，见<a href="http://dancewithnet.com/lab/2008/cursor-disappears-in-firefox2/#demo-6" class="link-btn">例六</a>。</li>
</ol>
<h3>二、样式为{position:absolute;}的容器中的表单输入框在<code>iframe</code>容器区域中失去光标</h3>
<p>可以通过<a href="http://dancewithnet.com/lab/2008/cursor-disappears-in-firefox2/#demo-7" class="link-btn">例七</a>来了解这个情况。IE6中为了解决下拉列表级别过高问题，往往需要用<code>iframe</code>来遮盖它，偶尔疏忽忘记做浏览器限定就有可能导致上面的问题。</p>
<p>现在看来Firefox2对iframe的处理bug还真不少，比如以前就发现了<a href="http://dancewithnet.com/2007/05/13/iframe-bug-in-firefox-back/">Firefox返回时Iframe的显示Bug</a>。</p>
]]></content:encoded>
			<wfw:commentRss>http://dancewithnet.com/2008/03/08/cursor-disappears-in-firefox2/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>如何让Firefox2和Firefox3在Windows下共存并同时运行？</title>
		<link>http://dancewithnet.com/2008/02/01/how-to-run-both-firefox2-and-firefox3-together/</link>
		<comments>http://dancewithnet.com/2008/02/01/how-to-run-both-firefox2-and-firefox3-together/#comments</comments>
		<pubDate>Thu, 31 Jan 2008 16:36:46 +0000</pubDate>
		<dc:creator>秦歌</dc:creator>
				<category><![CDATA[web2.0 & so on]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Firefox2]]></category>
		<category><![CDATA[Firefox3]]></category>
		<category><![CDATA[浏览器]]></category>

		<guid isPermaLink="false">http://dancewithnet.com/2008/02/01/how-to-run-both-firefox2-and-firefox3-together/</guid>
		<description><![CDATA[相对于Firefox2来说，Firefox3除了采用全新的Gecko 1.9引擎外，在性能、稳定性和安全性方面进行许多改进，在我们最关心的对站点和网页应用的改进也相当多的。去年底，Firefox3 beta2就已经发布了... ]]></description>
			<content:encoded><![CDATA[<p>相对于Firefox2来说，Firefox3除了采用全新的Gecko 1.9引擎外，在性能、稳定性和安全性方面进行许多改进，在我们最关心的<a href="http://developer.mozilla.org/en/docs/Firefox_3_for_developers">对站点和网页应用的改进也相当多的</a>。<a href="http://www.mozillazine.org/talkback.html?article=22782">去年底，Firefox3 beta2就已经发布了</a>，正式版的推出也为期不远了，是时候在网页开发中考虑它了，所以我们不仅在要同一系统中装多个浏览器、多个版本的IE<ins datetime="2008-02-24T21:35:41+08:00">（<a href="http://tredosoft.com/Multiple_IE">Multiple IE</a>）</ins>，现在我们也需要装两个版本的Firefox了。在网上很早就有<a href="http://it.21cn.com/software/sygj/2008/01/02/4096106.shtml">Linux下让Firefox3与Firefox2共存</a>的介绍，下面介绍一种Windows下两者共存的方法。<span id="more-1236"></span></p>
<ol>
<li><a href="http://www.mozilla.com/en-US/firefox/all-beta.html">下载Firefox3，目前是beta2</a>。</li>
<li>打开命令运行窗口（开始>运行或快捷键win+R），然后运行命令<code>firefox -profilemanager -no-remote</code>，打开Firefox的配置文件管理器。<code>–no-remote</code>命名允许浏览器正在运行的时候打开配置文件管理器。<br /><img width="347" height="168" src='http://dancewithnet.com/wp-content/uploads/2008/02/run-firefox3-1.png' alt='命名运行窗口' /></li>
<li>点击“创建配置文件”按钮，创建一个名为Firefox3或者其他名字的配置文件。去掉对“启动时不询问”的选择。这一步是为Firefox3创建一个新的配置文件。<br /><img width="363" height="262" src='http://dancewithnet.com/wp-content/uploads/2008/02/run-firefox3-2.png' alt='创建新的配置文件' /></li>
<li>在Firefox2的快捷方式上点击右键，然后选择属性。在“目标”输入框中<code>.exe"</code>的后面输入一个空格和<code>-p default</code>，然后关闭。这步是告诉快捷方式使用默认配置文件来运行Firefox2。<br /><img width="367" height="466" src='http://dancewithnet.com/wp-content/uploads/2008/02/run-firefox3-3.png' alt='告诉快捷方式使用默认配置文件来运行Firefox2' /></li>
<li>安装Firefox3，“安装类型”选择“自定义”，这样就可以选择安装新的安装地方。虽然默认文件夹名是Mozilla Firefox 3 beta 2，但是最好还是自己重新定义一个，这样以后升级新的版本时候不用做什么修改。<br /><img width="503" height="386" src='http://dancewithnet.com/wp-content/uploads/2008/02/run-firefox3-4.png' alt='“安装类型”选择“自定义”' /><br /><img width="503" height="386" src='http://dancewithnet.com/wp-content/uploads/2008/02/run-firefox3-5.png' alt='修改安装路径' /></li>
<li>在安装结束时，不选择“立即运行Firefox”选项。如果现在运行，它使用的是默认配置文件，这不是我们想要的。<br /><img width="503" height="386" src='http://dancewithnet.com/wp-content/uploads/2008/02/run-firefox3-6.png' alt='在安装结束时，不选择“理解运行Firefox”选项。' /></li>
<li>在Firefox3的快捷方式上单击右键，选择“属性”，在目标输入框的<code>-no-remote -p firefox3</code>。这步是告诉这个快捷方式使用配置文件Firefox3来运行。<br /><img width="367" height="466" src='http://dancewithnet.com/wp-content/uploads/2008/02/run-firefox3-7.png' alt='使用配置文件Firefox3来运行' /></li>
</ol>
<p>这样我们就可以在同一个系统中同时运行Firefox2和Firefox3了。遗憾的是Firefox3基本上不支持Firefox2上的add-on，包括Firebug，幸运的是已经有了适用于Firefox3的<a href="http://getfirebug.com/releases/">Firebug 1.1 beta</a>。</p>
<p>这个方法来自于<a href="http://www.webindepth.com/how-to-run-both-firefox-2-and-firefox-3-together/">How to Run both Firefox 2 and Firefox 3 Together</a>。</p>
<p><ins datetime="2008-02-24T21:53:00+08:00">刚发现有了<a href="http://www.dangerouslyawesome.com/2008/02/22/more-than-one-firefox-beta-to-rule-them-all-a-dave-martorana-concoction/">MultiFireFox</a>，这个是用Python写的跨平台的程序，有兴趣的可以编译试试。对于Mac用户提供了专门的<a href="http://s3.amazonaws.com/multifox/MultiFireFox.dmg">MultiFirefox DMG</a>。谢谢<a href="http://www.fireyy.com/internet/os/429.html">fireyy</a></ins></p>
]]></content:encoded>
			<wfw:commentRss>http://dancewithnet.com/2008/02/01/how-to-run-both-firefox2-and-firefox3-together/feed/</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
		<item>
		<title>CSS{display:inline-block}</title>
		<link>http://dancewithnet.com/2007/10/30/css-display-inline-block/</link>
		<comments>http://dancewithnet.com/2007/10/30/css-display-inline-block/#comments</comments>
		<pubDate>Tue, 30 Oct 2007 14:02:15 +0000</pubDate>
		<dc:creator>秦歌</dc:creator>
				<category><![CDATA[HTML & CSS]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[inline-block]]></category>

		<guid isPermaLink="false">http://dancewithnet.com/2007/10/30/css-display-inline-block/</guid>
		<description><![CDATA[2002年W3C推出CSS2.1规范时，给元素的display属性增加了inline-block值。其作用是“这个值导致一个元素产生一个块状盒模型（block box），而本身作为单一的内联盒模型（inline box）流动排列（flow），... ]]></description>
			<content:encoded><![CDATA[<p>2002年W3C推出CSS2.1规范时，<a href="http://www.w3.org/TR/CSS21/visuren.html#display-prop">给元素的display属性增加了inline-block值</a>。其作用是“这个值导致一个元素产生一个块状盒模型（block box），而本身作为单一的内联盒模型（inline box）流动排列（flow），类似一个被替代的元素。Display值为inline-block的元素内部形成一个块状盒模型，而本身形成类似一个内联的被替代元素”<sup>[1]</sup>。即display为inline-block的元素既可以像块状元素一样定义高度宽度，又可以和内联元素（比如文字）排列在一行。</p>
<p>这个效果在页面设计的时候，很多地方都可以带来便利，最常见的莫过于设计导航时，既可以像inline元素那样实现居中，又可以设置像block元素那样设置单个菜单大小，还可以通过text-indent来隐藏文字显示背景图片。请看&nbsp;<a href="http://dancewithnet.com/lab/2007/10/display-inline-block/" class="link-btn">演示实例&gt;&gt;&gt;&gt;</a><span id="more-1145"></span>。</p>
<ol>
<li>Opera和Safari支持这个属性。</li>
<li><del datetime="2008-04-04T03:42:32+08:00">IE不支持这个属性</del><ins datetime="2008-04-04T03:42:32+08:00">IE8 beta1支持这个属性</ins>，但inline-block会触发<a href="http://www.satzansatz.de/cssd/onhavinglayout.html">IE的layout</a>，从而使内联元素具有类似inline-block元素的属性。<a href="http://www.hedgerwow.com/360/dhtml/css-display-inline.html">cross-browser : display:inline-block</a>是一个很好的例子。<br />
对于display:block的元素，要实现类似inline-block的效果，可以先触发layout，再设置为inline，需要注意的是这两个display必须在两个CSS声明中才有效，代码如下：</p>
<pre><code>.pagination li{
    display:inline-block;
}
.pagination li{
    display:inline;
}
</code></pre>
<p>或者直接设置为inline，再利用zoom来触发layout来实现类似效果：</p>
<pre><code>.pagination li{
    display:inline;
    zoom:1;
}
</code></pre>
</li>
<li>Firefox也不支持这个，这个是蛮意外的事情，<del datetime="2008-01-21T15:19:16+00:00">Firefox3应该会支持吧</del>，<ins datetime="2008-01-21T15:19:16+00:00">Firefox3 beta2上已经正式支持</ins>，在这之前可以利用其私有属性{display:-moz-inline-box}来实现类似效果是一个不错的选择<sup>[2]</sup>。</li>
</ol>
<ul class="refer">
<li>[1]&nbsp;W3C的对<a href="http://www.w3.org/TR/CSS21/visuren.html#display-prop">inline-block英文定义</a>是“This value causes an element to generate a block box, which itself is flowed as a single inline box, similar to a replaced element. The inside of an inline-block is formatted as a block box, and the element itself is formatted as an inline replaced element.”</li>
<li>[2]&nbsp;<del datetime="2007-11-02T18:25:00+08:00"><a href="http://bolm.cn/blog/?p=38">display:inline-block深入探究</a></del><ins datetime="2007-11-02T18:25:00+08:00" title="真正的原文"><a href="http://www.planabc.net/article.asp?id=118">display:inline-block的深入理解</a></ins></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://dancewithnet.com/2007/10/30/css-display-inline-block/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Firefox返回时Iframe的显示Bug</title>
		<link>http://dancewithnet.com/2007/05/13/iframe-bug-in-firefox-back/</link>
		<comments>http://dancewithnet.com/2007/05/13/iframe-bug-in-firefox-back/#comments</comments>
		<pubDate>Sat, 12 May 2007 16:25:06 +0000</pubDate>
		<dc:creator>秦歌</dc:creator>
				<category><![CDATA[Javascript & DOM & AJAX]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[iframe]]></category>

		<guid isPermaLink="false">http://dancewithnet.com/2007/05/13/iframe-bug-in-firefox-back/</guid>
		<description><![CDATA[Bug演示
一个页面有4个Iframe来显示flash内容，其中第二个iframe的显示是用Javascript控制的，只有当特定的cookie存在时才出现，否则显示普通的文本。其控制代码是：
&#60;script type=&#34;text/javascript&#34... ]]></description>
			<content:encoded><![CDATA[<h3>Bug演示</h3>
<p>一个页面有4个Iframe来显示flash内容，其中第二个iframe的显示是用Javascript控制的，只有当特定的cookie存在时才出现，否则显示普通的文本。其控制代码是：<span id="more-1013"></span></p>
<pre><code>&lt;script type=&quot;text/javascript&quot;&gt;//&lt;![CDATA[
if(getCookie(&#39;firefoxIframe&#39;)){
document.write(&#39;&lt;p id=&quot;addAd&quot;&gt;&lt;a href=&quot;cookie.html&quot;&gt;点击这里删除这个iframe&lt;/a&gt;&lt;/p&gt;&#39;);
document.write(&#39;&lt;iframe height=&quot;120&quot; width=&quot;300&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot;
frameborder=&quot;0&quot; src=&quot;nAdPre.swf&quot;&gt;&lt;/iframe&gt;&#39;);
}else{
document.write(&#39;&lt;p id=&quot;addAd&quot;&gt;&lt;a href=&quot;cookie.html&quot;&gt;点击这里增加一个iframe&lt;/a&gt;&lt;/p&gt;&#39;);
}
//]]&gt;&lt;/script&gt;</code></pre>
<ol>
<li>打开<a href="/lab/2007/05/iframe-bug-in-firefox-back/" class="link-btn">Bug演示</a>，由于cookie不存在，显示的三个flash都是通过Iframe实现的</li>
<li>点击“点击这里增加一个iframe广告”，跳转到一个新的页面写入名为firefoxIframe的Cookie</li>
<li>点击“返回”或者浏览器的返回按钮，回到Bug演示页面，发现iframe里面的flash错位，<ins datetime="20070514T105240+08:00" title="和RE交流时，发现浏览者可能无法立即察觉出错误现象">即位置2的iframe链接的flash并没有载入，显示的是位置3的flash，位置3的显示的是位置4的flash，位置4的flash却依旧存在</ins>。</li>
<li>关闭标签页(不是关闭整个浏览器，如果关闭整个浏览器Cookie也失效)或新打开一个标签页重新载入该页面，4个Iframe正常显示4个flash</li>
<li>此时如果点击“点击这里删除这个iframe广告”，跳转到新页面删除Cookie，返回也发现Iframe中的flash错位</li>
<li>如果写入Cookie或者删除Cookie时，不通过浏览器的返回，直接通过网址访问，则不会出现错位</li>
</ol>
<h3>简单分析和解决方案</h3>
<p>似乎Firefox返回时，Javascript重新执行了，但是Iframe并未依据src属性重新载入，而是给Iframe和src以类似编号似的配对，而由于返回时Javascript的执行，导致Iframe多了一个（或少了一个），这就导致后面的配对错位。</p>
<p>以上仅为猜测，但这的确是Firefox（2.0.0.3）的一个bug，IE返回时Javascript重新执行，并且Iframe的依据src重新载入，Opera返回时Javascript不重新执行，页面没有变化。</p>
<p>解决方案是在文本中增加一个隐藏的Iframe来占位，上面代码修改如下代码如下：</p>
<pre><code>document.write(&#39;&lt;p id=&quot;addAd&quot;&gt;&lt;a href=&quot;cookie.html&quot;&gt;点击这里增加一个iframe&lt;/a&gt;&lt;/p&gt;&#39;);
<span>//把上面的代码修改成为</span>
document.write(&#39;&lt;iframe src=&quot;#&quot; style=&quot;display:none;&quot;&gt;&lt;/iframe&gt;&#39;);
document.write(&#39;&lt;p id=&quot;addAd&quot;&gt;&lt;a href=&quot;cookie.html&quot;&gt;点击这里增加一个iframe&lt;/a&gt;&lt;/p&gt;&#39;);</code></pre>
<p>请看<a href="/lab/2007/05/iframe-bug-in-firefox-back/fixed.html" class="link-btn">修改后的演示</a>。</p>
]]></content:encoded>
			<wfw:commentRss>http://dancewithnet.com/2007/05/13/iframe-bug-in-firefox-back/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>东北乱炖</title>
		<link>http://dancewithnet.com/2005/07/29/be-at-sixes-and-sevens/</link>
		<comments>http://dancewithnet.com/2005/07/29/be-at-sixes-and-sevens/#comments</comments>
		<pubDate>Fri, 29 Jul 2005 13:14:14 +0000</pubDate>
		<dc:creator>秦歌</dc:creator>
				<category><![CDATA[互联网 & IT]]></category>
		<category><![CDATA[E4X]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[分众传媒]]></category>
		<category><![CDATA[李开复]]></category>
		<category><![CDATA[江南春]]></category>

		<guid isPermaLink="false">http://dancewithnet.com/?p=319</guid>
		<description><![CDATA[今天写的心情名字叫东北乱炖，但是内容和这倒菜没有任何关系，只是觉得，我的心情，因为住的地方现在还不能上往等诸多原因，不是每次有了感觉就网上抒发一下，而是往往很久才写一次... ]]></description>
			<content:encoded><![CDATA[<p>今天写的心情名字叫东北乱炖，但是内容和这倒菜没有任何关系，只是觉得，我的心情，因为住的地方现在还不能上往等诸多原因，不是每次有了感觉就网上抒发一下，而是往往很久才写一次，把以前很多心情，杂糅在一起，也不太梳理，有时候就像记流水帐一下，记下一些东西，没有章法，<span id="more-319"></span>而且又有不少日常琐事记下来，像是自己一个质量不高的备忘录，只有自己才觉得有意义，总之就是乱七八糟，感觉就像东北乱炖。</p>
<p>这道东北乱炖还是从琐事说起，昨天春雷和我一起到了中关村的Carrefour,买电饭煲、大米、筷子、绿豆等等日常用品，除了选东西，我和春雷谈的最多的就是商场内和周围众多的Focus Media 分众传媒的液晶广告屏，最近分众传媒在Nasdaq IPO成功，32岁诗人出身的江南春的身价也一夜超过张朝阳，而他做的就是两年前的一个IDEA，然后在全国创建户外广告电视网，其商业楼宇联播网目前已经覆盖全国40余个城市，20,000 栋商业楼宇，日覆盖数千万中高收入人群，可能很多人想到是多液晶屏多少钱啊？具体数字不用去分析，但是我想说的，这个两年前的IDEA,只不过是想，户外人们可以在报纸上看广告，是否也可以在电视上看呢？我想这样的想法应该不是只有江南春一个人有，还有李南春，张南春有，但是只有江南春成功了，这就说明了一个重要的问题，一个人有了好的IDEA还要有一个重要的东西，强悍的执行力，只有有了IDEA才能创造财富，而执行力来自于你以前的积累，包括人脉、资金等等，更重要的是你现在对你IDEA的信心和努力。记得以前看电视节目，报道有一个他加她水，男女分开的，男他＋女她－,而且和爱情，和阴阳协调等等结合起来，应该说是一个完美的IDEA，连IDEA的拥有者，好像是周子寒都说这是一个完美的创意，并且可以大干一场，产品也出了，现在还有，可惜原有的创意者把这一切都买了，原因只有一个，创意者难以执行下去，不如来点现实的，卖掉搞钱而已。如果当时丁磊把网易卖掉，马云放弃阿里巴巴，马化腾出售qq，这些事业会怎样不必说，但是他们肯定更喜欢现在这样。创意如果不是原有者强悍的执行力，很难成功实现。所以，很多人说没有机会，没有方向，但你更应该想，当你有机会，有方向的时候，你有执行力吗？</p>
<p>说完分钟传媒，还是回到李开复，我比较注意他，遗憾的是Microsoft官司第一场赢了，他也够烦的吧。但是Microsoft的Windows Vista（beta1）开始测试，研发代号是Longhorn，微软对抗Google的虚拟地球也推出，就连微软开始update需要正版的方案中也多了，盗版用户只要填写相关材料，并给微软寄去盗版光盘就可以获赠正版的，这是不是微软又在收集中国盗版Windows的证据呢？不过北京打击盗版比徐州做的好，至少盗版光盘读转入底下了，不是随便就可以找到的。</p>
<p>今天在W3schools上逛逛，发现出了了新的教程E4X（ECMAScript for XML），ECMA专门为用XML而写的Javascript，并且在今年已经成为标准，通过对比明显可以看出，通过E4X来用XML要比现在地方法简单太多了，开发效率肯定能够提高很多，可惜只有简单的前面介绍。我想E4X的出现肯定能够为AJAX的开发提供更好的支持，不过现在的浏览器都不支持，MOZILLA1.8将支持，Firefox1.1也将支持，不过那是很久以后的事情了，IE7会支持吗？</p>
<p>放一张Firefox的广告，蛮好玩的。<br /><img src='http://dancewithnet.com/wp-content/uploads/2007/03/firefox-ad.jpg' alt='firefox广告' /></p>
<p>最近在别人的网站上逛，发现记事本中一个彩蛋，就是如果你在记事本的开头写上大写的.LOG，那么你每次打开记事本都会在你写的内容下一行返回一个本地时间，呵呵，这对写意见简单的日志不是很方便么？<br /><img src='http://dancewithnet.com/wp-content/uploads/2007/03/text-auto-log.gif' alt='记事本的.LOG彩蛋' /></p>
]]></content:encoded>
			<wfw:commentRss>http://dancewithnet.com/2005/07/29/be-at-sixes-and-sevens/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

