??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲精品视频一二三区,成人av中文字幕,精品中文视频http://www.aygfsteel.com/iamtin/category/25697.htmlYou are coming a long way, baby~Thinking, feeling, memory...zh-cnThu, 13 Sep 2007 00:52:50 GMTThu, 13 Sep 2007 00:52:50 GMT60说说我对moo、prototype、JQuery的看?/title><link>http://www.aygfsteel.com/iamtin/archive/2007/09/13/reply_to_javaeye_fins_why_leave_prototype_choose_moo.html</link><dc:creator>Tin</dc:creator><author>Tin</author><pubDate>Thu, 13 Sep 2007 00:40:00 GMT</pubDate><guid>http://www.aygfsteel.com/iamtin/archive/2007/09/13/reply_to_javaeye_fins_why_leave_prototype_choose_moo.html</guid><wfw:comment>http://www.aygfsteel.com/iamtin/comments/144680.html</wfw:comment><comments>http://www.aygfsteel.com/iamtin/archive/2007/09/13/reply_to_javaeye_fins_why_leave_prototype_choose_moo.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/iamtin/comments/commentRss/144680.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/iamtin/services/trackbacks/144680.html</trackback:ping><description><![CDATA[因ؓ(f)javaeye的fins的这个帖子:(x)<a >我ؓ(f)什么选择mootools,抛弃了prototype. (mootools与prototype 核心代码分析)</a><br /> 我发表了一下我的看?img src="/CuteSoft_Client/CuteEditor/images/emwink.gif" align="absmiddle" border="0" alt="" /><br /> <br /> 我觉得fins同学的一些说法会(x)造成没有深入使用q几个框架的朋友的误解。因几个框架的思想是不一L(fng)Q所以它们的语法也是不同的。fins同学的评价似乎更像从Java的OOx来评价几个js框架?br /> 其实Qmoo一开始的x是light weightQ所以它的很多语法其实就是没有语法。fins说的json语法Q其实就是js里面的散列对象嘛Qjavascript语法本来是q个样子呀Q不包装是q样。而这U方式如果写的好读v来很像DSLQ很舒服Qmoo充分发挥了这个好处?br /> prototype和JQuery都没有强调承这L(fng)概念。javascript的强大很大就来自它的原Şl承Q如果要用好它就要利用好原Şl承。prototype在这斚w很像RubyQ比如EnumerableQ这是一U按照行为的抽象Q很W合Ruby/Python里面Module的想法,q所有行为都要抽象到一个对象再l承Q行为本w也可以抽象再؜入?br /> JQuery我觉得像Python。write less do moreq个x也比较pythonic。在q个框架中有很强的函数式~程的味道,其实javascript已经具备了函数式~程的语法能力,所以用FP的强大是JQuery受欢q的原因之一?br /> <br /> 说回来,q是派原因。moo的生比前两者要晚。prototype已经开始走大而全的\子了Q而且配套的script.aculo.us也是来臃肿(而且q个Ҏ(gu)库的代码质量的确不怎么好)Q但是要看到RoR里面使用RJS化Ajax应用开发都得益于这些大而全的库Q所以我们也没什么可抱怨的Q只能说没有使用RoRn受点便利吧。JQueryl箋保持它的优美Q插件也来多Q我了解到的很多使用Djangoq行W(xu)eb开发的朋友都在用JQuery。而mooQ越来越受欢q,我们也要认真x它的体积Q如果它能持l保持苗条,那么轻量UWeb目很有可能越来越多的选用它?br /> 每年学一门新语言Q学两三个新框架Q肯定是有益的。fins转阵营说明你也在拥抱变化呀:D<br /> <img src ="http://www.aygfsteel.com/iamtin/aggbug/144680.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/iamtin/" target="_blank">Tin</a> 2007-09-13 08:40 <a href="http://www.aygfsteel.com/iamtin/archive/2007/09/13/reply_to_javaeye_fins_why_leave_prototype_choose_moo.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>充满Trick的CSSQ两隄选择http://www.aygfsteel.com/iamtin/archive/2007/09/10/css_trick_to_be_or_not_to_be.htmlTinTinMon, 10 Sep 2007 00:02:00 GMThttp://www.aygfsteel.com/iamtin/archive/2007/09/10/css_trick_to_be_or_not_to_be.htmlhttp://www.aygfsteel.com/iamtin/comments/143872.htmlhttp://www.aygfsteel.com/iamtin/archive/2007/09/10/css_trick_to_be_or_not_to_be.html#Feedback1http://www.aygfsteel.com/iamtin/comments/commentRss/143872.htmlhttp://www.aygfsteel.com/iamtin/services/trackbacks/143872.html 本文已经发表于InfoQ中文站,Q?a target="_blank">充满Trick的CSSQ两隄选择Q?

