2010-03
18

爱浮不爱浮的li

By xrspook @ 22:22:19 归类于: 烂日记

昨天的网页杯具终于被万恶给搞定了!他老人家道出了一个真理——<li>里面的块元素(如<span>)只要开始float就要float到底,无论里面有多少个,一定要全部float掉,否则就会出现莫名其妙的分行,然后在<li>那里设定“clear:both”来清浮。

但如果<li>里面有纯文字有<span>呢?文字也要弄个<span>括住,然后float掉?万恶说应该不用,但事实是残酷的。以下是我的测试代码:

<html>
<head>
<style type=”text/css”>
body{
background-color:#000000;
color:#ffffff;
}
#abc{
width:500px;
line-height:1.2em;
padding:20px 0 0 0;
margin:0;
}
a:link{
color:#00ff00;
}
a:visited{
color:#00ff00;
}
a:hover{
color:#00ff00;
}
ul{
list-style:none;
padding:0;
margin:0;
}
li{
clear:both;
list-style:none;
padding:0;
margin:0;
}
.left{
float:left;
padding:0 30px 0 10px;
background-color:#ff0000;
}
.right{
float:right;
background-color:#0000ff;
}
</style>
</head>
<body>
<div id=”abc”>
<ul>
<li>一个杯具,IE8、FF、Chrome正常,IE7、Opera不正常——囧</li>
<li><span>1111</span>2222<span><a href=”#”>3333</a></span></li>
<li><span>1111</span>2222<span><a href=”#”>3333</a></span></li>
<li><span>1111</span>2222<span><a href=”#”>3333</a></span></li>
<li><span>1111</span>2222<span><a href=”#”>3333</a></span></li>
<li><span>1111</span>2222<span><a href=”#”>3333</a></span></li>
<li><span>1111</span>2222<span><a href=”#”>3333</a></span></li>
</ul>
<br/><br/>
<ul>
<li>原来正解是li中的东西只要一开始float就要全部float,否则……这般全float后,IE、Firefox,Chrome,Opera都正常了</li>
<li><span>aaaa</span><span>bbbb</span><span><a href=”#”>cccc</a></span></li>
<li><span>aaaa</span><span>bbbb</span><span><a href=”#”>cccc</a></span></li>
<li><span>aaaa</span><span>bbbb</span><span><a href=”#”>cccc</a></span></li>
<li><span>aaaa</span><span>bbbb</span><span><a href=”#”>cccc</a></span></li>
<li><span>aaaa</span><span>bbbb</span><span><a href=”#”>cccc</a></span></li>
<li><span>aaaa</span><span>bbbb</span><span><a href=”#”>cccc</a></span></li>
</ul>
<br/><br/>
</div>
</body>
</html>

图就不贴了,因为我只有IE8(可以用兼容模式看到IE7的效果)、Firefox、Google Chrome、Opera,更高更低等级的IE都没有,Safari也没装,所以,欢迎大家猛击这里看各自的浏览器中的效果:floatli.html

老天啊,每次都被li搞得鸡毛鸭血~~~~

2010-03
17

囧事不断

By xrspook @ 22:39:00 归类于: 烂日记

修改了一个下午+一个晚上的前台网页,最后发现经典的IE怪异现象又出现了!那个鬼东西明明在我修整代码之前已经解决,但修整后又出来鸟,囧得没话说。

QQ所有用户名都不见了(被我手动修改过的除外),只剩下Q号和经典的企鹅头像。于是,搞不清谁是谁,世间还有比这更囧的事么?

问了一大通G老师,然后发觉IE习惯性、真理性是万恶之源,新增一个版本变一次规矩,于是当你想把网页弄得适合多个版本IE的时候一切变得异常的困难。记得刚开始设计前台的时候觉得Firefox是黑手,IE里弄好的东西一到FF就成垃圾了,但现在,经过那么多年以后,泪流满面啊~~~~

还需要更多更多的时间去琢磨到底哪里的问题,老天啊,太折磨人啦!

2010-03
10

IE8 还行

By xrspook @ 22:42:00 归类于: 烂日记

