<?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>Gulu77</title>
	<atom:link href="http://blog.gulu77.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://blog.gulu77.com</link>
	<description>Web Standards,User Experience</description>
	<lastBuildDate>Wed, 04 Aug 2010 02:14:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>40公里徒步处男作</title>
		<link>http://blog.gulu77.com/?p=707</link>
		<comments>http://blog.gulu77.com/?p=707#comments</comments>
		<pubDate>Tue, 13 Apr 2010 16:44:37 +0000</pubDate>
		<dc:creator>Gulu77</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://blog.gulu77.com/?p=707</guid>
		<description><![CDATA[春暖花开天气终于开始回暖了，几乎整个冬天都宅在家里没有参加户外活动我太怕冷了。产品中心的哥们发起40公里徒步登山活动还好强度不算高，其实在这之前并且没有参加过徒步，预计徒步需要10小时能否走完自己心里还真没底。而对百公里的徒步者一直怀着莫名的颀赏和敬佩，自己也很想体验一把，挑战一下自己。
准确来说，到现在还不能完全理解那些近乎自虐的行为。但正如他人不能理解我这种近乎自闭的宅男。也许是选择一种让自己最轻松熟悉的方式罢了。尽管疲惫，脸上却一直挂着笑容。有时候，似乎连疼痛都是一种幸福的折磨。
10日早晨6点起床，集合后9点半去到了海边大梅沙，以那作起点正式出发，沿途山野没有补给站，在背包已准备了一天的饮用水与干粮。所谓清明时节雨纷纷起程时开始下起蒙蒙细雨，天气不如理想能见度也较底，既来之则安之我们继续走下去。

走了约两小时一直是上坡路，小腿开始有点感觉了。身体热热的，但雨水却越下越大了，没有带雨具，我的中级防风衣快抵挡不住了，开始渗透雨水。我的登山鞋是透气式的早就开始进水了，下面湿淋淋的感觉有点难受。
走了近4小时，到达了山腰的高度，山上开始有雾气，温度有所下降，能见度大约3米。按照刚到的这段路程统计了一下速度，基本上2.7公里一小时，晕死了比预期的中慢很多，可能也因为是上坡的关系吧，后半段大家都热身够了步伐开始越来越快。
到了中午时候，我们走到了华侨城，茶溪谷后门，大伙在那里开始充饥，我也换上的干的衣服，换了袜子拿两个袋把脚裹住，干爽舒服哈~。大伙准备走时发现Gcun不见了，原来那家伙跑去架炉煮牛肉面了，在野外这杀伤力可非同凡响啊，忍不住吃了一碗热乎乎的，味道实在太棒了，平时完全感觉不到。
下午雨开始停了，雾气也渐渐散去，我们开始绕另一边开始下山了，看着绿油油的山谷，清新的空气扑鼻而来，感觉很舒服疲倦早已一扫而光。
晚上7：30，听到了海浪声，到达了大梅沙海滩我们的终点，旅程结束，但感觉意犹未尽。总体40公里徒步感觉还是不错，体能也超出了预期。结束后团队聚餐，晚上12点到家，身体虽然很疲倦，但心情很舒畅，所有压力都已被释放,，期待下次的户外活动^_^。









]]></description>
			<content:encoded><![CDATA[<p>春暖花开天气终于开始回暖了，几乎整个冬天都宅在家里没有参加户外活动我太怕冷了。产品中心的哥们发起40公里徒步登山活动还好强度不算高，其实在这之前并且没有参加过徒步，预计徒步需要10小时能否走完自己心里还真没底。而对百公里的徒步者一直怀着莫名的颀赏和敬佩，自己也很想体验一把，挑战一下自己。</p>
<p>准确来说，到现在还不能完全理解那些近乎自虐的行为。但正如他人不能理解我这种近乎自闭的宅男。也许是选择一种让自己最轻松熟悉的方式罢了。尽管疲惫，脸上却一直挂着笑容。有时候，似乎连疼痛都是一种幸福的折磨。</p>
<p>10日早晨6点起床，集合后9点半去到了海边大梅沙，以那作起点正式出发，沿途山野没有补给站，在背包已准备了一天的饮用水与干粮。所谓清明时节雨纷纷起程时开始下起蒙蒙细雨，天气不如理想能见度也较底，既来之则安之我们继续走下去。</p>
<p><span id="more-707"></span></p>
<p>走了约两小时一直是上坡路，小腿开始有点感觉了。身体热热的，但雨水却越下越大了，没有带雨具，我的中级防风衣快抵挡不住了，开始渗透雨水。我的登山鞋是透气式的早就开始进水了，下面湿淋淋的感觉有点难受。</a></p>
<p>走了近4小时，到达了山腰的高度，山上开始有雾气，温度有所下降，能见度大约3米。按照刚到的这段路程统计了一下速度，基本上2.7公里一小时，晕死了比预期的中慢很多，可能也因为是上坡的关系吧，后半段大家都热身够了步伐开始越来越快。</p>
<p>到了中午时候，我们走到了华侨城，茶溪谷后门，大伙在那里开始充饥，我也换上的干的衣服，换了袜子拿两个袋把脚裹住，干爽舒服哈~。大伙准备走时发现Gcun不见了，原来那家伙跑去架炉煮牛肉面了，在野外这杀伤力可非同凡响啊，忍不住吃了一碗热乎乎的，味道实在太棒了，平时完全感觉不到。</p>
<p>下午雨开始停了，雾气也渐渐散去，我们开始绕另一边开始下山了，看着绿油油的山谷，清新的空气扑鼻而来，感觉很舒服疲倦早已一扫而光。</p>
<p>晚上7：30，听到了海浪声，到达了大梅沙海滩我们的终点，旅程结束，但感觉意犹未尽。总体40公里徒步感觉还是不错，体能也超出了预期。结束后团队聚餐，晚上12点到家，身体虽然很疲倦，但心情很舒畅，所有压力都已被释放,，期待下次的户外活动^_^。</p>
<p><br/><br />
<a href="http://blog.gulu77.com/photos/201004/IMG_0171.jpg" rel="lightbox[plants]" title=""><img src="http://blog.gulu77.com/photos/201004/IMG_0171.jpg"/></a></p>
<p><a href="http://blog.gulu77.com/photos/201004/IMG_0172.jpg" rel="lightbox[plants]" title=""><img src="http://blog.gulu77.com/photos/201004/IMG_0172.jpg"/></a></p>
<p><a href="http://blog.gulu77.com/photos/201004/IMG_0173.jpg" rel="lightbox[plants]" title=""><img src="http://blog.gulu77.com/photos/201004/IMG_0173.jpg"/></a></p>
<p><a href="http://blog.gulu77.com/photos/201004/IMG_0174.jpg" rel="lightbox[plants]" title=""><img src="http://blog.gulu77.com/photos/201004/IMG_0174.jpg"/></a></p>
<p><a href="http://blog.gulu77.com/photos/201004/IMG_0175.jpg" rel="lightbox[plants]" title=""><img src="http://blog.gulu77.com/photos/201004/IMG_0175.jpg"/></a></p>
<p><a href="http://blog.gulu77.com/photos/201004/IMG_0176.jpg" rel="lightbox[plants]" title=""><img src="http://blog.gulu77.com/photos/201004/IMG_0176.jpg"/></a></p>
<p><a href="http://blog.gulu77.com/photos/201004/IMG_0178.jpg" rel="lightbox[plants]" title=""><img src="http://blog.gulu77.com/photos/201004/IMG_0178.jpg"/></a></p>
<p><a href="http://blog.gulu77.com/photos/201004/IMG_0177.jpg" rel="lightbox[plants]" title=""><img src="http://blog.gulu77.com/photos/201004/IMG_0177.jpg"/></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gulu77.com/?feed=rss2&amp;p=707</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>研发流程中与其他岗位协作效率的提升</title>
		<link>http://blog.gulu77.com/?p=703</link>
		<comments>http://blog.gulu77.com/?p=703#comments</comments>
		<pubDate>Mon, 12 Apr 2010 13:06:08 +0000</pubDate>
		<dc:creator>Gulu77</dc:creator>
				<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[交流]]></category>

		<guid isPermaLink="false">http://blog.gulu77.com/?p=703</guid>
		<description><![CDATA[最近时间管理上出了点问题,前段时间的举行的交流会现在才放出, 基于super的总结上我再修改了一下。
【会议目的】
前端开发在研发流程中与其他岗位协作效率的提升，研发流程、协同规范、有效沟通。（ppt分享及会议主持：ivanehwang）
【会议内容】
一、	提升优化满意度（ppt分享：superliu）
PPT主要内容为不断提升用户对我们的满意度而分析总结在工作当中可能遇到的问题和解决方案，主要讲述提高工作效率，如何与产品、开发等相关人员协做及沟通相关技巧。

二、	项目工作量与进度
交互设计师，视觉设计师，产品经理前期占用太多时间，到最后留给你完成开发的时间已经很少了……
1)	兼做PM(no time)
2)	砍需求（功能分批）
3)	预留风险时间
4)	功能实现变更
5)	模块化 (公用,减少重复劳动)
6)	向上沟通
7)	投入度，归属感()
8)	加班 (不建议)
总结：这里大家比较一致，就是首先要保证项目按时完成。如果后面的开发时间因为“设计阶段过长，没有按时交付设计稿”而不够，哪么在不能加人，加时间的情况下， 就只能对当前任务进行拆分，把重要的、紧急的先行完成，别的再安排时间上线。这里比较反对直接说YES或NO的作法，YES的话，就是自己加班完成，但这 样质量，及以后的工作效率得不到保证。NO的话，则显的一点职业素质就没有了。
三、	开发联调问题
页面完成后，产品经理和视觉设计师都已经确认，但到了下游开发时却被打回说页面结构不符合开发的要求……
1)	前期沟通（在设计上）
2)	提升重构人员的专业上水平（为下游预留接口）
3)	数据推动改版（先完成进度）
4)	规范的制定，公用库（Bug list）
5)	浏览器差异化
6)	拥抱变化
7)	过程与结果（管理上）
8)	规范与培训（管理上）
总结：沟通一直大家都在说很重要，这个因为前期沟通不够而产生问题，因为前期沟通到位而避免后期问题大家都说了不少案例。这里大家也深入分析，在不同公司的大环 境下沟通的情况也不一样，如果是领导比较强势，哪么可能比较倒霉，可能无法有效沟通。项目的成熟度也有关系，比如不成熟、前景不太明朗的项目可能就会总是 改来改去，这时如果只是一味接需求来做就比较被动，要在前期设计阶段进入沟通，这样后面才压力轻点。
四、	其它问题
或许您也有自己的苦衷，提出来，让大家一起讨论解决方法……
1)	前期沟通 (重要:在设计评审会上)
2)	提升重构人员的水平 (预留接口,方便下游)
3)	数据推动改版 (重要:先完成进度,雪中送炭,锦上添花)
4)	新的功能引发老功能的问题(推倒重来、单元测试、模块化)
5)	机动团队backup VS 人员空置
6)	模板化企业站 VS 扩展性（模板版本更新、稳定性为前提）
总结：流程建设这一块大家主要是为了保证工作有序可控，把风险性降低。这一块的流程建设中的风险、敏捷、成本是互相牵制的，在人力成本迟迟得不到添加的情况下， 哪么敏捷、风险性就会增加。降低风险性这里目前大家尝试的写文档、人员交叉等建设目前来说因为项目进度（敏捷性）的压力都进行不太顺利。最后因为大家讨论并行开发又引入了模块化的话题，这里大家主要分享了对代码根据作用域进行拆分，然后再进行组合的一个思路和实践，不过对于细节大家还有些 分歧。
]]></description>
			<content:encoded><![CDATA[<p>最近时间管理上出了点问题,前段时间的举行的交流会现在才放出, 基于<a href="http://www.misuisui.com/">super</a>的总结上我再修改了一下。</p>
<p>【会议目的】<br />
前端开发在研发流程中与其他岗位协作效率的提升，研发流程、协同规范、有效沟通。（ppt分享及会议主持：ivanehwang）</p>
<p>【会议内容】<br />
一、	提升优化满意度（ppt分享：superliu）<br />
PPT主要内容为不断提升用户对我们的满意度而分析总结在工作当中可能遇到的问题和解决方案，主要讲述提高工作效率，如何与产品、开发等相关人员协做及沟通相关技巧。<br />
<span id="more-703"></span><br />
二、	项目工作量与进度<br />
交互设计师，视觉设计师，产品经理前期占用太多时间，到最后留给你完成开发的时间已经很少了……<br />
1)	兼做PM(no time)<br />
2)	砍需求（功能分批）<br />
3)	预留风险时间<br />
4)	功能实现变更<br />
5)	模块化 (公用,减少重复劳动)<br />
6)	向上沟通<br />
7)	投入度，归属感()<br />
8)	加班 (不建议)<br />
总结：这里大家比较一致，就是首先要保证项目按时完成。如果后面的开发时间因为“设计阶段过长，没有按时交付设计稿”而不够，哪么在不能加人，加时间的情况下， 就只能对当前任务进行拆分，把重要的、紧急的先行完成，别的再安排时间上线。这里比较反对直接说YES或NO的作法，YES的话，就是自己加班完成，但这 样质量，及以后的工作效率得不到保证。NO的话，则显的一点职业素质就没有了。</p>
<p>三、	开发联调问题<br />
页面完成后，产品经理和视觉设计师都已经确认，但到了下游开发时却被打回说页面结构不符合开发的要求……<br />
1)	前期沟通（在设计上）<br />
2)	提升重构人员的专业上水平（为下游预留接口）<br />
3)	数据推动改版（先完成进度）<br />
4)	规范的制定，公用库（Bug list）<br />
5)	浏览器差异化<br />
6)	拥抱变化<br />
7)	过程与结果（管理上）<br />
8)	规范与培训（管理上）<br />
总结：沟通一直大家都在说很重要，这个因为前期沟通不够而产生问题，因为前期沟通到位而避免后期问题大家都说了不少案例。这里大家也深入分析，在不同公司的大环 境下沟通的情况也不一样，如果是领导比较强势，哪么可能比较倒霉，可能无法有效沟通。项目的成熟度也有关系，比如不成熟、前景不太明朗的项目可能就会总是 改来改去，这时如果只是一味接需求来做就比较被动，要在前期设计阶段进入沟通，这样后面才压力轻点。</p>
<p>四、	其它问题<br />
或许您也有自己的苦衷，提出来，让大家一起讨论解决方法……<br />
1)	前期沟通 (重要:在设计评审会上)<br />
2)	提升重构人员的水平 (预留接口,方便下游)<br />
3)	数据推动改版 (重要:先完成进度,雪中送炭,锦上添花)<br />
4)	新的功能引发老功能的问题(推倒重来、单元测试、模块化)<br />
5)	机动团队backup VS 人员空置<br />
6)	模板化企业站 VS 扩展性（模板版本更新、稳定性为前提）<br />
总结：流程建设这一块大家主要是为了保证工作有序可控，把风险性降低。这一块的流程建设中的风险、敏捷、成本是互相牵制的，在人力成本迟迟得不到添加的情况下， 哪么敏捷、风险性就会增加。降低风险性这里目前大家尝试的写文档、人员交叉等建设目前来说因为项目进度（敏捷性）的压力都进行不太顺利。最后因为大家讨论并行开发又引入了模块化的话题，这里大家主要分享了对代码根据作用域进行拆分，然后再进行组合的一个思路和实践，不过对于细节大家还有些 分歧。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gulu77.com/?feed=rss2&amp;p=703</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web标准化交流会，让前端开发不再孤立</title>
		<link>http://blog.gulu77.com/?p=688</link>
		<comments>http://blog.gulu77.com/?p=688#comments</comments>
		<pubDate>Mon, 15 Mar 2010 07:29:45 +0000</pubDate>
		<dc:creator>Gulu77</dc:creator>
				<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[W3CTech]]></category>

		<guid isPermaLink="false">http://blog.gulu77.com/?p=688</guid>
		<description><![CDATA[W3CTech 第6期  前端开发在研发流程中与其他岗位协作效率的提升 在线报名
Web标准化交流会3月报名过百，国内领先互联网企业前端开发团队悉数加盟。据来自W3CTech的相关人员介绍，本月交流会主题为：前端开发在研发流程中与其他岗位协作效率的提升；论题一经提出及得到了业内的众多响应。互联网是一个新型行业，而前端开发这个概念也在国内方兴未艾；抛弃片面强调前端思想，将Web标准化应用整个开发过程中，是所有互联网企业削减技术成本的有效手段。

从刀耕火种的混杂模式到日新月异的集约型开发，前端开发在中国走过了从无到有的阶段，Web标准化进行不仅仅影响到了浏览器端的技术领域，伴随微格式的流行，万维网标准化体系也逐渐渗透到数据层开发和内容发布等领域，成为了一项系统工程；从不理解到了解，从了解到配合，本月W3CTech将邀请所有与互联网有关的IT人士，共同探讨标准化Web协作开发的标准之路。
本次交流互动将于3月27日在四个城市同时开始，北京站、深圳站由腾讯公司提供场地，广州站由新浪提供场地上海站将在携程网进行，W3CTech也希望更多有识之士参与讨论，努力推进国内web标准化进程。
]]></description>
			<content:encoded><![CDATA[<p>W3CTech 第6期  前端开发在研发流程中与其他岗位协作效率的提升 <a href="http://www.w3ctech.com/joinus/">在线报名</a></p>
<p>Web标准化交流会3月报名过百，国内领先互联网企业前端开发团队悉数加盟。据来自<a href="http://www.w3ctech.com/">W3CTech</a>的相关人员介绍，本月交流会主题为：前端开发在研发流程中与其他岗位协作效率的提升；论题一经提出及得到了业内的众多响应。互联网是一个新型行业，而前端开发这个概念也在国内方兴未艾；抛弃片面强调前端思想，将Web标准化应用整个开发过程中，是所有互联网企业削减技术成本的有效手段。<br />
<span id="more-688"></span><br />
从刀耕火种的混杂模式到日新月异的集约型开发，前端开发在中国走过了从无到有的阶段，Web标准化进行不仅仅影响到了浏览器端的技术领域，伴随微格式的流行，万维网标准化体系也逐渐渗透到数据层开发和内容发布等领域，成为了一项系统工程；从不理解到了解，从了解到配合，本月<a href="http://www.w3ctech.com/">W3CTech</a>将邀请所有与互联网有关的IT人士，共同探讨标准化Web协作开发的标准之路。</p>
<p>本次交流互动将于3月27日在四个城市同时开始，北京站、深圳站由腾讯公司提供场地，广州站由新浪提供场地上海站将在携程网进行，<a href="http://www.w3ctech.com/">W3CTech</a>也希望更多有识之士参与讨论，努力推进国内web标准化进程。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gulu77.com/?feed=rss2&amp;p=688</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>腾讯ISD招聘页面重构工程师</title>
		<link>http://blog.gulu77.com/?p=668</link>
		<comments>http://blog.gulu77.com/?p=668#comments</comments>
		<pubDate>Mon, 07 Dec 2009 02:34:33 +0000</pubDate>
		<dc:creator>Gulu77</dc:creator>
				<category><![CDATA[Web Standards]]></category>

		<guid isPermaLink="false">http://blog.gulu77.com/?p=668</guid>
		<description><![CDATA[招聘职位：页面重构工程师
招聘要求：

对符合web标准的网站重构有丰富经验，有成功案例；
精通结构化语言xhtml、xml与解释性语言css；
精通图像处理软件与网页编辑软件；
对业界最新的页面实现有浓厚的兴趣和深入的见解；
逻辑分析能力强，善于沟通，较强的学习能力；
熟悉对象模型与脚本语言，有前台开发经验者优先考虑；

招聘截至时间：2010年5月
如果你想应聘该职位，请发简历到lqd2001@gmail.com，我们会尽快联系您。
]]></description>
			<content:encoded><![CDATA[<p><strong>招聘职位：页面重构工程师</strong><br />
<strong>招聘要求：</strong></p>
<ol>
<li>对符合web标准的网站重构有丰富经验，有成功案例；</li>
<li>精通结构化语言xhtml、xml与解释性语言css；</li>
<li>精通图像处理软件与网页编辑软件；</li>
<li>对业界最新的页面实现有浓厚的兴趣和深入的见解；</li>
<li>逻辑分析能力强，善于沟通，较强的学习能力；</li>
<li>熟悉对象模型与脚本语言，有前台开发经验者优先考虑；</li>
</ol>
<p>招聘截至时间：2010年5月<br />
如果你想应聘该职位，请发简历到<a href="mailto:lqd2001@gmail.com" target="_blank">lqd2001@gmail.com</a>，我们会尽快联系您。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gulu77.com/?feed=rss2&amp;p=668</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>定位相关的怪异问题</title>
		<link>http://blog.gulu77.com/?p=609</link>
		<comments>http://blog.gulu77.com/?p=609#comments</comments>
		<pubDate>Fri, 20 Nov 2009 05:12:30 +0000</pubDate>
		<dc:creator>Gulu77</dc:creator>
				<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[position]]></category>

		<guid isPermaLink="false">http://blog.gulu77.com/?p=609</guid>
		<description><![CDATA[事物绝非十全十美总有强差人意的一面，之前针对浮动分析了其引起文本重影的怪异问题，而作为浮动布局的最佳搭档定位布局也存在一定的缺陷。
围绕着定位列出的种种问题，对某些情况只是作出了分析而暂时没有找到有解决方案，但既然知道问题所在，我们可以尽可能的采取其它措施避免这现象。



		position:relative;属性值导致overflow:hidden;失效。
问题：在IE6/7中子级设置position:relative;属性值后，导致父级的overflow:hidden;失效。Demo1
		
		
分析：与定位的层级关系有关，IE6/7解析为内容已经跳出文档流，以致父级误以为没有包含内容。
解决方案： 对于IE6可以为父级添加定位属性纠正问题，但IE7依然无效。


		overflow充当了position:relative的角色
问题：在IE6或IE quirks模式中设定overflow:auto/hidden/scroll属性值后，元素显示效果相当于position:relative的相对定位效果。
		Demo2
		
		
分析：在怪异模式与标准模式下的页面对CSS的解析会有一定的差异甚至是扭曲了其属性的作用，对这现象暂时还没有冲破的能力，也只能记录与回避了。


		没有实渲染导致绝对定位的错误
问题：在IE6中，子级元素绝对定位于父级元素时，当动态改变父级宽高时，子级位置没有发生变化。Demo3
		
分析：估计是动态改变父级高度时，IE6并没有实时对浏览器渲染。暂时没有CSS能解决这问题，但可尝试加载内容后，使用JS对被定位的父级（定位参照物）再次刷新，解决问题。


		IE6中position:relative;属性值无效
问题：在IE6及以下版本，父级元素已设置position:relative;属性值，但子级绝对定位元素没有生效。Demo4
		
分析：原因在于父级元素没有触发haslayout（相关资料请搜索On having layout），IE7及以上的高级浏览器则不存在这问题。
解决方案： 在父级元素中添加让其触发haslayout的CSS属性值。


		奇数引起定位的1pxBUG
问题：在IE6及以下版本，父级元素宽度高度为奇数时，子级元素绝对定位于(right:0;bottom:0;)，会出现往内偏移1px的错误。Demo5
		
分析：其真正原因还得问IE6的开发者了。但从例子中可以观察到左上角的子级元素显示正常，其原因为“盒子”拉伸扩展为上至下左至右，估计于此以至靠左边或顶部的位置不会发生移动的变化。


]]></description>
			<content:encoded><![CDATA[<p>事物绝非十全十美总有强差人意的一面，之前针对浮动分析了其引起文本重影的怪异问题，而作为浮动布局的最佳搭档定位布局也存在一定的缺陷。</p>
<p>围绕着定位列出的种种问题，对某些情况只是作出了分析而暂时没有找到有解决方案，但既然知道问题所在，我们可以尽可能的采取其它措施避免这现象。</p>
<p><span id="more-609"></span></p>
<ol>
<li>
		<strong>position:relative;属性值导致overflow:hidden;失效。</strong></p>
<p>问题：在IE6/7中子级设置position:relative;属性值后，导致父级的overflow:hidden;失效。<a target="_blank" href="http://blog.gulu77.com/demo/200911/position_demo1.html">Demo1</a><br />
		<a target="_blank" href="http://blog.gulu77.com/demo/200911/position_demo1.html"><img src="http://blog.gulu77.com/demo/200911/position_demo1.png"></a>
		</p>
<p>分析：与定位的层级关系有关，IE6/7解析为内容已经跳出文档流，以致父级误以为没有包含内容。</p>
<p>解决方案： <br />对于IE6可以为父级添加定位属性纠正问题，但IE7依然无效。</p>
</li>
<li>
		<strong>overflow充当了position:relative的角色</strong></p>
<p>问题：在IE6或IE quirks模式中设定overflow:auto/hidden/scroll属性值后，元素显示效果相当于position:relative的相对定位效果。<br />
		<a target="_blank" href="http://blog.gulu77.com/demo/200911/position_demo2.html">Demo2</a><br />
		<a target="_blank" href="http://blog.gulu77.com/demo/200911/position_demo2.html"><img src="http://blog.gulu77.com/demo/200911/position_demo2.png"></a>
		</p>
<p>分析：在怪异模式与标准模式下的页面对CSS的解析会有一定的差异甚至是扭曲了其属性的作用，对这现象暂时还没有冲破的能力，也只能记录与回避了。</p>
</li>
<li>
		<strong>没有实渲染导致绝对定位的错误</strong></p>
<p>问题：在IE6中，子级元素绝对定位于父级元素时，当动态改变父级宽高时，子级位置没有发生变化。<a target="_blank" href="http://blog.gulu77.com/demo/200911/position_demo3.html">Demo3</a><br />
		<a target="_blank" href="http://blog.gulu77.com/demo/200911/position_demo3.html"><img src="http://blog.gulu77.com/demo/200911/position_demo3.png"></a></p>
<p>分析：估计是动态改变父级高度时，IE6并没有实时对浏览器渲染。暂时没有CSS能解决这问题，但可尝试加载内容后，使用JS对被定位的父级（定位参照物）再次刷新，解决问题。</p>
</li>
<li>
		<strong>IE6中position:relative;属性值无效</strong></p>
<p>问题：在IE6及以下版本，父级元素已设置position:relative;属性值，但子级绝对定位元素没有生效。<a target="_blank" href="http://blog.gulu77.com/demo/200911/position_demo4.html">Demo4</a><br />
		<a target="_blank" href="http://blog.gulu77.com/demo/200911/position_demo4.html"><img src="http://blog.gulu77.com/demo/200911/position_demo4.png"></a></p>
<p>分析：原因在于父级元素没有触发haslayout（相关资料请搜索On having layout），IE7及以上的高级浏览器则不存在这问题。</p>
<p>解决方案： <br />在父级元素中添加让其触发haslayout的CSS属性值。</p>
</li>
<li>
		<strong>奇数引起定位的1pxBUG</strong></p>
<p>问题：在IE6及以下版本，父级元素宽度高度为奇数时，子级元素绝对定位于(right:0;bottom:0;)，会出现往内偏移1px的错误。<a target="_blank" href="http://blog.gulu77.com/demo/200911/position_demo5.html">Demo5</a><br />
		<a target="_blank" href="http://blog.gulu77.com/demo/200911/position_demo5.html"><img src="http://blog.gulu77.com/demo/200911/position_demo5.png"></a></p>
<p>分析：其真正原因还得问IE6的开发者了。但从例子中可以观察到左上角的子级元素显示正常，其原因为“盒子”拉伸扩展为上至下左至右，估计于此以至靠左边或顶部的位置不会发生移动的变化。</p>
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.gulu77.com/?feed=rss2&amp;p=609</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>border:none;与border:0;的区别</title>
		<link>http://blog.gulu77.com/?p=614</link>
		<comments>http://blog.gulu77.com/?p=614#comments</comments>
		<pubDate>Fri, 20 Nov 2009 05:11:48 +0000</pubDate>
		<dc:creator>Gulu77</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[border]]></category>

		<guid isPermaLink="false">http://blog.gulu77.com/?p=614</guid>
		<description><![CDATA[这问题在网络相信已经有不少人问到，最近再次被牵起讨论，籍此记录一下个人的理解，borderl:none;与border:0;的区别体现有两点：一是理论上的性能差异二是浏览器兼容性的差异。]]></description>
			<content:encoded><![CDATA[<p>这问题在网络相信已经有不少人问到，最近再次被牵起讨论，籍此记录一下个人的理解，border:none;与border:0;的区别体现有两点：一是理论上的性能差异二是浏览器兼容性的差异。</p>
<p><span id="more-614"></span></p>
<ol>
<li>
		<strong>性能差异</strong></p>
<p>【border:0;】把border设为“0”像素虽然在页面上看不见，但按border默认值理解，浏览器依然对border-width/border-color进行了渲染，即已经占用了内存值。</p>
<p>【border:none;】把border设为“none”即没有，浏览器解析“none”时将不作出渲染动作，即不会消耗内存值。</p>
</li>
<li>
		<strong>兼容性差异</strong></p>
<p>兼容性差异只针对浏览器IE6、IE7与标签button、input而言，在win、win7、vista 的XP主题下均会出现此情况。</p>
<p>
			【border:none;】当border为“none”时似乎对IE6/7无效边框依然存在，如下例<a target="_blank" href="http://blog.gulu77.com/demo/200911/border_demo1.html">Demo1</a>：<br/><br />
			<a target="_blank" href="http://blog.gulu77.com/demo/200911/border_demo1.html"><img src="http://blog.gulu77.com/demo/200911/border_demo1.png" alt="Demo1" /></a>
		</p>
<p>
			【border:0;】当border为“0”时，感觉比“none”更有效，所有浏览器都一致把边框隐藏，如下例<a target="_blank" href="http://blog.gulu77.com/demo/200911/border_demo2.html">Demo2</a>：<br/><br />
			<a target="_blank" href="http://blog.gulu77.com/demo/200911/border_demo2.html"><img src="http://blog.gulu77.com/demo/200911/border_demo2.png" alt="Demo2" /></a>
		</p>
</li>
</ol>
<p><strong>总结：</strong></p>
<ol>
<li>
<p>对比border:0;与border:none;之间的区别在于有渲染和没渲染，感觉他们和display:none;与visibility:hidden;的关系类似，而对于border属性的渲染性能对比暂时没找测试的方法，虽然认为他们存在渲染性能上的差异但也只能说是理论上。</p>
</li>
<li>
<p>如何让border:none;实现全兼容？只需要在同一选择符上添加背景属性即可，如下例<a target="_blank" href="http://blog.gulu77.com/demo/200911/border_demo3.html">Demo3</a>：</p>
<p><br/><br />
		<a target="_blank" href="http://blog.gulu77.com/demo/200911/border_demo3.html"><img src="http://blog.gulu77.com/demo/200911/border_demo3.png" alt="demo3" /></a>
	</li>
</ol>
<p>对于border:0;与border:none;个人更向于使用,border:none;，因为border:none;毕竟在性能消耗没有争议，而且兼容性可用背景属性解决不足以成为障碍。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gulu77.com/?feed=rss2&amp;p=614</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>IE6中隐形的PNG8图片</title>
		<link>http://blog.gulu77.com/?p=619</link>
		<comments>http://blog.gulu77.com/?p=619#comments</comments>
		<pubDate>Fri, 20 Nov 2009 05:10:07 +0000</pubDate>
		<dc:creator>Gulu77</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[png]]></category>

		<guid isPermaLink="false">http://blog.gulu77.com/?p=619</guid>
		<description><![CDATA[在项目中遇到一情况让困扰了半天，同一张PNG8图片为何部份图标在IE6中消失呢？当时一度怀疑是cache或hosts问题反反复复开关浏览器结果依然无效，连番测试终于找到了原因。
问题在于PNG8图片本身，以下l例子模拟了当时情况，当使用IE6来浏览的会发现第二行的4个图标隐形了。Demo

原来下面的4个图标被调了90%的&#8221;Alpha透明度&#8221;（FW在导出PNG8的时能保留“Alpha透明度”PS则做不了这一点）。

而被Alpha半透明的图标在一般浏览软件或FF、Chrome、Safari、Opera、IE7以上浏览器都可以正常浏览，唯独是IE6。
其实也有办法让IE6支持PNG8的&#8221;Alpha透明度&#8221;，方法与PNG32的IE滤镜一样。Demo
从来上面结果得知原来是 png8“Alpha透明度”闯的祸。而且这次PNG8不同于png32的是，不支持png半透明的浏览器(如ie6)会自动降级到全透明(像gif那样)，而不是像png32那样会有一个灰色的背景。
]]></description>
			<content:encoded><![CDATA[<p>在项目中遇到一情况让困扰了半天，同一张PNG8图片为何部份图标在IE6中消失呢？当时一度怀疑是cache或hosts问题反反复复开关浏览器结果依然无效，连番测试终于找到了原因。</p>
<p>问题在于PNG8图片本身，以下l例子模拟了当时情况，当使用IE6来浏览的会发现第二行的4个图标隐形了。<a href="http://blog.gulu77.com/demo/200911/png8_alpha.html" target="_blank">Demo</a><span id="more-619"></span></p>
<p><a href="http://blog.gulu77.com/demo/200911/png8_alpha.html" target="_blank"><img title="Alpha透明图片" src="http://blog.gulu77.com/demo/200911/png8_ie6.png" alt="" /></a></p>
<p>原来下面的4个图标被调了90%的&#8221;Alpha透明度&#8221;（FW在导出PNG8的时能保留“Alpha透明度”PS则做不了这一点）。</p>
<p><img title="Alpha透明图片" src="http://blog.gulu77.com/demo/200911/png8_test.png" alt="" /></p>
<p>而被Alpha半透明的图标在一般浏览软件或FF、Chrome、Safari、Opera、IE7以上浏览器都可以正常浏览，唯独是IE6。</p>
<p>其实也有办法让IE6支持PNG8的&#8221;Alpha透明度&#8221;，方法与PNG32的IE滤镜一样。<a href="http://blog.gulu77.com/demo/200911/png8_filter.html" target="_blank">Demo</a></p>
<p>从来上面结果得知原来是 png8“Alpha透明度”闯的祸。而且这次PNG8不同于png32的是，不支持png半透明的浏览器(如ie6)会自动降级到全透明(像gif那样)，而不是像png32那样会有一个灰色的背景。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gulu77.com/?feed=rss2&amp;p=619</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>改善IE6中a与a:hover的背景支持</title>
		<link>http://blog.gulu77.com/?p=628</link>
		<comments>http://blog.gulu77.com/?p=628#comments</comments>
		<pubDate>Thu, 19 Nov 2009 11:25:19 +0000</pubDate>
		<dc:creator>Gulu77</dc:creator>
				<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[background]]></category>

		<guid isPermaLink="false">http://blog.gulu77.com/?p=628</guid>
		<description><![CDATA[在IE6中背景属性加a与a:hover两者的伪类结合，在正常逻辑下为何不起作用？测试这问题存在IE6及以下浏览器，这问题我经常遇到在之前一直采用其它方法取而代之，现在找到了另一种解决。
以导航为例，下面的代码完全符合CSS的逻辑，理论上应该是&#8221;a:hove的背景图片&#8221;结合&#8221;a.nav_1的背景定位&#8221; 而得出预想的结果，但IE6却异常地只显示背景图片而没有对上背景坐标Demo（请使用IE6与IE6以上浏览器作对比）。
*{margin:0;padding:0;}
	.header{ position:relative; width:745px; height:225px; background:url(bg.jpg) no-repeat;}
	/*导航*/
	#nav p{ position:absolute; left:0; bottom:0; width:100%;}
	#nav a{float:left;height:44px;overflow:hidden;line-height:200px;font-size:0;}
	#nav a:hover{background:url(bg.jpg) no-repeat 0 0;}
	/*导航经过状态: IE6及以下浏览器不兼容，其它浏览器正常*/
	#nav a.nav_1{width:80px;background-position:0 -213px;}
	#nav a.nav_2{width:86px;background-position:-80px -213px;}
	#nav a.nav_3{width:227px;background-position:-166px -213px;}
	#nav a.nav_4{width:92px;background-position:-393px -213px;}
	#nav a.nav_5{width:98px;background-position:-485px -213px;}
	#nav a.nav_6{width:162px;background-position:-583px -213px;}

之前我使用的解决方案是，再经过状态添加对应的选择符。这方法感觉代码显得比较臃肿，而对于代码洁癖的我是比较难接受的Demo。
/*导航经过状态: 之前的解决方案*/
	#nav a.nav_1:hover,
	#nav a.nav_1{width:90px;background-position:0 -211px;}
	#nav a.nav_2:hover,
	#nav a.nav_2{width:86px;background-position:-80px -213px;}
	#nav a.nav_3:hover,
	#nav a.nav_3{width:227px;background-position:-166px -213px;}
	#nav a.nav_4:hover,
	#nav a.nav_4{width:92px;background-position:-393px -213px;}
	#nav a.nav_5:hover,
	#nav a.nav_5{width:98px;background-position:-485px -213px;}
	#nav a.nav_6:hover,
	#nav a.nav_6{width:162px;background-position:-583px -213px;}

理论上&#8221;a.nav_1&#8243;选择符比&#8221;a:hover&#8221;要高，但我尝试添加!important时测试发现IE6却显示正常Demo。
而测试其它浏览器也无副作用，这次似乎与haslayout无关了，但其产生原因与结果也却让人百思不得其解 
/*导航经过状态： 现在的解决方案*/
	#nav a.nav_1{width:80px;background-position:0 -211px!important;}
	#nav a.nav_2{width:86px;background-position:-80px -213px!important;}
	#nav [...]]]></description>
			<content:encoded><![CDATA[<p>在IE6中背景属性加a与a:hover两者的伪类结合，在正常逻辑下为何不起作用？测试这问题存在IE6及以下浏览器，这问题我经常遇到在之前一直采用其它方法取而代之，现在找到了另一种解决。</p>
<p>以导航为例，下面的代码完全符合CSS的逻辑，理论上应该是&#8221;a:hove的背景图片&#8221;结合&#8221;a.nav_1的背景定位&#8221; 而得出预想的结果，但IE6却异常地只显示背景图片而没有对上背景坐标<a target="_blank" href="http://blog.gulu77.com/demo/200911/pseudo_classes_background_demo1.html">Demo</a>（请使用IE6与IE6以上浏览器作对比）。</p>
<p><span id="more-628"></span><code>*{margin:0;padding:0;}<br />
	.header{ position:relative; width:745px; height:225px; background:url(bg.jpg) no-repeat;}<br />
	/*导航*/<br />
	#nav p{ position:absolute; left:0; bottom:0; width:100%;}<br />
	#nav a{float:left;height:44px;overflow:hidden;line-height:200px;font-size:0;}<br />
	#nav a:hover{background:url(bg.jpg) no-repeat 0 0;}<br />
	/*导航经过状态: IE6及以下浏览器不兼容，其它浏览器正常*/<br />
	#nav a.nav_1{width:80px;background-position:0 -213px;}<br />
	#nav a.nav_2{width:86px;background-position:-80px -213px;}<br />
	#nav a.nav_3{width:227px;background-position:-166px -213px;}<br />
	#nav a.nav_4{width:92px;background-position:-393px -213px;}<br />
	#nav a.nav_5{width:98px;background-position:-485px -213px;}<br />
	#nav a.nav_6{width:162px;background-position:-583px -213px;}<br />
</code></p>
<p>之前我使用的解决方案是，再经过状态添加对应的选择符。这方法感觉代码显得比较臃肿，而对于代码洁癖的我是比较难接受的<a target="_blank" href="http://blog.gulu77.com/demo/200911/pseudo_classes_background_demo2.html">Demo</a>。</p>
<p><code>/*导航经过状态: 之前的解决方案*/<br />
	#nav a.nav_1:hover,<br />
	#nav a.nav_1{width:90px;background-position:0 -211px;}<br />
	#nav a.nav_2:hover,<br />
	#nav a.nav_2{width:86px;background-position:-80px -213px;}<br />
	#nav a.nav_3:hover,<br />
	#nav a.nav_3{width:227px;background-position:-166px -213px;}<br />
	#nav a.nav_4:hover,<br />
	#nav a.nav_4{width:92px;background-position:-393px -213px;}<br />
	#nav a.nav_5:hover,<br />
	#nav a.nav_5{width:98px;background-position:-485px -213px;}<br />
	#nav a.nav_6:hover,<br />
	#nav a.nav_6{width:162px;background-position:-583px -213px;}<br />
</code></p>
<p>理论上&#8221;a.nav_1&#8243;选择符比&#8221;a:hover&#8221;要高，但我尝试添加!important时测试发现IE6却显示正常<a target="_blank" href="http://blog.gulu77.com/demo/200911/pseudo_classes_background_demo3.html">Demo</a>。<br/><br />
而测试其它浏览器也无副作用，这次似乎与haslayout无关了，但其产生原因与结果也却让人百思不得其解 </p>
<p><code>/*导航经过状态： 现在的解决方案*/<br />
	#nav a.nav_1{width:80px;background-position:0 -211px!important;}<br />
	#nav a.nav_2{width:86px;background-position:-80px -213px!important;}<br />
	#nav a.nav_3{width:227px;background-position:-166px -213px!important;}<br />
	#nav a.nav_4{width:92px;background-position:-393px -213px!important;}<br />
	#nav a.nav_5{width:98px;background-position:-485px -213px!important;}<br />
	#nav a.nav_6{width:162px;background-position:-514px -213px!important;}<br />
</code></p>
<p><a href="http://99css.com" target="_blank">ytzong</a> 提供的解决方法很不错赞～, 看来不使用背景缩写还是有它的好处。IE6在背景相加的逻辑上的确是有问题，同样测试过border属性则不存在这问题<a target="_blank" href="http://blog.gulu77.com/demo/200911/pseudo_classes_background_demo4.html">Demo</a>。</p>
<p><code>*{margin:0;padding:0;}<br />
	.header{ position:relative; width:745px; height:225px; background:url(bg.jpg) no-repeat;}<br />
	/*导航*/<br />
	#nav p{ position:absolute; left:0; top:180px; width:100%;}<br />
	#nav p a{float:left;height:44px;overflow:hidden;line-height:200px;font-size:0;}<br />
	#nav p a:hover{background-image:url(bg.jpg); background-repeat:no-repeat;}<br />
	/*导航经过状态: IE6及以下浏览器不兼容，其它浏览器正常*/<br />
	#nav p a.nav_1{width:80px;background-position:0 -213px;}<br />
	#nav p a.nav_2{width:86px;background-position:-80px -213px;}<br />
	#nav p a.nav_3{width:227px;background-position:-166px -213px;}<br />
	#nav p a.nav_4{width:92px;background-position:-393px -213px;}<br />
	#nav p a.nav_5{width:98px;background-position:-485px -213px;}<br />
	#nav p a.nav_6{width:162px;background-position:-583px -213px;}<br />
</code></p>
<p>不知道还没有更好的方法呢～</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gulu77.com/?feed=rss2&amp;p=628</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>您今天就可以使用HTML5</title>
		<link>http://blog.gulu77.com/?p=578</link>
		<comments>http://blog.gulu77.com/?p=578#comments</comments>
		<pubDate>Tue, 25 Aug 2009 14:26:16 +0000</pubDate>
		<dc:creator>Gulu77</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://blog.gulu77.com/?p=578</guid>
		<description><![CDATA[HTML5预计是在2022年发布，但我认为它距离我们并不是那么遥远，因为在html5gallery就例举了大量正在使用HTML5的站点，当然包括本人BLOG在内。关于HTML5不得不提IE，在苹果、Google、Opera和Mozilla等主流浏览器厂商积极参与新版本HTML标准的制定和推广时，微软却对HTML 5规范不屑一顾。然而微软近期才表态要在IE中支持HTML 5，以致到今天为止的IE8及以下是无法支持HTML5标签的。但在sitepoint找到了让IE支持HTML5办法。

以下是在的IE 8显示的例子,未作处理前：

让IE(包括IE6)支持HTML5元素，我们需要在HTML头部添加以下JavaScript，这是一个简单的document.createElement声明，利用条件注释针对IE在对象中创建对应的节点。
&#60;!--[if IE]&#62;
&#60;script&#62;
document.createElement("header");
document.createElement("footer");
document.createElement("nav");
document.createElement("article");
document.createElement("section");
&#60;/script&#62;
&#60;![endif]--&#62;
添加以上代码后，在IE8中显示的效果如下：

sitepoint例子中创建节点的JavaScript代码似乎过于臃肿，在smashingmagazine提供的代码似乎更简洁。
Demo：http://blog.gulu77.com/demo/200908/html5_demo3.html
&#60;!--[if IE]&#62;
&#60;script&#62;
(function(){if(!/*@cc_on!@*/0)return;var e = "header,footer,nav,article,section".split(','),i=e.length;while(i--){document.createElement(e[i])}})()
&#60;/script&#62;
&#60;![endif]--&#62;
HTML5在默认情况下表现为内联元素，对这些元素进行布局我们需要利用CSS手工把它们转为块状元素，如下例：
header, footer, nav, section, article {
display:block;
}
]]></description>
			<content:encoded><![CDATA[<p>HTML5预计是在2022年发布，但我认为它距离我们并不是那么遥远，因为在<a href="http://html5gallery.com/" target="_blank">html5gallery</a>就例举了大量正在使用HTML5的站点，当然包括本人<a href="http://blog.gulu77.com">BLOG</a>在内。关于HTML5不得不提IE，在苹果、Google、Opera和Mozilla等主流浏览器厂商积极参与新版本HTML标准的制定和推广时，微软却对HTML 5规范不屑一顾。然而微软近期才表态要在IE中支持HTML 5，以致到今天为止的IE8及以下是无法支持HTML5标签的。但在<a href="http://www.sitepoint.com/article/html-5-snapshot-2009/" target="_blank">sitepoint</a>找到了让IE支持HTML5办法。<br />
<span id="more-578"></span><br />
以下是在的IE 8显示的例子,未作处理前：<br />
<a target="_blank" href="http://blog.gulu77.com/demo/200908/html5_demo1.html"><img alt="在IE 8显示的例子,未作处理前" src="http://blog.gulu77.com/demo/200908/html5_demo1.png"/></a><br />
让IE(包括IE6)支持HTML5元素，我们需要在HTML头部添加以下JavaScript，这是一个简单的document.createElement声明，利用条件注释针对IE在对象中创建对应的节点。</p>
<pre><code>&lt;!--[if IE]&gt;
&lt;script&gt;
document.createElement("header");
document.createElement("footer");
document.createElement("nav");
document.createElement("article");
document.createElement("section");
&lt;/script&gt;
&lt;![endif]--&gt;</code></pre>
<p>添加以上代码后，在IE8中显示的效果如下：<br />
<a target="_blank" href="http://blog.gulu77.com/demo/200908/html5_demo2.html"><img alt="在IE 8显示的例子,处理后" src="http://blog.gulu77.com/demo/200908/html5_demo2.png"/></a></p>
<p>sitepoint例子中创建节点的JavaScript代码似乎过于臃肿，在<a href="http://media2.smashingmagazine.com/wp-content/uploads/images/smashing-html5/files/index.html">smashingmagazine</a>提供的代码似乎更简洁。<br />
Demo：<a target="_blank" href="http://blog.gulu77.com/demo/200908/html5_demo3.html">http://blog.gulu77.com/demo/200908/html5_demo3.html</a></p>
<pre><code>&lt;!--[if IE]&gt;
&lt;script&gt;
(function(){if(!/*@cc_on!@*/0)return;var e = "header,footer,nav,article,section".split(','),i=e.length;while(i--){document.createElement(e[i])}})()
&lt;/script&gt;
&lt;![endif]--&gt;</code></pre>
<p>HTML5在默认情况下表现为内联元素，对这些元素进行布局我们需要利用CSS手工把它们转为块状元素，如下例：</p>
<pre><code>header, footer, nav, section, article {
display:block;
}</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.gulu77.com/?feed=rss2&amp;p=578</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>浮动引起的文本重影</title>
		<link>http://blog.gulu77.com/?p=524</link>
		<comments>http://blog.gulu77.com/?p=524#comments</comments>
		<pubDate>Thu, 13 Aug 2009 13:42:28 +0000</pubDate>
		<dc:creator>Gulu77</dc:creator>
				<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[float]]></category>
		<category><![CDATA[IE6]]></category>

		<guid isPermaLink="false">http://blog.gulu77.com/?p=524</guid>
		<description><![CDATA[在做项目开发时遇到了一个怪异现象“整段内容被重影”的问题，一般来说这类问题在IE6中表现的比较多，但这次出人意料的是IE7也殃及在内。在早前互联网上就有分享过使用HTML注释会引起类似的文字倒影问题，但此时的页面却是没有任何注释～，持续地测试分析问题变得越来越有趣了]]></description>
			<content:encoded><![CDATA[<p>在做项目开发时遇到了一个怪异现象“整段内容被重影”的问题，一般来说这类问题在IE6中表现的比较多，但这次出人意料的是IE7也殃及在内。在早前互联网上就有分享过使用HTML注释会引起类似的文字倒影问题，但此时的页面却是没有任何注释～，持续地测试分析问题变得越来越有趣了&#8230;</p>
<p><span id="more-524"></span></p>
<p>测试结果为当不适当地使用float:left/right; width:100%; display:none;CSS属性值及相应的HTML结构做组合，会引发在IE中的七种怪异问题，此问题在中文及英文字体均会出现。详细如下例：</p>
<p>
<strong>阅读约定：</strong><br />
cont1是指：&lt;p class=&#8221;cont1&#8243;&gt;ABCDEFG&lt;/p&gt;<br />
cont2是指：&lt;p class=&#8221;cont2&#8243;&gt;1234567&lt;/p&gt;
</p>
<h3>一、相等长度的文本消失</h3>
<p>在IE6中，cont1与cont2字符长度相同时，文本会消失，且容易引起浏览器IE6崩溃。<br/><br />
但改变浏览器窗口尺寸时内容会再次显示。</p>
<p>注意：测试了IE Collection的：6.0.2900.5512.xpsp_sp2_qfe.090206-1239IC版本出现此问题</p>
<p>DEMO：<a href="http://blog.gulu77.com/demo/200908/float/a1.html" target="_blank">http://blog.gulu77.com/demo/200908/float/a1.html</a></p>
<p><img alt="相等长度的文本消失" src="http://blog.gulu77.com/demo/200908/float/a1.png"/><br />
<br/></p>
<h3>二、当浏览器宽度少于内容宽度文本会消失</h3>
<p>在IE6中，当浏览器宽度少于内容宽度文本会消失，且容易引起浏览器崩溃。<br />
但改变浏览器窗口尺寸时内容会再次显示。</p>
<p>注意：测试了IE Collection的：6.0.2900.5512.xpsp_sp2_qfe.090206-1239IC版本出现此问题</p>
<p>DEMO：<a href="http://blog.gulu77.com/demo/200908/float/a2.html" target="_blank">http://blog.gulu77.com/demo/200908/float/a2.html</a></p>
<p><img src="http://blog.gulu77.com/demo/200908/float/a2.png"/><br />
<br/></p>
<h3>三、相等长度文本重影</h3>
<p>在IE6中，cont2比cont1多出一个字符时，内容会被重映为相等长度的文本，且容易引起浏览器IE6崩溃。</p>
<p>DEMO：<a href="http://blog.gulu77.com/demo/200908/float/b1.html" target="_blank">http://blog.gulu77.com/demo/200908/float/b1.html</a></p>
<p><img alt="相等长度文本重影" src="http://blog.gulu77.com/demo/200908/float/b1.png"/><br />
<br/></p>
<h3>四、当浏览器宽度少于内容宽度文本会重影</h3>
<p>在IE6中，cont2比cont1多出一个字符时,且浏览器宽度拉伸至小于内容宽度文本会完全重影。<br/><br />
此问题与第三个对比在于一个不需要拉伸，一个需要拉伸。</p>
<p>DEMO：<a href="http://blog.gulu77.com/demo/200908/float/b2.html" target="_blank">http://blog.gulu77.com/demo/200908/float/b2.html</a></p>
<p><img alt="当浏览器宽度少于内容宽度文本会重影" src="http://blog.gulu77.com/demo/200908/float/b2.png"/><br />
<br/></p>
<h3>五、文本的倒序重影</h3>
<p>在IE6中，cont2比cont1多出两个字符或以上时文本会被倒序重影，且容易引起浏览器IE6崩溃。</p>
<p>规律为:<strong>重影字符数 = cont1的字符数 + 1个字符数</strong></p>
<p>DEMO：<a href="http://blog.gulu77.com/demo/200908/float/c1.html" target="_blank">http://blog.gulu77.com/demo/200908/float/c1.html</a></p>
<p><img alt="文本的倒序重影" src="http://blog.gulu77.com/demo/200908/float/c1.png"/><br />
<br/></p>
<h3>六、内联元素引起的文本重影</h3>
<p>在IE6中，浮动元素之间有不含内容的内联元素的标签（指内联标签或CSS模拟的内联标签）后会引起文本重影。</p>
<p>规律为:<strong>重影字符数 = 内联元素数量 * 2字符数 &#8211; 1个字符数</strong></p>
<p>DEMO：<a href="http://blog.gulu77.com/demo/200908/float/d1.html" target="_blank">http://blog.gulu77.com/demo/200908/float/d1.html</a></p>
<p><img alt="内联元素引起的文本重影" src="http://blog.gulu77.com/demo/200908/float/d1.png"/><br />
<br/></p>
<h3>七、内联元素引起的IE6/7文本重影与消失</h3>
<p>与第六的《内联元素引起的文本重影》类似，但在cont2后面添加了一个内联元素后会导致IE7也出现重影BUG。<br/>而内联元素相加超出cont2字符数时，IE7表现正常，IE6则表现为消失。</p>
<p>规律为:<strong>重影字符数 = &lt;span&gt;数量 * 2字符数 &#8211; 1个字符数</strong></p>
<p>DEMO：<a href="http://blog.gulu77.com/demo/200908/float/e1.html" target="_blank">http://blog.gulu77.com/demo/200908/float/e1.html</a></p>
<p><img alt="内联元素引起的IE6/7文本重影与消失" src="http://blog.gulu77.com/demo/200908/float/e1.png"/></p>
<p>而内联元素相加超出cont2字符数时，IE7表现正常，IE6则表现为消失。</p>
<p>注意：测试了IE Collection的：6.0.2900.5512.xpsp_sp2_qfe.090206-1239IC版本出现此问题</p>
<p>规律为:<strong>重影字符数 = &lt;span&gt;数量 * 2字符数 &#8211; 1个字符数</strong></p>
<p>DEMO：<a href="http://blog.gulu77.com/demo/200908/float/e2.html" target="_blank">http://blog.gulu77.com/demo/200908/float/e2.html</a></p>
<p><img alt="内联元素引起的IE6/7文本重影与消失" src="http://blog.gulu77.com/demo/200908/float/e2.png"/><br />
<br/></p>
<p>感激<a href="http://blog.12km.com/" target="_blank">Mr.Q  </a> 提供的解决方法，很不错～ 给有问题的元素加上position:relative能一一对应解决问题。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gulu77.com/?feed=rss2&amp;p=524</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>浏览器的更新</title>
		<link>http://blog.gulu77.com/?p=496</link>
		<comments>http://blog.gulu77.com/?p=496#comments</comments>
		<pubDate>Wed, 29 Jul 2009 14:43:52 +0000</pubDate>
		<dc:creator>Gulu77</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[Browser]]></category>

		<guid isPermaLink="false">http://blog.gulu77.com/?p=496</guid>
		<description><![CDATA[今天很高兴的得知，腾讯Qzong Blog已开始使用了CSS3，并已在alpha发布中。CSS3.0特性首次应用到海量服务中，用户使用更高版本的浏览器将会有更好的性能及视觉体验。作为国内第一个用CSS3.0的大型站点为推动浏览器更新踏出了极具意义的一步。]]></description>
			<content:encoded><![CDATA[<p>很高兴今天收到的信息，腾讯<a target="_blank" href="http://qzone.qq.com/">Qzong Blog</a>已开始使用了CSS3，并已在alpha发布中。这将是CSS3.0特性将首次应用到海量服务中，用户使用更高版本的浏览器将会有更好的性能及视觉体验。作为国内第一个应用CSS3.0的大型站点为推动浏览器更新踏出了极具意义的伟大一步！具体应用了在那些方面先买个关子下回分解&#8230;</p>
<p><span id="more-496"></span></p>
<p>得知这信息让我想起在08年Web Rebuild聚会上分享的一篇文章《推进浏览器的更新》，当时并没有找到更好的借口让企业花更多的成本实现非牟利的想法，以至刻录在硬盘中迟迟没有发出。而更没有预想到的是Qzone实现了这想法，并不排除会逐渐应用到各业务中，这是个好消息哈~ ！我无论是作为开发者或用户的身份我都极力支持这行为，也希望有更多的网站能仿效！</p>
<h3>以下为《推动浏览器的更新》的部份内容：</h3>
<p>（不太相关的部分省略500字哈~）</p>
<p>近年来，互联网日益普及随时代变迁信息技术飞速发展，各浏览器频频更新，衍生出多种版本，甚至还没来得急普及就已经有更新的版本出现!我们熟悉的WEB开发语言，在大概10年的时间里有着不同程度的更新，现在已出现CSS3.0、HTML5.0、XHTML2.0，而新版本的语言只有新版本的浏览器所以支持。</p>
<p>浏览器及开发语言的快速更新，并非所有用户能紧贴跟随。因此导致用户对浏览器版本使用不集中，开发人员不得不考虑各浏览器新旧版本的兼容性，从而放弃新开发语言的应用。</p>
<h3>为何推动浏览器更新</h3>
<ol>
<li>如果我们能让用户更快地更新浏览器，从而收缩浏览器版本的跨越性，能减少对浏览器新旧版本处理时间。</li>
<li>新的WEB标准语言及规则难以普及应用，归根于新版本浏览器用户占有量少，大部分用户使用的浏览器版本低，无法解析新的WEB语言，从而新技术难以推广应用。</li>
<li><strong>用户角度：</strong>经过不断更新优化的新版本浏览器，将减少浏览器对系统资源的占用率，安全性更高，浏览器运行更稳定，从而减少外来的阻碍因素，让用户能顺利的浏览器你的网站。</li>
<li><strong>开发者角度：</strong>在开发当中不断地为IE6做出兼容性处理，无疑增加了开发者的工作量，增加了开发成本。新版浏览器迟迟未能普及无疑是拖慢了WEB技术的发展步伐。</p>
</li>
</ol>
<p>我们一直，把所有浏览器呈现一至的界面效果给用户，无论他在使用IE5或FF3。对于使用高版本浏览器的用户感到不公平，为何使用高版本的浏览器却得不到应有的体验，升级的意义何在？ </p>
<h3>如何推动浏览器更新</h3>
<p>对用户而言，他们需要一个升级理由，在无损页面性能、视觉效果、网站的可用性情况下，为更高级版本的浏览器提供更好的支持发挥应有的特点。培养我们的用户尝试让他们了解使用更高版本的浏览器会有更好的综合体验。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gulu77.com/?feed=rss2&amp;p=496</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>升级您的Internet Explorer 6</title>
		<link>http://blog.gulu77.com/?p=379</link>
		<comments>http://blog.gulu77.com/?p=379#comments</comments>
		<pubDate>Sun, 22 Feb 2009 16:59:37 +0000</pubDate>
		<dc:creator>Gulu77</dc:creator>
				<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[Browser]]></category>

		<guid isPermaLink="false">http://blog.gulu77.com/?p=379</guid>
		<description><![CDATA[随时代变迁信息技术飞速发展，各浏览器频繁更新已衍生出多种版本。而Internet Explorer 6 sp1发布距离至今已经有7年时间了相对于人类70年的寿命，对新版本语言支持已经显得力不从心了。]]></description>
			<content:encoded><![CDATA[<p>随时代变迁信息技术飞速发展，各浏览器频繁更新已衍生出多种版本。而Internet Explorer 6 sp1发布距离至今已经有7年时间了相对于人类70年的寿命，对新版本语言支持已经显得力不从心了。<span id="more-379"></span></p>
<h3>根源：</h3>
<ol>
<li>IE6存在的安全漏洞已成为黑客恶意攻击的目标，导致现时流氓软件的迅速发展。 </li>
<li>相对于IE8在执行效率中IE6明显的要逊色，而且对开发语言的兼容性差经常会遇到浏览器崩溃。</li>
<li>在开发当中不断地为IE6做出兼容性处理，无疑增加了开发者的工作量，增加了开发成本。</li>
<li>对升级语言无法解析，为呈现效果一致性新版本浏览器迫不得已向IE6对齐因此抑制了W3C标准的推广。</li>
</ol>
<p>Internet Explorer 6为何还能在市场上立足，最终也归于在用户市场的占有较高的比率，导致Internet Explorer 6迟迟未能退役。作为一名从事互联网的职业的人员，无论从来用户体验、开发者或企业的角度，希望您能带动起浏览器的更新热潮。</p>
<h3>参与方式：</h3>
<p>鉴于此请支浏览器的更新，在您博客中插入推广代码后当用户使用Internet Explorer 6 或更旧版本访问你博客时，浏览器会弹出一次带开关的 更新浏览器版本提示层。如下图：</p>
<p><img title="升级您的Internet Explorer 6推广事例" src="http://www.webrebuild.org/images/browser_upgrade.png" alt="" /></p>
<p><strong>推广代码：</strong></p>
<p>默认样式<br />
<code>&lt;!--[if lte IE 6]&gt;<br />
&lt;script type="text/javascript" src="http://www.webrebuild.org/webrebuild_api.js"&gt;&lt;/script&gt;<br />
&lt;![endif]--&gt;</code></p>
<p>自定义样式<br />
<code>&lt;!--[if lte IE 6]&gt;<br />
&lt;script type="text/javascript" src="http://www.webrebuild.org/webrebuild_api_definition.js"&gt;&lt;/script&gt;<br />
&lt;![endif]--&gt;</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gulu77.com/?feed=rss2&amp;p=379</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>IE6局部调用PNG32合并图片</title>
		<link>http://blog.gulu77.com/?p=325</link>
		<comments>http://blog.gulu77.com/?p=325#comments</comments>
		<pubDate>Sat, 17 Jan 2009 11:14:38 +0000</pubDate>
		<dc:creator>Gulu77</dc:creator>
				<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[img]]></category>

		<guid isPermaLink="false">http://blog.gulu77.com/?p=325</guid>
		<description><![CDATA[为满足用户的视觉追求及产品的背景图片的换肤功能，设计师难免在设计上会用到半透明的效果。因此页面重构师基于视觉及产品的需要，采用了PNG32的半透明图片还原设计稿。]]></description>
			<content:encoded><![CDATA[<p>为满足用户的视觉追求及产品的背景图片的换肤功能，设计师难免在设计上会用到半透明的效果。因此页面重构师基于视觉及产品的需要，采用了PNG32的半透明图片还原设计稿。<br />
<span id="more-325"></span><br />
但在IE6中遇到png兼容性，及其延伸的种种问题。如：</p>
<ol>
<li>png32的图片上在IE6有兼容性问题，原本的透明显示的背景将会失效。</li>
<li>在问题1的基础上，针对IE6采用了CSS滤镜让其透明，但图片不能应用背景坐标定位的方式只能单张使用，这做法不利于带宽流量和请求链接数之余也不利样式的管理</li>
<li>在问题2的基础上，意味着要把png图片单张切割，并单张应用CSS滤镜</li>
</ol>
<p><strong>针对以上问题重构师的解决办法如下：</strong></p>
<p>把背景图片如常的合并，利用相似于背景坐标的方式调用局部图片位置。最大区别在于分别定义了两个无意义的标签。</p>
<ul>
<li>一个标签作为模拟背景的<strong>载体标签</strong>：定义一个作为载体的标签，针对IE6以滤镜的形式导入图片，宽高与背景一致。</li>
<li>另一个标签作为截取背景局部位置的<strong>截取标签</strong>：定义此标签宽高与预想调用背景局部位置大小一致，并隐藏其溢出的部份。</li>
<li>最后计算出预想调用背景局部位置的坐标，定义在载体标签中。</li>
</ul>
<p><strong>HTML结构如下：</strong><br />
<code>&lt;div title="截取"&gt;<br />
&lt;div title="载体"&gt;&lt;/div&gt;<br />
&lt;/div&gt;<br />
</code><br />
为了清晰的体现HTML结构，给标签添加了title属性，加以说明。本文实例：<span style="text-decoration: underline;"><a href="http://webteam.tencent.com/wp-content/uploads/2009/1/demo_462_001.html"><span style="color: #000000;">DEMO</span></a></span></p>
<p><strong>实现步骤(分3步)：</strong></p>
<ol>
<li>载体标签：定义一个作为载体的标签，针对IE6以滤镜的形式导入图片，宽高与背景一致。<br />
(注意：滤镜图片路径相对于页面，而不是CSS的位置) <br />
<code>&lt;div title="载体" style="width:440px;height:440px; _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='bg.png');"&gt;&lt;/div&gt;</code><br />
<img src="http://webteam.tencent.com/wp-content/uploads/2009/1/462_001.jpg" alt="步骤一,背景宽高示意图" /></li>
<li>截取标签：定义此标签宽高与预想调用背景局部位置大小一致，并隐藏其溢出的部份。<br />
<code>&lt;div title="截取" style=" overflow:hidden; width:120px; height:120px;"&gt;&lt;/div&gt;</code><br />
<img src="http://webteam.tencent.com/wp-content/uploads/2009/1/462_002.jpg" alt="步骤二,背景宽高示意图" /></li>
<li>最后计算出预想调用背景局部位置的坐标，定义在载体标签中。<br />
(背景局部位置坐标的调整可用margin或position控制。下面以”I”为例) <br/><strong>margin</strong><br />
<code>&lt;div title="载体" style="margin:-80px 0 0 -120px;width:440px;height:440px; _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='bg.png');"&gt;&lt;/div&gt;</code><br />
<strong>position</strong><br />
<code>&lt;div title="载体" style="position:absloute;top:-80px;left:120px;width:440px;height:440px; _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='bg.png');"&gt;&lt;/div&gt;</code><br />
<img src="http://webteam.tencent.com/wp-content/uploads/2009/1/462_003.jpg" alt="步骤三,图片局部坐标示意图" /></li>
</ol>
<p><strong>完成后的代码</strong><br />
<code>&lt;div title="截取" style="width:120px;height:120px;overflow:hidden;"&gt;<br />
&lt;div title="载体" style="margin:-80px 0 0 -140px;width:440px;height:440px; _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='bg.png');"&gt;&lt;/div&gt;&lt;/div&gt;</code><br />
在FF与IE7等浏览器处理方式与IE6一致，在这问题曾经做过考虑是真的要为了IE6而IE6吗？因为其它高版本浏览器都支持png32以上图片，大可用正常的方式导入背景及调用坐标。但考虑到最终目的及其可维护性，因而不去做高版本浏览器的常规处理方式。<br />
本文转载自:<a href="http://webteam.tencent.com/?p=462">ISD Webteam</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gulu77.com/?feed=rss2&amp;p=325</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>浏览器对居中的背景图片的兼容性</title>
		<link>http://blog.gulu77.com/?p=257</link>
		<comments>http://blog.gulu77.com/?p=257#comments</comments>
		<pubDate>Thu, 20 Nov 2008 04:41:15 +0000</pubDate>
		<dc:creator>Gulu77</dc:creator>
				<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[兼容性]]></category>

		<guid isPermaLink="false">http://blog.gulu77.com/?p=257</guid>
		<description><![CDATA[在IE5.5至IE7 、Safari、chrome中,当浏览器窗口少于内容宽度时，居中的背景图片转向以body左对齐。而在Opera及FF中,居中的背景图片依然以缩小的窗口宽度居中对齐，当浏览器窗口宽度少于内容宽度时，拖动横行滚动条就能察觉到页面内容与背景会有错位的现象。]]></description>
			<content:encoded><![CDATA[<p>在IE5.5至IE7 、Safari、chrome中,当浏览器窗口少于内容宽度时，居中的背景图片转向以body左对齐。而在Opera及FF中,居中的背景图片依然以缩小的窗口宽度居中对齐，当浏览器窗口宽度少于内容宽度时，拖动横行滚动条就能察觉到页面内容与背景会有错位的现象。<a href="http://blog.gulu77.com/demo/200811/A1_Demo.html">A1_Demo</a></p>
<p><span id="more-257"></span></p>
<p>从测试结果得知Opera及FF中的,浏览器窗口宽度少于内容宽度时,内容块以body 左对齐。这里有一个突破点是在于把body转变为具有内容板块的特性。</p>
<p><P>按照CSS的解析，个人认为在Opera及FF中所显示的为正确效果,在IE5.5至IE7 、Safari、chrome中否则为错误的解析。但错误的解析正是我们所需要的，因为此能避免有内容与背景会有错位的现象。</P></p>
<h3>解决方案</h3>
<p>下面方案针对Opera及FF,目的令背景图片向body左对齐</p>
<ol>
<li>为&lt;body&gt;定义display:table;及width:100%;属性。<a href="http://blog.gulu77.com/demo/200811/A2_Demo.html">A2_Demo</a></li>
<li>为&lt;body&gt;定义display:inline-table;及width:100%;属性。<a href="http://blog.gulu77.com/demo/200811/A3_Demo.html">A3_Demo</a></li>
</ol>
<h3>两种的方案缺点</h3>
<ol>
<li>body根据页面内容高度而撑高，当内容不足一屏幕高度时，body将来不显示余下高度的背景。<a href="http://blog.gulu77.com/demo/200811/A4_Demo.html">A4_Demo</a>
<p>为此需要给&lt;html&gt;及&lt;body&gt;定义height:100%;属性值,来解决问题。<a href="http://blog.gulu77.com/demo/200811/A5_Demo.html">A5_Demo</a></p>
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.gulu77.com/?feed=rss2&amp;p=257</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>缩小窗口&lt;body&gt;背景被裁掉</title>
		<link>http://blog.gulu77.com/?p=253</link>
		<comments>http://blog.gulu77.com/?p=253#comments</comments>
		<pubDate>Thu, 20 Nov 2008 04:37:59 +0000</pubDate>
		<dc:creator>Gulu77</dc:creator>
				<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[兼容性]]></category>

		<guid isPermaLink="false">http://blog.gulu77.com/?p=253</guid>
		<description><![CDATA[此现状出现在IE7、FF、Opera、Chrome、Safari中，当浏览器窗口少于内容，拖动窗口横向滚动条时能发现定义在<>&#60;body&#62;的背景会被裁掉，似乎&#60;body&#62;背景只计算了当前窗口的宽度。引起这问题的主要原因是在<html>中定义了背景。在IE6不存在此问题。]]></description>
			<content:encoded><![CDATA[<p>此现状出现在IE7、FF、Opera、Chrome、Safari中，当浏览器窗口少于内容，拖动窗口横向滚动条时能发现定义在<>&lt;body&gt;的背景会被裁掉，似乎&lt;body&gt;背景只计算了当前窗口的宽度。引起这问题的主要原因是在<html>中定义了背景。在IE6不存在此问题。<a href="http://blog.gulu77.com/demo/200811/B1_Demo.html">B1_Demo</a></P><span id="more-253"></span></p>
<h3>解决方案</h3>
<ol>
<li>删除&lt;html&gt;定义的背景(指背景颜色及图片,建议使用)<a href="http://blog.gulu77.com/demo/200811/B2_Demo.html">B2_Demo</a></li>
<li>为&lt;body&gt;定义display:table;及width:100%;属性。<a href="http://blog.gulu77.com/demo/200811/B3_Demo.html">B3_Demo</a></li>
<li>为&lt;body&gt;定义display:inline-table及width:100%属性。<a href="http://blog.gulu77.com/demo/200811/B4_Demo.html">B4_Demo</a></li>
</ol>
<h3>第2跟第3的方案缺点</h3>
<ol>
<li>在IE7中此问题暂时无法解决，因为IE7不支持display:table;属性值</li>
<li>&lt;body&gt;定义display:table;属性值后，页面根据内容高度而撑高，当内容不足一屏幕高度时，body将来不显示余下高度的背景。<a href="http://blog.gulu77.com/demo/200811/A4_Demo.html">A4_Demo</a>
<p>为此需要给&lt;html&gt;及&lt;body&gt;定义height:100%;属性值。<a href="http://blog.gulu77.com/demo/200811/A5_Demo.html">A5_Demo</a></p>
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.gulu77.com/?feed=rss2&amp;p=253</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>页面元素的背景及boder被裁掉</title>
		<link>http://blog.gulu77.com/?p=248</link>
		<comments>http://blog.gulu77.com/?p=248#comments</comments>
		<pubDate>Thu, 20 Nov 2008 04:24:04 +0000</pubDate>
		<dc:creator>Gulu77</dc:creator>
				<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[兼容性]]></category>

		<guid isPermaLink="false">http://blog.gulu77.com/?p=248</guid>
		<description><![CDATA[在IE5~IE8、FF、Opera、Chrome、Safari中当浏览器窗口少于内容宽度,拖动横向滚动条会发现页面元素的背景及boder被裁掉，主要原因是body子级元素定义了100%宽度或是承继父及的100%宽度（即没有定义宽度）。]]></description>
			<content:encoded><![CDATA[<p>在IE5~IE8、FF、Opera、Chrome、Safari中当浏览器窗口少于内容宽度,拖动横向滚动条会发现页面元素的背景及boder被裁掉，主要原因是body子级元素定义了100%宽度或是承继父及的100%宽度（即没有定义宽度）。<a href="http://blog.gulu77.com/demo/200811/C1_Demo.html">C1_Demo</a></p>
<p><span id="more-248"></span></p>
<h3>解决方案</h3>
<ol>
<li>为&lt;body&gt;定义display:table;及width:100%;属性值。<a href="http://blog.gulu77.com/demo/200811/C2_Demo.html">C2_Demo</a></li>
<li>为&lt;body&gt;定义display:inline-table;及width:100%;属性值。<a href="http://blog.gulu77.com/demo/200811/C3_Demo.html">C3_Demo</a></li>
<li>此方案针对IE6,建议在被应用或承继100%宽度的元素内,定义一个固定宽度的元素。<a href="http://blog.gulu77.com/demo/200811/C4_Demo.html">C4_Demo</a></li>
</ol>
<h3>第1第2两种的方案缺点</h3>
<ul>
<li>在IE5~IE7中此问题暂时无法解决，因为IE5~IE7不支持display:table;属性值</li>
<li>body根据页面内容高度而撑高，当内容不足一屏幕高度时，body将来不显示余下高度的背景。<a href="http://blog.gulu77.com/demo/200811/DemoA4.html">A4_Demo</a>
<p>为此需要给&lt;html&gt;及&lt;body&gt;定义height:100%;属性值。<a href="http://blog.gulu77.com/demo/200811/DemoA5.html">A5_Demo</a></p>
</li>
</ul>
<h3>总结</h3>
<p>第3种方案只针对IE6,其它浏览器或版本不生效,所以要结合第1或第2种方案来解决兼容性问题。<a href="http://blog.gulu77.com/demo/200811/C5_Demo.html">C5_Demo</a><br/>而在IE7中暂时无法解决。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gulu77.com/?feed=rss2&amp;p=248</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>缩少窗口&lt;img/&gt;被裁掉</title>
		<link>http://blog.gulu77.com/?p=243</link>
		<comments>http://blog.gulu77.com/?p=243#comments</comments>
		<pubDate>Thu, 20 Nov 2008 04:20:14 +0000</pubDate>
		<dc:creator>Gulu77</dc:creator>
				<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[兼容性]]></category>

		<guid isPermaLink="false">http://blog.gulu77.com/?p=243</guid>
		<description><![CDATA[在IE7、IE8、FF、Opera、Chrome、Safari中当浏览器窗口少于&#60;img/&#62;宽度时,拖动横向滚动条会发现&#60;img/&#62;被裁掉，主要原因是&#60;img/&#62;父级元素定义了overflow:hidden;属性值。IE6中不存在此问题。]]></description>
			<content:encoded><![CDATA[<p>在IE7、IE8、FF、Opera、Chrome、Safari中当浏览器窗口少于&lt;img/&gt;宽度时,拖动横向滚动条会发现&lt;img/&gt;被裁掉，主要原因是&lt;img/&gt;父级元素定义了overflow:hidden;属性值。IE6中不存在此问题。<a href="http://blog.gulu77.com/demo/200811/D1_Demo.html">D1_Demo</a></p>
<p><span id="more-243"></span></p>
<h3>解决方案</h3>
<ol>
<li>删除定义在&lt;img/&gt;父级的overflow:hidden;属性值<a href="http://blog.gulu77.com/demo/200811/D2_Demo.html">D2_Demo</a></li>
<li>在&lt;img&gt;父级定义与其相同的宽度。<a href="http://blog.gulu77.com/demo/200811/D3_Demo.html">D3_Demo</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.gulu77.com/?feed=rss2&amp;p=243</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS Sprites图片切割术与图片优化</title>
		<link>http://blog.gulu77.com/?p=44</link>
		<comments>http://blog.gulu77.com/?p=44#comments</comments>
		<pubDate>Tue, 23 Sep 2008 09:16:12 +0000</pubDate>
		<dc:creator>Gulu77</dc:creator>
				<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[img]]></category>
		<category><![CDATA[优化]]></category>

		<guid isPermaLink="false">http://blog.gulu77.com/?p=44</guid>
		<description><![CDATA[关于CSS Sprites技术的优化我们能做到多少，能减多少的请求数量。这并且不是单方面能做到的，一切取决于XHTML、CSS、CSS Sprites图片之间的配合。现时为止没有绝对优化的做法，这也是我在项目中经常衡量CSS Sprites图片与XHTML关系，如:《一张背景实现自适应九宫格》，以下总结了图片切割术与图象优化的一些方法。]]></description>
			<content:encoded><![CDATA[<p>关于CSS Sprites技术的优化我们能做到多少，能减多少的请求数量。这并且不是单方面能做到的，一切取决于XHTML、CSS、CSS Sprites图片之间的配合。现时为止没有绝对优化的做法，这也是我在项目中经常衡量CSS Sprites图片与XHTML关系，如:《<a href="http://blog.gulu77.com/?p=101">一张背景实现自适应九宫格</a>》，以下总结了图片切割术与图象优化的一些方法。</p>
<p><span id="more-44"></span></p>
<h3>图片优化</h3>
<ol>
<li>对于非动画的GIF更建议使用PNG8因为它同样能做到一样的效果，而且能为你节省10%-30%的文件体积。</li>
<li>Photoshop相比起Fireworks，导出同等质量的PNG图片，体积会稍大。而Fireworks虽然做了相应压缩优化，但还没达到最优秀的压缩。</li>
<li>我所知的设计软件，对于PNG图片的处理都没做到最优秀的压缩，图片体积还有一定的压缩空间。可以尝试使用下面介绍的&#8221;图像优化工具&#8221; 做无失真的二次压缩。</li>
<li>图片体积及尺寸方面，建议体积保持在100K以内(较为符合国情最佳请求SIZE)，size为800px(最佳尺寸)。(从某权威人事中得知，具体无从考证)</li>
</ol>
<h3>CSS Sprites图片切割术</h3>
<ol>
<li>CSS Sprites图片顺序合图片由上至下、左至右添加。而background-position一般采用数字组合形式定位，这样能减少维护带来的不必要麻烦。</li>
<li>不建议CSS Sprites图片中保持一定的间距，因为文件size增大而增加文件体积。</li>
<li>CSS Sprites图片中把颜色较近或相同的组合在一起可以降低颜色数，因为少色数的图片文件体积会相对的小。</li>
<li>size相同的CSS Sprites图片中留有较大空隙，某程度上多数情况会增大了体积，所以CSS Sprites的图片不要有空隙。<a href="http://blog.gulu77.com/demo/200809/4.html">Demo</a></li>
<li>在size相同的CSS Sprites图片中，垂直排列的图片会比水平排列的文件体积要大。<a href="http://blog.gulu77.com/demo/200809/5.html">Demo</a></li>
<li>在CSS Sprites图片中，水平排列的图片会比垂直排列的文件体积要大。<a href="http://blog.gulu77.com/demo/200809/6.html">Demo</a></li>
<li>图片对等合并：应用CSS Sprites图片时，适当地把对等相同的图像合并，以节省空间及减少体积。<a href="http://blog.gulu77.com/demo/200809/7.html">Demo</a></li>
<li>区分开不需要合并的图像：如当前用户确定只显示一种状态或一个级别时，不必要把其他的级别或状态的图片合并。</li>
<li>黄金切割位：在CSS Sprites图片的最右或左边为最灵活动位置最适宜摆放文本前的icon，因此不会受到其它CSS Sprites图片干预，也不需要预留一定的行宽。</li>
</ol>
<h3>相关的图像优化工具</h3>
<p>网上流传的优化工具繁多常见的如：<br />
<a href="http://www.imagemagick.cn/">ImageMagick</a>、<a href="http://www.numbera.com/software/">PNGGauntlet</a>、<a href="http://pmt.sourceforge.net/pngcrush/">pngcrush</a>、<a href="http://www.pobox.com/~jason1/pngrewrite/">pngrewrite</a>、<a href="http://optipng.sourceforge.net/">Optipng</a>、<a href="http://advsys.net/ken/utils.htm">PNGOut</a>等。</p>
<p>我喜欢使用<a href="http://advsys.net/ken/utils.htm">PNGOut</a>，安装使用也非常简单，有30天的免费试用版，下载地址<a href="http://www.ardfry.com/pngoutwin/">www.ardfry.com/pngoutwin/</a><br />
PNGOUTWin：是PNG优化器，创造更小的图象文件和加速您的网站，更好地减少带宽的流量及费用的开销。您能转换和压缩TIFF、GIF、BMP和其他格式的PNG，或者优化您现有的PNG文件。</p>
<h5>以下是安装及使用的一些载图</h5>
<p><img src="http://blog.gulu77.com/demo/200809/PNGOut/1.png" alt="" /><img src="http://blog.gulu77.com/demo/200809/PNGOut/2.png" alt="" /><img src="http://blog.gulu77.com/demo/200809/PNGOut/3.png" alt="" /></p>
<p><em>以上内容为个人总结，不排除有错漏</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gulu77.com/?feed=rss2&amp;p=44</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>IE6支持PNG透明(alpha通道)的4种方法</title>
		<link>http://blog.gulu77.com/?p=147</link>
		<comments>http://blog.gulu77.com/?p=147#comments</comments>
		<pubDate>Mon, 08 Sep 2008 14:36:38 +0000</pubDate>
		<dc:creator>Gulu77</dc:creator>
				<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[IE6]]></category>
		<category><![CDATA[png]]></category>

		<guid isPermaLink="false">http://blog.gulu77.com/?p=147</guid>
		<description><![CDATA[想特别说明一下，IE6与生俱来就支持png8的索引色透明度，但不支持png的 alpha 透明度。而我们一直要解决的是让IE6支持PNG的 alpha 透明度。下面我收集整理了4种方法，但都是以滤镜、Js、css 等作为基础模拟还原效果，虽然没有真正的解决alpha透明度问题，但也总算解决了燃眉之急。]]></description>
			<content:encoded><![CDATA[<p>想特别说明一下，IE6是支持PNG二进透明的（即要么全透明，要么不透明），但不支持png的 alpha 透明度（即半透明）。而我们一直要解决的是让IE6支持PNG8或PNG32的 alpha 透明度问题。下面我收集整理了4种方法，但都是以滤镜、Js、css 等作为基础模拟还原效果，虽然没有真正的解决alpha透明度问题，但也总算解决了燃眉之急。</p>
<p><span id="more-147"></span></p>
<ul>
<li>
<h4>IE6支持PNG二进透明:</h4>
<p>IE6是支持PNG二进透明的（即要么全透明，要么不透明），但不支持png的 alpha 透明度（即半透明）。而我们一直要解决的是让IE6支持PNG8或PNG32的 alpha 透明度问题。而对于非动画的GIF建议你使用PNG8，因为体积会更小<br/><br />
测试实例：<a href="http://blog.gulu77.com/demo/200809/test_IE6png8/">http://blog.gulu77.com/demo/200809/test_IE6png8/</a></p>
</li>
</ul>
<ol>
<li>
<h4>AlphaImageLoader 筛选器</h4>
<ul>
<li> 使用简介：在每个标签样式中插入 filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=&#8217;image.png&#8217;, sizingMethod=&#8217;scale&#8217;)</li>
<li>官方原文：http://support.microsoft.com/kb/294714/zh-cn <a href="http://support.microsoft.com/kb/294714/zh-cn">go</a></li>
<li>测试实例：<a href="http://blog.gulu77.com/demo/200809/test_AlphaImageLoader/">http://blog.gulu77.com/demo/200809/test_AlphaImageLoader/</a></li>
</ul>
</li>
<li>
<h4>PNG Transparency in IE</h4>
<ul>
<li>使用简介：相对来说比较简洁，使用一段包含滤镜的JavaScript 就可以模拟图片或背景 PNG alpha 透明度。</li>
<li>官方原文：http://codingforums.com/archive/index.php?t-80555.html <a href="http://codingforums.com/archive/index.php?t-80555.html">go</a></li>
<li>测试实例：<a href="http://blog.gulu77.com/demo/200809/test_PNGTransparncyinIE/">http://blog.gulu77.com/demo/200809/test_PNGTransparncyinIE/</a></li>
</ul>
</li>
<li>
<h4>IE PNG Fix v1.0 / 2.0 Alpha 2</h4>
<ul>
<li>使用简介：页面标签使用behavior:url(&#8221;iepngfix.htc&#8221;);来调用外部包含js、css的iepngfix.htc文件來修正PNG alpha 透明度。</li>
<li>官方原文：http://www.twinhelix.com/css/iepngfix/ <a href="http://www.twinhelix.com/css/iepngfix/">go</a></li>
<li>测试实例：<a href="http://blog.gulu77.com/demo/200809/test_iepngfix/">http://blog.gulu77.com/demo/200809/test_iepngfix/</a></li>
</ul>
</li>
<li>
<h4>IE7/IE8 JavaScript library</h4>
<ul>
<li>使用简介：ie7/ie8-js是一个解决IE与W3C标准的冲突的JS库，使微软的IE的行为像一个Web标准兼容的浏览器，支持更多的W3C标准。</li>
<li>官方原文：http://code.google.com/p/ie7-js/ <a href="http://code.google.com/p/ie7-js/">go</a></li>
<li>测试实例：<a href="http://blog.gulu77.com/demo/200809/test_ie7-js/">http://blog.gulu77.com/demo/200809/test_ie7-js/</a></li>
</ul>
</li>
<li>
<h4>Image Optimization, Part 5: AlphaImageLoader</h4>
<ul>
<li>使用简介：以XML标签作为额外的载体在IE中实现真彩色的PNG透明图片，它能解决： alpha 透明度、 性能和背景重复问题。</li>
<li>官方原文：http://www.yuiblog.com/blog/2008/12/08/imageopt-5/ <a href="http://www.yuiblog.com/blog/2008/12/08/imageopt-5/">go</a></li>
<li>测试实例1_优化前：<a href="http://gulu77.com/AlphaImageLoaderTest/untitled1.html">http://gulu77.com/AlphaImageLoaderTest/untitled1.html</a></li>
<li>测试实例2_优化后：<a href="http://gulu77.com/AlphaImageLoaderTest/untitled2.html">http://gulu77.com/AlphaImageLoaderTest/untitled2.html</a></li>
</ul>
</li>
<p><strong>全部实例打包下载：</strong><a href="http://blog.gulu77.com/demo/200809/test_png.rar">http://blog.gulu77.com/demo/200809/test_png.rar</a></p>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.gulu77.com/?feed=rss2&amp;p=147</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Firebug检查层的位置偏移</title>
		<link>http://blog.gulu77.com/?p=130</link>
		<comments>http://blog.gulu77.com/?p=130#comments</comments>
		<pubDate>Mon, 25 Aug 2008 15:12:46 +0000</pubDate>
		<dc:creator>Gulu77</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://blog.gulu77.com/?p=130</guid>
		<description><![CDATA[这不算是浏览器的错误,也不算是CSS的错误,应该是Firebug的错误。在使用Firefox/2.0.0.16版本及安装Firebug1.05时，遭遇Firebug检查层的位置偏移的问题。]]></description>
			<content:encoded><![CDATA[<p>这不算是浏览器的错误,也不算是CSS的错误,应该是Firebug的错误。在使用Firefox/2.0.0.16版本及安装Firebug1.05时，遭遇Firebug检查层的位置偏移的问题。</p>
<p><span id="more-130"></span></p>
<p> 引起这问题原因是，在同一个选择符中同时应用了 border 跟 overflow : auto | hidden | scroll  而产生，注意Firebug检查层位置偏移问题并不会影响内容的样式表现。这只是等于或低于Firebug1.05的BUG，Firebug1.05以上版本已修复此问题（这意味着你要使用FF3）。</p>
<p>demo:<a href="http://blog.gulu77.com/demo/200808/firebug.html">http://blog.gulu77.com/demo/200808/firebug.html</a><br />
<a href="http://blog.gulu77.com/demo/200808/firebug.html"><br />
<img src="http://blog.gulu77.com/demo/200808/firebug.png" alt="Firebug检查层的位置偏移"/><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gulu77.com/?feed=rss2&amp;p=130</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
