昨天去上海参加了上海的第一次Web标准化交流会,非常感谢携程网的招待、好吃的晚餐以及飞猪姐姐24小时的全程陪伴,并请我吃了上海最好吃的东西。。。^_^
可能是第一次聚会,大家都比较生,虽然去了很多人,但是发言的只有我、hax以及其他很少几个人,相信大家去都是想学到一些什么,想分享一些什么,想获得一些什么,可是很多人都不发言。还是非常希望看到每一个人去发言的,像我。。。最开始的时候,什么都不敢说,什么都不敢做,到现在不管是上台还是在下面,都不怎么怕了,话比谁都多。。。什么事大家都应该去尝试,不走出第一步永远改变不了,永远战胜不了自己。
希望每一个前端开发人员都有一种开放的心态以及分享的精神,希望这个交流会在上海会越办越好~Come on!
这周刚刚百淘完。。。其实很不喜欢这样的东西。。。很被动的去听,大多数时候还是逃掉了~拓展还不错,能出去运动下,玩玩哈,虽然有点累,不过还是挺爽的哈!~其实自己喜欢挺多的运动,感觉看上去都挺好玩的,不过一样都没试过,一来没时间,二来我觉得这方面我挺笨的。。都学不会哈,所以只有羡慕别人的份,小时候一直憋在家里,我妈赶都赶不出去,现在工作什么的挺忙的,周末一个人在家里还是挺无聊的,经常的很想出去溜达溜达,不过基本没有出去溜达的机会,因为根本不知道要去哪里。总是感觉自己有很多事情没有做,一直在赶着去做,但是总是做不完的样子,觉得自己有很多事情很想去尝试,但是一直都没去尝试,太委屈自己啦,哈哈,先谈谈最近的工作吧。
在蝴蝶谷待了一个多月,每天的工作主要就是bug fix,每天都很忙,忙的一塌糊涂。有了一些心得:
1.在每个项目确定要做的时候,视觉/交互设计师一定要确保设计稿的准确性,而前端工程师也应该的仔细的审核每一个设计稿,确定设计稿中可能存在的问题,及时和交互设计师沟通进行修改,以免在后期进行各种各样的修改,给各方都带来很大的不便。
2.在做页面之前一定应该从各个设计稿中确定如何去构建,如何去做统一的规格,毕竟HTML是页面最基础的东西,就像盖房子似的,一定要把地基打好,否则房子就很难去盖好盖高(那个XXX斜塔除外哦)。能把HTML做好,后期应该少n多的麻烦,毕竟CSS和JS都是靠它来运作的。因为每个人都以为HTML很简单,所以都很随意,所以更多的CSS都被HACK充斥着,还一边的抱怨ie浏览器,自作孽,不可活哦~另外,HTML我觉得还是应该以简单为主,如果整个项目没有一个另类的或者只有一个另类的,就单独给它一个吧,不要为了它让其它n多的地方使用那么繁杂的结构,套那么多冗余的无用的棉袄。花更多的时间去考虑HTML,毕竟有了重构的概念以来,并不是每一次网站改版都要重构一次HTML,重构的意义应该在于一劳永逸,每次翻天覆地的去改,跟使用table有何分别。
继续阅读 »
用了两天,感觉挺好的,实时视图比较方便,尤其是高分屏的同学,更加爽哦哈,实时视图貌似用的是 Oprea 的内核,可以用 @media all and (min-width:0) {} 测试一下,Dreamweaver CS4 的实时视图会认出它来。另外就是相关文件、JavaScript 提示,我感觉这三个新功能相当方便,大家不妨试试看哈。
详细的新功能介绍请访问 Adobe 官方站查看,支持正版哈。
继续阅读 »
虽然表面是 getElementById 消耗的时间应该比较短,但是自己始终不太相信,因为很多时候我不愿意给每个元素都添加 id,太费劲了,而更愿意使用 getElementsByTagName 来迭代。昨天花了一点时间,做了测试,首先对比一下遍历 20 个节点的速度:
getElementById:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>getElementById</title>
<script type="text/javascript">
function getS() {
var t1 = new Date();
if(document.getElementById("heheli")) var t2 = new Date();
alert(t2.getTime() - t1.getTime());
}
</script>
</head>
<body>
<ul>
<li>5555555555555</li> <li>5555555555555</li> <li>5555555555555</li> <li>5555555555555</li> <li>5555555555555</li> <li>5555555555555</li> <li>5555555555555</li> <li>5555555555555</li> <li>5555555555555</li> <li>5555555555555</li> <li>5555555555555</li> <li>5555555555555</li> <li>5555555555555</li> <li>5555555555555</li> <li>5555555555555</li> <li>5555555555555</li> <li>5555555555555</li> <li>5555555555555</li> <li>5555555555555</li> <li id="heheli">5555555555555</li>
</ul>
<a href="#" onclick="getS();return false;">检测速度</a>
</body>
</html>
getElementsByTagName:
继续阅读 »
其实一直都以为这两个是等价的,而后者显得更方便,但是就在昨天测试 CSSer 的一个脚本时发现,在某些时候它们是不一样的。
首先我们来看一个例子:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<div id="hh" onclick="alert(this.id);">点击我,输出我的属性</div>
</body>
</html>
你可以在各浏览器下点击右下角的运行按钮运行,然后点击输出,可以看到在各个浏览器下,都会正确的输出 id 的属性值,然而,当我们自定义一个属性的时候,它还会正常工作吗?
或许你觉得使用标准标签以外的自定义标签就是违反了 web 标准,但是标准标签不能满足我们的需求,我们自定义的标签却能更准确的表达我们的意思,web 标准永远都只是一个参考,而不能一成不变的去用。
继续阅读 »
首先大家看一下下边这张图片:

这样的布局很常见,你会怎么安排呢?其实要做到这一点十分的简单,也有很多种方法,但是哪种方法最适合呢?
一、左右同一级别、同一性质
先看下结构:
<div>
<div class="alignLeft"></div>
<div class="alignRight"></div>
</div>
这是在 WordPress 里边使用的上一篇日志和下一篇日志的结构,左右都是日志,具有相同的重要性,我们可以在 css 文件中让 alignLeft 浮动在左侧,alignRight 浮动到右侧,这样子就可以轻松搞定了。
二、新闻类型的
先看下 CSSer 的首页的新闻列表:

新闻标题在左,日期在右,你会怎么写结构呢?SupeSite 给出的结构是这样的:
<li>
<cite>新闻日期</cite> 新闻标题
</li>
而 CSS 定义是:
li cite { float:right;}
三、标题和右侧
先看下结构:
继续阅读 »
昨天在给同学搞一段 js 的时候遇到一个问题,和大家分享一下。
首先我们写一个很简单的 table,中间不带 tbody,看一下它在各浏览器下是如何被解析的。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style>
table, td { border:1px solid #CCCCCC; border-collapse:collapse; padding:5px; }
</style>
</head>
<body>
<table id="table">
<tr>
<td>测试</td>
<td>测试</td>
<td>测试</td>
<td>测试</td>
</tr>
</table>
</body>
</html>
继续阅读 »
今年在制作 Comsenz 网站的时候,除首页外使用了绝对定位的布局,但是,在后来发现了一个问题,就是在 IE6 下不能正常选择绝对定位的元素内的文字(即当元素的被设置 position:absolute; 时,将引发此问题,relative 不会出现这种问题)。在网上搜了搜,解决的办法就是进入 Quirks Mode 模式,很明显,这并不是我想要的,那么我现在面临两条路:一是放弃绝对定位的布局方式,一是找到解决方法。当然,我并不愿意放弃这种布局模式,因为我感觉使用起来确实很方便,那么我该如何去解决在 IE6 下的问题呢?
在做这个网站的最初,我就决定不用不符合标准的 HACK,而尽量去使用条件注释解决 IE 下出现的问题,因此,我通过条件注释为 IE6 单独设置了一个特殊的 CSS 文件。那么现在我要做的就是让盒子在除 IE6 外的浏览器上使用绝对定位布局,而在 IE6 内使用浮动来布局。
继续阅读 »
腾讯科技讯 北京时间1月23日消息,据国外媒体报道,微软近日向各大企业IT部门发出警告称,该公司将于今年2月12日自动把用户计算机上的浏览器升级到IE 7,但对于那些想继续使用IE 6的企业用户,微软已提供了相应解决方案。
微软去年10月宣布,在今年2月12日(周二)进行的每月常规升级中,将通过Windows服务器更新服务(WSUS)将用户计算机上的浏览器自动升级到IE7;并表示用户在安装IE 7之前,不再需要通过正版验证。在此之前,Windows用户下载IE 7后若进行安装,需首先通过正版验证,否则将无法继续安装。微软当时对此表示,这样做主要是出于安全因素的考虑。
继续阅读 »