原来我是一个前台和后台都颇感兴趣的人,当然啦,前台知道得多一点。当javascript需要用一大段代码,中文英文都用上才能解决在页面显示一个当前时间的时候,php一行就搞定,如果说javascript是前台处理的话,php用的是后台服务器,能不快么。就等于到一个餐厅,人家给你准备好吃的了,还是买冷冻食品回家,还得加工才能入口。

IE6寿终正寝,用的是IE7,无聊的时候拿X领地去测速,惊讶地发现同样的网络,同样的服务器,IE8要比IE7优秀很多。以下是两个测试报告的图(点击得报告,IE8左,IE7右):

100309_5TVS   100309_5TVZ

整体载入时间IE8只需3.415s,而IE7要5.801s;start render IE8是2.377s,IE7是3.998s。有眼睛的都能发现IE8的并行能力实在是强,特别经过我的精心处理后,效果非常明显,最高峰的时候竟然是10线程同时下(即单域名5线程)!而可怜的IE7呢?通常最高是4线程(即单域名2线程)。不得不说,如果IE8真自动突破IE从前可怜的单线程限制的话,无论是网页浏览还是下载速度都将发生惊天动地的变化。

于是,第一时间,下个IE8,装了。

IE801

IE802

IE8让我有眼前一亮的感觉。终于把源代码用我们熟悉的代码方式显示了,谢天谢地啊!增加了个开发员工具的东西,感觉是Firebug和Web Developer的合体。多年以来网页前台我都是用Firefox加插件测试,现在终于有了基于IE的测试工具,而且还是官方的,更令人惊喜的是里面居然有用标准IE7或IE8测试的选项。福音啊,总算有机会摆脱怪异的IE效果了。

抛弃IE浏览器多年,总算看到一个稍微有点水平的作品,但肯定啦,我的首选仍是FF,或者Google Chrome又或者Opera,IE永远是最后不得已的选择对象。如果不是IE6那个了,我也不会无聊到更新IE,微软的杯具啊。

有兴趣的童鞋,也试玩一下微软新一代的浏览器吧。

2010-03
9

第一个自制wp theme

By xrspook @ 22:44:24 归类于: 烂日记

脱机的日子里靠着xampp单机折腾出人生的第一个wp theme!!!Am I kidding?我也希望,但我真做到了!!!!!

首先是研究相关主题的代码,然后集百家之所长,基础代码来自wp的class模板,那个模板非常简洁,只有7个php文件!!!索引页、文章页和单页用同一个index.php控制!经典就是强。没有修改它的function模板,function模板是一个很深奥的东西,不敢碰。它的function模板里只有一个函数“register_sidebar”,这个模板有widget功能,但我没用到,sidebar是自己写的代码,其实也非常简单<?php wp_list_categories(‘title_li=0’); ?>我只想在那里显示分类,折腾了好久不知道怎么把那个该死的“未分类”隐藏掉,原来就是在括号里来句’title_li=0’就行了,内牛满面~~~~ 虽然目的达到了,但仍不知道自己干了些什么。

其实为什么能在一天之内完成一个theme呢?全赖之前已经花了不知多少个晚上把单位基于table的网站改成基于div的,于是把.css的东西往style.css一贴,再把早就定位好的div搬到各自的模板,放置上合适的<?php?>,不就是一个theme么?以前同事说之所以用asp而不用php做网站首先是因为他不熟php,接着,asp的网站能用DW编辑,显然,如果写php想用DW……如果可以的话请告诉我一声,我都是用代码写的,还有个重要原因,因为那个模板是他“借”回来的……

看来我要把先进的blog编辑器WordPress引入果起了!让大家都用上wp,独立+自由+强大,我们是时候抛弃非IE不可的小东西了。几天前,米果的朋友为IE6举行了葬礼,但我这里还有N多人在用已经被老爸老妈兄弟姐妹抛弃且已经归西了的IE6。把先进传递开去,xrspook的重大使命啊~~~

其实呢,还有一个貌似很神奇,但可以通过一个php实现的非flash的东东还没开始弄。