javaeye的hax最q在他的blog上进行了一场关于如何写css的讨论,其中反思和讨论了一些关于基于标准或trickq行设计的选择问题Q这个问题也?a target="_blank">David Heinemeier Hansson对于XHTML/CSS/Javascript标准q行RIA开发话?/a>的一个g展。我们可以从中思考如何在不完的技术中选择一条相对完的技术\U?

讨论的v因是淘宝|的UED团队成员D늎爷在他的blog上发表了一?a target="_blank">关于淘宝|页面设计上的小技巧(TrickQ?/a>的介l,q个技巧是Z让一些条目之间的分隔U完全用css生成Q不使用多余的classQ段王爷q对比了其它三种常见实现Ҏ(gu)。实现方法如下:(x)

从很久很久以前开始,cȝ间的横线无非都只有三U?br /> 1、背景图
在a标签讄一个padding 用宽1px高不{的背景图来position到右侧?br /> ~点Q最后一个还是要用class来隐藏掉背景?br /> 2、符?br /> 在每个a标签之间?#8220;|”W号来填充?br /> ~点Qhtml文g变大Q文件维护变得很ȝQ而且在html中毫无意义?br /> 3、a标签右侧的boder?br /> 同背景图一P只不q用border-right来代ѝ缺点也同上?br />
其实现有Q淘宝的实现方式Q是利用ul的overflow:hidden 再将li的margin-left:-1px的做法做出来的。这L(fng)做法可以同旉免以上的~点了?br />

上面提到的用border的传l方式需要在W一或者最后一个元素上面添加class来隐藏borderQRealazy也在他的blog中给Z一U不错的解决Ҏ(gu)Q他推荐q样做:(x)

D目间的竖线Q我们往往通过border或者background来实现。特D需求是Q第一左Ҏ(gu)竖线或最后一右Ҏ(gu)竖线。按照一般的~程Ҏ(gu)Q控制第一要比控制最后一容易得多?br />
区分W一的q有一个好处是QCSS有一?first-child的伪元素Qpseudo elementQ可以让我们轻而易丄选择W一个子元素。遗憄是,当前全球占有率最高的览器,IE6Qƈ不支持这个伪元素。我们可以手工给W一个元素加上class然后再定义它。等ie6淘汰之时Q就可以攑ֿ?:first-child了,相权衡的话,我觉得给W一加上class="first"也不׃ؓ(f)实用M做法?

Realazy提出的方案的思\是用基于标准的css选择器(selectorQ,q种Ҏ(gu)的好处是可以实现完美的内容与表现分离。但是现实的问题是ƈ非所有的览器都Z标准实现Q这也正是基于标准的RIA开发面对的最大问题,其以CSS和Javascript问题最大。javaeye的hax在他的blog中提Z自己对于q个Trick的不同意见:(x)

因ؓ(f)我觉得这个方法一点也不好。很单的一个理由:(x)q只是一个trickQ只适合q特D情况,假设你要换用“-”来分割呢Q作为插入分割符h_(d)真正合理使用css的,我给一个例子:(x)
li ~ li:before { content:'-'; margin:0.25em; }

优点Q含义非常清晎ͼl护性极高。你可以换Q何的分隔字符Q可以设定字体,可以讑֮颜色、大等样式Q甚臛_以换用图片作为分隔?/p> 好了Q下面说~点。唯一的缺点:(x)IE不支持?/strong>

haxl出的方案在IE中无法用,其实对于大部分网站来说这q当于l大多数用户都无法看到这U表玎ͼq就意味着p|。淘宝UED的小马提?#8220;实用W一”Q从q种观点上说hax的方案就是不实用的。但是hax提出可以使用Dean Edwards的IE7 Javascript?/a>Q?/p>

IE7是一个可以让IE像标准浏览器一样工作的Javascript库。它修正了很多CSS问题Q让PNG在IE5和IE6下正常工作?

IE7q个库动态的实现了很多IE原本不支持的伪类QPseudo ClassesQ,让完全基于标准的css选择器(使用伪类Q成为可能。随后,hax在他的另外一blog“面向未来的CSS实践”中作了如下设惻I(x)

我推崇一U面向未来的CSS实践?strong>卛_胆采用CSS2.1甚至部分CSS3的特性?/strong>因ؓ(f)l大多数Ҏ(gu),Firefox、Opera?Safari{都已经很好的支持了。MSIE7也改q了许多Q将来IE也无疑终I会(x)完全支持CSS2.1。对于目前的IEQ除了graceful degradation的方式(实际上整个内Ҏ(gu)式分ȝ原则和良好的CSS设计可以保q点Q比如淘宝以前的“怽”所体现的)Q可以考虑通过特定手段来patch之?br />
在这点上Q我必须_(d)我原来也是一直坚持只用ie6的selector的。是什么改变了我?是Dean Edwards的IE7Q它的出C仅在于实践h(hun)值——即提供了一个对于IE的补丁,让开发者可以直接写C(j)SS2甚至CSS3?

hax提出的这U方式是比较Ȁq的Q他q在“面向未来的CSS实践”中进一步的描述了通过脚本修正的方式解决IE不支持标准伪cd多class问题的设惻I他的核心x是让CSS的开发可以遵循标准,减少Z优雅退化(graceful degradationQ而向最低支持(览器)兼容造成的表达方式限制。但是hax自己也提Zq种思\面(f)的尴,它D了table布局的实用性h(hun)gؓ(f)例:(x)

我认为出现这栯刺的情况Q即遵@标准的hzd比不遵@的h更篏Q是很有问题的?/strong>q种矛盾在我w上存在着Q?001q的时候我在某bbs上发了个_(d)大数 table布局之罪Q但是过了几天我又跑上去说table布局在某U情况下也可以用用?dlee同志貌似到现在也跟我当时一栗如果你实认ؓ(f)Qtable布局从实用主义角度无法被完全否定Q那DHH同志采用实用M的角度来力挺 html/css/js׃有点心虚Q那个标题也显得带点Q性味?#8230;…

“遵@标准的hzd比不遵@的h更篏”q句话说Z很多坚持Z标准q行CSS设计的开发h员的心声Q这其实是实用性和坚持标准之间的一些交换,现实世界中两个方面如何^衡正是广大XHTML/CSS/Javascript开发者需要认真思考的Q关键的问题Q还是目的要明确。盲目的遵@标准Q例如很多开发者着q于使用div布局代替tableQ但是却没有明确的目标就?x)迷失,haxq样评h(hun)Q?/p>

从实用主义角度说Q}慎的table布局也许更简单,因ؓ(f)它更好的映射Cgrid模型上。如果你转用div/spanQ?strong>标签是清CQ但是css是؜qQ?/strong>q些属性(css属性)是分散的Qcss代码无法反映整体Q无法记录你的grid 布局意图Q这是ؓ(f)什么我们经常说我有一个css trick的原因,它是trick而已Q是你达到最l目的的手段Q但是你的目的,你的意图Q没有好好加入文的话,那维护v来恐怕也不见得轻松?/strong>

table布局 其他css样式 = 清晰的布局意图和内容的混合?/p>

div容器 css样式 = 内容样式分离Q但是从css代码中很隄出布局意图

关于div/css布局q有一些误区,单的把table标签换成div是没有意义的Q若q层U的div可能比table更糟p)?strong>实际上我们希望的是语义标{?/strong>

我们应该看到QCSS的意图是表现分R从设计的角度就是实现语义化的htmll构Q让html/xhtml量只表辄_的数据l构。但是此时css里面的布局意图是比较难以被记录的(难以被理解就难以l护Q难以重构)Q有其在充斥了大量Trick的情况下Q这正是q大E序?设计人员需要解决的Q我们是否应该通过不断地重构来扑ֈq个矛盾的^衡点呢?Ƣ迎大家讨论。最后附上淘宝UED团队的小马ȝ的淘宝CSS~程原则Q?/p>

  1. 量不用hack
  2. 量不用ie6不支持的选择W?/strong>
能符合这两个条g的最z的写法Q就是我们的目标?


Tin 2007-09-10 08:02 发表评论
]]>
վ֩ģ壺 ɽ| | | ٲ| | | | | ƽ| | | | Ҧ| ζ| | | Զ| | ͷ| ˺| ͬ| | | | | ƽ| ǰ| Ϫ| | | | »| ˫| | | | ϰ| Դ| | ɽ| |