努力吧,加油吧,神奇小盆友!!!

2010-03
7

要并行还是要cookieless

By xrspook @ 19:23:51 归类于: 扮IT

优化wp,一个困扰我一个多星期的话题。

其中有一个方法就是用cookieless的域名来放置静态的内容。于是就有了个叫“图床”的词语出现,图床啥意思?请看Kangzj解释。图床是建立在一个cookieless域名下的东西,顾名思义是用来放“图”的,但也用来放.css,.js等静态文件,由于域名是cookieless的,所以在传递过程中无需做无谓的小饼干来往,因此加快速度。如何为网站(尤指wp搭建的窝)建立cookieless的图床呢?详见:

cookieless真能提速,尤其是反应速度。但blog里全部图都放到某个cookieless的地方就是最快?不才的xrspook在折腾cookieless的时候经常借助http://www.webpagetest.org/测试X领地,不经意发现了个天知地知但xrspook不曾知道的东西——浏览器的并行下载!减少DNS查询是网站提速的又一重点,多个hostname就要求进行多次DNS查询,但如果不多,就2个呢?呵呵,这就是我要说的重点。

话说在建立了cookieless域名后,xrspook把所有静态图片都搬到了那里,毕竟那只是ftp的无聊操作而已。但接下来要把所有的图片都重新更改链接可不是开玩笑的,很懒的xrspook就只把一些图片的网址改了过来,先看看效果,惊讶地让xrspook首次看到了不同hostname的并行下载!很是厉害,普通的测速图里进度条都是成阶梯式分布的,上一个要进行到一定程度下一个才开始,所以,如果你的页面有很多很多的图片等非单纯文字的东西,那就杯具了,鉴于X领地模板的“美观性”,这里有不少的图片(简称CSSIMG)。(咋的?你没看到?圆角的都是图片,谁叫浏览器还不能广泛接纳CSS3啊,还有很多按钮底图什么的)而由于个人兴趣的需要,在sidebar加入了个叫做“鬼在这里”的文本widget(简称LOGO),不用多说,里面的也是静态图片。懒人我最开始的时候只是把LOGO的链接改过来了,CSSIMG的没改,做了测速,发现了并行法则,(见下,左图)。

并行很牛,但我的CSSIMG还没改呢,兴冲冲地把所有CSSIMG的网址也都改了,期待完美减少cookie的历史时刻。好不容易借着Firefox的页面高亮查找把CSSIMG都改好了,做个测速。(见上,右图)

(点击图片得详细测速报告)

我的天!图片半cookieless(即并非所有静态图片都放在cookieless域名)的时候,载入时间是4.654s,而全cookieless的时候载入时间却需要5.425s,差了接近0.8s,但后者的start rander(这个是什么?就是Firefox出现“载入中”或者Google Chrome“进度条逆时针转动”的时间)比前者快0.107s,归根到底就是First Byte那里快出的0.107s,是不是不传递某些小饼干的优势呢?到底是什么造成这个严重的0.8s差距呢?聪明的你或许发现了,在测速的前期,两者差距很小,但后期大量(接近15个)静态图片传递时,优势就很明显呢。前一个的阶梯“很陡”,后一个的阶梯“很缓”,在载入的这个问题上,我喜欢阶梯很陡,垂直的更好。显然,图片半cookieless时做出的hostname并行下载优势在X领地强于全cookieless的无小饼干交易。

事实胜于雄辩!

当Google和Yahoo的测速软件都告诉我们cookieless domain很好的时候,我们要相信,但不能尽信,毕竟问题得综合考虑。机器能告诉我们单项的完美解决办法,但适合自己的才是最完美的,而最适合的只有自己衡量后才能得出。

最后,X领地的提速效果是“并行>cookieless”,于是我选择把静态图片做成半静态的。

各位玩wp的朋友,什么形式的提速才最适合你们呢?实战一下吧!

PS小贴士:

在做cookieless图床的时候你或许还需要用到以下链接:

© 2004 - 2024 我的天 | Theme by xrspook | Power by WordPress