Warning: Creating default object from empty value in /www/wwwroot/sc35.com/blog/wp-content/plugins/paged-comments/paged-comments.php on line 31
Wang http://www.sc35.com/blog 生命最快乐时,就是与你分享时! Sat, 29 Mar 2014 13:22:08 +0000 zh-CN hourly 1 https://wordpress.org/?v=4.9.25 centos6.5安装vbox增强功能 http://www.sc35.com/blog/?p=201 http://www.sc35.com/blog/?p=201#respond Sat, 29 Mar 2014 13:22:08 +0000 http://sc35.com/blog/?p=201 更新内核:
# yum update kernel
升级完后必须重启系统,新的kernel才能被使用。

安装kernel-devel和gcc:
# yum install kernel-devel gcc gcc-c++

安装增强功能。

转载:http://my.oschina.net/VincentJiang/blog/142759

]]>
http://www.sc35.com/blog/?feed=rss2&p=201 0
关于本博客! http://www.sc35.com/blog/?p=190 http://www.sc35.com/blog/?p=190#comments Fri, 28 May 2010 16:24:05 +0000 http://%20%20%20%20%20%20%20有快一年没有写Blog了。也许是和人慢慢在变老的原因,不可能只是玩,另外我也不小了,今天已经是20有7。感谢那些还经常关注这个小博客的朋友,今天将和大家分享一个小程序,说实话WP太大而且繁杂,如果你是一个想学PHP开发的人,千万不要看WP的代码,会误导你的。strong%20%20%20%20%20总结一下这一年来都做了些什么吧,简短的整理一下:/strongblockquote2009年2月,辞去包装设计的工作,便自己去做户外广告业务,开小门面和自己的弟弟一起创业。2009年6月, 有快一年没有写Blog了。也许是和人慢慢在变老的原因,不可能只是玩,另外我也不小了,今天已经是20有7。
感谢那些还经常关注这个小博客的朋友,今天将和大家分享一个小程序,说实话WP太大而且繁杂,如果你是一个想学PHP开发的人,千万不要看WP的代码,会误导你的。
总结一下这一年来都做了些什么吧,简短的整理一下:

2009年2月,辞去包装设计的工作,便自己去做户外广告业务,开小门面和自己的弟弟一起创业。
2009年6月,和我弟弟不合闹翻了。我弟弟去打工去了,我自己支撑门市,那一刻我感觉离关门不远了。
2009年12月,正式将苦心经验的门市和设备转手给别人,届时亏掉2W块钱,忍痛割爱了。
2010年1月,重整旗鼓租铺面专业从事网站开发!
从2009年4月到2010年4月,一年的时间里网站开发的费用合计5万元左右,甚是欣慰。
目前正是铁心了在这个市场上立足,因为我已经没有别的选择了,有人说,男人一生只做一件事,希望和祝福,不求赚多少。只求一家平安,便足以。

在我们这个小城市,那点钱不足为奇,对于有钱的人来说,那点微乎其微,我只是感叹老天不曾忘记我,高兴的是通过那么多年的自学,那么多的年的努力终于通过这种方式赚到了钱,可以养家糊口。
最近也开发了一个微博,最近真是微博四起啊,确实如此。但是总还是希望数据在自己的手里,自己的东西想怎么折腾就这么折腾,那么接下来就晒晒样子:

访问地址:http://t.fvzone.com
下载地址:http://t.fvzone.com/front/online/down.fv

]]>
http://www.sc35.com/blog/?feed=rss2&p=190 3
男人30岁前必须做的事情 http://www.sc35.com/blog/?p=185 http://www.sc35.com/blog/?p=185#comments Mon, 22 Jun 2009 02:47:39 +0000 http://1、事业永远第一%20  虽然金钱不是万能的,但没有钱是万万不能的,虽然这句话很俗,但绝对有道理,所以30岁之前,请把你大部分精力放在你的事业上.%202、别把钱看得太重%20  不要抱怨自己现在工资低,银行存款4位数以下,看不到前途,现在要做的就是努力学习,即使你文凭再高,怎么把理论运用到实践还是需要一个很长的锻炼过程,社会永远是一所最博大的大学,它让你学到的知识远比你在学校学到的重要得多,所以同样,你也别太介意学历低.30岁之前靠自己能力买车买房的人还是极少.%20!--more--3、学会体谅父 1、事业永远第一
  虽然金钱不是万能的,但没有钱是万万不能的,虽然这句话很俗,但绝对有道理,所以30岁之前,请把你大部分精力放在你的事业上.
2、别把钱看得太重
  不要抱怨自己现在工资低,银行存款4位数以下,看不到前途,现在要做的就是努力学习,即使你文凭再高,怎么把理论运用到实践还是需要一个很长的锻炼过程,社会永远是一所最博大的大学,它让你学到的知识远比你在学校学到的重要得多,所以同样,你也别太介意学历低.30岁之前靠自己能力买车买房的人还是极少.
3、学会体谅父母
  别嫌他们唠叨,等你为人父了你就知道可怜天下父母心,在他们眼里你还是个孩子,但他们真的老了,现在得你哄他们开心了,也许只要你的一个电话,一点小礼物,就可以让他们安心,很容易做到.
4,交上好朋友
  朋友对你一生都影响重大,不要去结识太多酒肉朋友,至少得有一个能在关键时刻帮助你的朋友,如果遇到这么一个人,就好好把握,日后必定有用,不管他现在是富还是穷.
  5,别太相信爱情
  心中要有爱,但请别说也别相信那些琼瑶阿姨小说里面的山盟海誓,世上本无永恒,重要的是责任,但女人心海底针,心变了,一切都成枉然,你要做的就是该出手时就出手,该放手时别犹豫.30岁之前的爱情不是假的,但只是大多数人都没有能真正把握好的能力,所以学会量力而行.
  6,别担心至今还保留初吻
  爱情不在多而在精,别以为自己20多岁还没碰过女孩子就害怕自己永远找不到老婆.以后你会有很多机会认识女孩子,要知道这个社会虽然男人多于女人,但现实是女人其实比男人更担心这个问题.男人30一枝花,你在升值而不是贬值,成熟的爱情往往更美丽更长久,所以不要像疯狗一样看到女孩就想追,学会品味寂寞.
  7,不要沉迷于任何东西
  所谓玩物而丧志,网络游戏是你在出校门之前玩的,你现在没有多余的时间和精力花费到这上面,否则你透支的东西以后都得偿还.一个人要有兴趣,爱好,但请分清楚轻重.
  8,年轻没有失败
  不要遇到挫折就灰心,年轻人要时刻保持积极向上的态度.失败了,重来过;失去了,再争取别的。错过了,要分析,下次来,要把握;幼稚了,下次,成熟点。不要紧,会好的,哪怕到了极点,也不要放弃,相信一定可以挺过去。不要消极,会好的。曾经的错,过去了,总不能回味在过去。现在的,很好,累完了,很舒服。不要伤,总会有人在支撑你。
  9,不要轻易崇拜或者鄙视一个人
  人都有偶像,但请拥有你自己的个性.不要刻意去模仿一个人,因为你就是你,是唯一的,独一无二的,要有自信.也不要全盘否定一个人,每个人是有价值的,如果你不能理解他,也请学会接受.
  10,要有责任心.
  不管你曾经怎样,但请从现在开始做一个正直的人.男人要有责任心,无论是工作还是生活上,一个有责任心的人才能让别人有安全感,才能让别人觉得你是一个值得信赖的人.我们不要懦弱,但请不要伤害爱你的人和你爱的人,尤其是善良的女孩,因为这个世界善良的女孩不多了,即使不想拥有,但也请让她保持她美丽的心.
  11,男人的外貌并不重要.
  不要为自己的长相身高而过分担心,一个心地善良,为人正直的男人远比那些空有英俊相貌,挺拔身材但内心龌龊的男人要帅得多.如果有人以貌取人,请不要太在意,因为你不用去为一个低级趣味的人而难过.
  12,学会保护身体
  不要以为现在抽烟喝酒,熬夜通宵也没什么事.那是因为你的身体正处于你一生的黄金时段.30岁以后你就能明白力不从心这个词的意义了,身体是革命的本钱,没有好的身体什么也做不了,所以要尽量让自己过有规律的健康生活.
  13,别觉得一事无成.
  你现在还没有资格谈成功,当然如果你有千万资产的除外.一开始太固定的职业并不一定是好事,或许在不断的改行当中,你会学到更丰富的知识,而且可以挖掘出自己的潜能,找到最适合你的工作.
  14,请认真工作
  即使你现在的工作再怎么无聊再怎么低级,也请你认真去对待,要知道任何成功人士都是从最小的事做起,或许你现在学不到多么了不起的知识,但起码你要学会良好的工作态度和工作方法,这对以后很重要.
  15,请认真对待感情.
  不要羡慕那些换女人像换鞋一样的花花公子,逢场作戏的爱情只是让你浪费时间浪费精力,一个人最痛苦的不是找不到爱人,而是心中没有了爱,当你把我爱你3个字变成你最容易说的一句话时,那么你在爱情的世界里已经很难找到真正的幸福了.爱情没有公平,总有一个人比对方付出得多,即使没有结果,也别觉得不值,因为你的付出不光是为了她,也是为了你自己的爱,为爱付出是很可贵的,赞自己一下.
  16.请留一点童心
  在内心深处,哪怕只是一个很小的角落里,请保持一份童心,不是幼稚,但有的时候单纯一点会让你很快乐.所以不要太计较得失,生活本无完美.

转自:http://blog.chinaunix.net/u/14696/showart.php?id=153398

]]>
http://www.sc35.com/blog/?feed=rss2&p=185 1
最近的动向 http://www.sc35.com/blog/?p=182 http://www.sc35.com/blog/?p=182#comments Sat, 15 Nov 2008 01:20:12 +0000 http://好久没有写blog了,可能很多网友都对我生疏了,确实是这样的,因为我很少出现在网络上。今天主要想说说之前提到的Utter%20log,我自己写的小blog,暂停开发了,原因是接了几个对于我来说比较棘手的活。第一个是开发销售系统,这个其实对于我来说很难了,不过正在努力的进行着,也从这次开发中学到很多东西。对PHP操作Excel有了更深入的了解,当然,如果你也需要这样的操作,那我推荐你使用Excel%20Explorer,很不错的一个Excel%20php类,但是他是一个商业程序,我目前只在google里 好久没有写blog了,可能很多网友都对我生疏了,确实是这样的,因为我很少出现在网络上。
今天主要想说说之前提到的Utter log,我自己写的小blog,暂停开发了,原因是接了几个对于我来说比较棘手的活。

第一个是开发销售系统,这个其实对于我来说很难了,不过正在努力的进行着,也从这次开发中学到很多东西。
对PHP操作Excel有了更深入的了解,当然,如果你也需要这样的操作,那我推荐你使用Excel Explorer,很不错的一个Excel php类,但是他是一个商业程序,我目前只在google里面找到3.0的版本。
那么看看这张图吧,很丑陋:
CNNZ

]]>
http://www.sc35.com/blog/?feed=rss2&p=182 7
Utter log ? http://www.sc35.com/blog/?p=179 http://www.sc35.com/blog/?p=179#comments Thu, 23 Oct 2008 03:48:23 +0000 我也没有想过我会去写一个小blog系统,也许这也是为了练手才写,当然更没有想过会不会发布她,不管怎么样我还是要对她做一个简单的说明
先看看图片吧:
Utter log Test

测试网址:http://log.fvzone.com

数据库结构:
参考了typecho和wordpress的,主要是tag功能和附件,甚至自定义字段。
会话:
采用MYSQL储藏,说实话,受不了session,cookie又不是很强,这两种可控性都太差了。
URL路由映射
这个词太专业了,我也不是写程序的料子,但是我在努力,关于路由分发正在研究…
编辑器
采用Textile语法了,为什么?因为我实在控制不了可视化编辑器的行为,和他生成的那些复杂而凌乱的html代码。

暂时就说这么多吧,正在努力缓慢的进行着…

]]>
http://www.sc35.com/blog/?feed=rss2&p=179 4
EditPlus FV.Zone 美化版 http://www.sc35.com/blog/?p=158 http://www.sc35.com/blog/?p=158#comments Wed, 23 Jul 2008 06:44:09 +0000

一直在找像TextMate 一样的编辑器,其实之前我发布了SCITE编辑器的配色方案,说实话,SCITE很强大,功能也很多,高度的自定制我更是喜欢,基于SciLexer高亮语法所以很容易配出很好的颜色,但是还比较年轻吧,不稳定,不过我倒是没有遇到崩溃过。最大的问题是多编码的支持对UTF-8都支持不好,如果使用utf-8 no bom需要在文件头部加coding:utf-8字样来识别UTF-8编码文件,可是我每次手动加入这个代码实在有点累,也不符合人的使用习惯。

我今天对EditPlus的语言高亮进行研究,结果是支持的还算可以,只是很不完善,配置的时候定义也不清楚,总之编辑器是很强大了。

记住哦,在你使用之前一定要把EditPlus的配置目录指向Configs目录,否则无法使用,关于Configs目录请看后面!

先看看图片:

别的我想我不用说了,因为EditPlus这款编辑器使用的人非常多了,专业的介绍也随处可见。
我修改了PHP、JS、HTML、CSS、SQL这几种配色方案,别的没有改动过,因为我是做前台设计的,所以经常写CSS和HTML,有时候也写一点PHP和JS什么的,所以对视觉要求有点高,太丑的编辑器实在无法使用。

想要显示好的效是还需要安装dejavu字体,这个字体是开源的,很好的等宽字体,使用这种字体后代码看起来特别舒服
官方网站:http://dejavu.sourceforge.net/wiki/index.php/Main_Page

PHP调试:
请将你的PHP.exe的文件地址添加到系统的Path里,当然你也可以在EditPlus的用户工具组里面改这个地址,改成绝对路径就行了,使用是的时候EditPlus菜单工具组里面会列出来,分别会显示他的快捷键,第一个工具是Ctrl+1第二个就是Ctrl+2,依次排列。

CSS 格式化和优化:
集成了csstidy 1.3 C语言版,工具菜单有一个叫CSS Format的,主要用于格式化代码,格式化后代码还是竖排的,只是优化了一些写法。然使用这个工具后原来工作台上的代码会被格式化过的代码代替,也会在顶部和尾部留下一些软件运行后的记录数据,删掉他们就可以了。
还有一个叫CSS Optimization的菜单,他主要是优化代码,他会把代码压缩的极小注释也会被删掉,所以作为发布之用很好,但是建议还是用CSS Format吧!

目录说明:
我总觉得将所有的文件放在一个目录里面绝对不是一个好的主意
Configs; 这个目录放的是我们配置的数据,就是语言着色等了,所有的配置都在这里面
Documents; 说明文档目录,放了一些EditPlus的更新记录,帮助文件
Others; 这里面放了一个注册机和两个字典工具
Scripts; 这个里面放了一些CSS优化工具,PHPCB工具等
Template; 各个语言的模板文件

好了多的不说了,想看看怎么样就下载来试试吧!
有什么问题请在这里告诉我,谢谢支持!

下载地址:http://fvcity.googlecode.com/svn/tags/EditPlus.rar

]]>
http://www.sc35.com/blog/?feed=rss2&p=158 19
SCITE 编辑器FV.Zone版 http://www.sc35.com/blog/?p=144 http://www.sc35.com/blog/?p=144#comments Sat, 12 Jul 2008 09:56:17 +0000 http://今天和大家分享我自配色的SCITE编辑器,一直在找一款好用的编辑器,用过也很多的,主要有NOTEPAD++、UltraEdit、EditPlus、EmEditor等等,当然还有很多,这里就不一一列出。我使用的最久的是UltraEdit和EmEditor,但是后来EmEditor出现了无法复制的问题,使我很郁闷,就没有使用了。UltraEdit有点笨重,打开文件比较慢,着色方法还是很容易配置的。后来无意中接触到了SCITE,多平台,开源,完全绿色,而且很小,由于集成了lua语言环境很容易 今天和大家分享我自配色的SCITE编辑器,一直在找一款好用的编辑器,用过也很多的,主要有NOTEPAD++、UltraEdit、EditPlus、EmEditor等等,当然还有很多,这里就不一一列出。

我使用的最久的是UltraEdit和EmEditor,但是后来EmEditor出现了无法复制的问题,使我很郁闷,就没有使用了。
UltraEdit有点笨重,打开文件比较慢,着色方法还是很容易配置的。

后来无意中接触到了SCITE,多平台,开源,完全绿色,而且很小,由于集成了lua语言环境很容易扩增功能。
我目前只配了PHP、CSS、XML、HTML等语言着色,喜欢的就下载来使用吧。

以下是效果图:

PHP调试和格式化:
目前已经集成phpCB格式化代码工具,只需要在打开PHP文件后按Ctrl+F1就OK了,然后编辑器下面会打开输出窗口,拷贝下面的代码就行了。
PHP执行,在使用之前请将PHP的路径写入WIN和系统路径,然后打开PHP文件,按F5执行,作为调试用。

CSS格式化:
已经集成了CSSTidy 1.3版,当你打开CSS文件后可以按Ctrl+F1进行格式化,这样代码会竖排,只是优化了一些写法,如果你是作为发布那么你可以按Ctrl+F2进行高度压缩,压缩后的代码很紧密,很节约空间哦~!

还有许多功能和定义请自行研究吧~!

下载地址:
http://fvcity.googlecode.com/svn/tags/wscite.rar

]]>
http://www.sc35.com/blog/?feed=rss2&p=144 10
分享两个WP相关的函数 http://www.sc35.com/blog/?p=140 http://www.sc35.com/blog/?p=140#comments Mon, 23 Jun 2008 17:16:39 +0000 http://其实我收集了一些关于WP的模板制作的资料和函数下面这个函数可以很容易获得日志的分类ID获得当前日志的分类你可以把他复制到模板文件functions.php中去[php]function%20category_id($post)%20%20%20%20global%20$wpdb,%20$table_prefix,%20$post;%20%20%20%20%20%20%20%20%20%20%20%20$sql%20=%20SELECT%20tt.term_id%20FROM%20.%20$table_prefix%20.term_taxonomy%20tt,%20%20.%20$table 其实我收集了一些关于WP的模板制作的资料和函数
下面这个函数可以很容易获得日志的分类ID

获得当前日志的分类
你可以把他复制到模板文件functions.php中去

function category_id($post)
   { global $wpdb, $table_prefix, $post;
            $sql = "SELECT tt.term_id FROM ". $table_prefix ."term_taxonomy tt, " . $table_prefix . "term_relationships tr WHERE tt.taxonomy = 'category' AND tt.term_taxonomy_id = tr.term_taxonomy_id AND tr.object_id = $post->ID";
            $cats = $wpdb->get_results($sql);
              foreach($cats as $cat) {
                      $result = $cat->term_id;
              }
      return $result;
    }

要使用他很简单
只要将你的日志全局变量传入就OK了,像这样:

echo $c = category_id($post);

获得日志内容的全部图片函数

function getImgTags($s) {
                                $result=array();
                                $p = "#<img\s+(?:[^>]+\s+)*src=[\"']?([^>]+?)[\"']?(?:\s+[^>]+)*\s*/?>#sim"; 
                                $r=preg_match_all($p,$s,$o);
                                        if (!$r) {return false;}
                                        else
                                        {
                                                foreach ($o[0] as $k=>$v)
                                        {
                                        $result[$k]["tagStr"]=$v;
                                        $result[$k]["src"]=$o[1][$k];
                                        $p2 = "#<img\s+(?:[^>]+\s+)*(alt|title)=[\"']?([^>]+?)[\"']?(?:\s+[^>]+)*\s*/?>#sim"; 
                                        $r2=preg_match($p2,$v,$o2);
                                        if ($r2) $result[$k][$o2[1]]=$o2[2];
                                        }
                        }
                return $result;

这个函数可能有些复杂,不过他可是相当的强大,前些日子为了应付一个摄影网站写的,他可以获得下面这种格式的图片地址和说明:

<img src="a.gif" alt="a" />

使用方法:

<?php $result = getImgTags(get_the_content()); 
if($result) :
foreach ($result as $v) : ?>
<a href="<?php echo $v["src"]; ?>" class="lightview" rel="gallery[credit]" title="<?php echo $v["alt"]; ?>"><img src="<?php echo $img_link; ?>" alt="<?php echo $v["alt"]; ?>" title="<?php echo $v["alt"]; ?>" /></a>
<?php endforeach; ?>
<?php endif; ?>

首先是将我们日志的正文传入getImgTags函数,然后得到一个数组,通过使用foreach循环一一将数组取出,

图片名为<?php echo $v["src"]; ?>alt信息为<?php echo $v["alt"]; ?>

当然这些都只是实验性的,并不保证性能会很好,但是就我使用以来没有出现过问题。
还有很多很多技巧,因为实在不想写东西,所以很少发布…

]]>
http://www.sc35.com/blog/?feed=rss2&p=140 3
Fvcode 帖代码的小插件 http://www.sc35.com/blog/?p=139 http://www.sc35.com/blog/?p=139#comments Thu, 12 Jun 2008 08:10:32 +0000 呵呵,这只是实验性的,也根本没有实际用途,功能也过于单一,不过我还是觉得够用了。
一直想找一个小巧的灵活的帖代码插件,但一直没有找到,于是今天花了一个小时研究了一下,写出了这个小插件。

使用他很方便只要插入:

<code><?php echo $test; ></code>

效果演示:

/* 我就是演示了 */
<?php phpinfo(); ?>
<html>
<!-- test -->
</html>

就能显示代码了,这也符合我平时的习惯,还很好的向以后更换插件做好了兼容工作,如果像使用


之类的特殊符号,那以后会很麻烦的。

因为太小所以就不放下载了
直接帖出代码,下面是PHP代码和CSS样式表

<?php
# -*- coding: utf-8 -*-
/*
Plugin Name: FVcode
Plugin URI: http://sc35.com/blog/fvcodefvcode.fv
Description: 这是一个小东西
Author: FV.zone
Version: 0.0.0.2
Author URI: http://sc35.com/blog/
*/
require_once(ABSPATH.'wp-config.php');
require_once(ABSPATH.'wp-settings.php');

function fvcode_style()
{
 $css_url = get_bloginfo("wpurl") . '/' . PLUGINDIR . '/' . dirname(plugin_basename (__FILE__))."/fvcode.css";
  echo "\n".'<link rel="stylesheet" href="' . $css_url . '" type="text/css" media="screen" />'."\n";
}

  function fvcode_code($match)
  {
    foreach ($match as $value) {
      $value = htmlspecialchars($value);
      $content = nl2br($value);
    }
    
  $o = '<div class="fvcode">';
  $o .= '<div class="code">'.$content.'</div>';
  $o .= '</div>';
  $o .= '<div class="clear"></div>';
    
  return $o;
}

function fvcode($content) {
		$content = preg_replace_callback("/\s*<code>\s*(.+?)\s*<\/code>\s*/sim", 'fvcode_code', $content);
		return $content;
}


function fvcode_format($content) {
    $content = str_replace("&#8211;", "--", $content);
	return $content;
}

add_action('wp_head', 'fvcode_style');

add_filter ('the_content','fvcode_format');
add_filter ('the_excerpt','fvcode_format');
add_filter ('comment_text','fvcode_format');

add_filter('the_content', 'fvcode',9);
add_filter('the_excerpt', 'fvcode',9);
add_filter('comment_text', 'fvcode',9);

?>

你只要将这个代码复制保存命名随便,然后建立一个文件夹或是不建立也行,放到plugins目录里,在后台激活就可以了。

CSS样式:

/*
coding: utf-8
*/
.clear{clear:both;}
.fvcode {
	margin:6px 0;
	font:12px "Lucida Grande",Verdana,Arial,Sans-Serif;
	text-align:left;
}
.code {
	padding:6px;
	float:left;
	line-height:18px;
	background:#ECF6FF;
	color:#666;
	border:1px solid #D6E9FC;
	display: inline;
}

CSS要把保存的名字命为:fvcode.css才行,当然你也可以改掉PHP里面的定义,这个随便你。

]]>
http://www.sc35.com/blog/?feed=rss2&p=139 3
The IE Doubled Float-Margin Bug http://www.sc35.com/blog/?p=138 http://www.sc35.com/blog/?p=138#comments Wed, 11 Jun 2008 17:49:07 +0000 http://strong对高度的解析/strongIE:将根据内容的高度变化,包括未定义高度的图片内容,即使定义了高度,当内容超过高度时,将使用实际高度Firefox:没有定义高度时,如果内容中包括了图片内容,MF的高度解析是根据印刷标准,这样就会造成和实际内容高度不符合的情况;当定义了高度,但是内容超过高度时,内容会超出定义的高度,但是区域使用的样式不会变化,造成样式错位。结论:大家在可以确定内容高度的情况下最好定义高度,如果真的没有办法定义高度,最好不用使用边框样式,否则样式肯定会出现混乱! 对高度的解析
IE:将根据内容的高度变化,包括未定义高度的图片内容,即使定义了高度,当内容超过高度时,将使用实际高度
Firefox:没有定义高度时,如果内容中包括了图片内容,MF的高度解析是根据印刷标准,这样就会造成和实际内容高度不符合的情况;当定义了高度,但是内容超过高度时,内容会超出定义的高度,但是区域使用的样式不会变化,造成样式错位。
结论:大家在可以确定内容高度的情况下最好定义高度,如果真的没有办法定义高度,最好不用使用边框样式,否则样式肯定会出现混乱!

其他的细节差别
当你在写css的时候,特别是用float: left(或right)排列一窜图片时,会发现在firefox里面正常而IE里面有问题。无论你用margin:0,还是border: 0来约束,都无济于事。

其实这里还有另外一个问题,就是IE对于空格的处理,firefox是忽略的而IE对于块与块之间的空格是处理的。也就是说一个div结束后要紧接着一个div写,中间不要有回车或者空格。不然也许会有问题,比如3px的偏差,而且这个原因很难发现。

非常不走运的是我又碰到了这样的问题,多个img标签连着,然后定义的float: left,希望这些图片可以连起来。但是结果在firefox里面正常而IE里面显示的每个img都相隔了3px。我把标签之间的空格都删除都没有作用。

后来的解决方法是在img外面套li,并且对li定义margin: 0,这样就解决了IE和firefox的显示偏差。IE对于一些模型的解释会产生很多错误问题,只有多多尝试才能发现原因。

2、嵌套DIV:父DIV的高度不能根据子DIV自动变化的解决方案

<div id="parent">
<div id="content"> </div>
</div>

当Content内容多时,即使parent设置了高度100%或auto,在不同浏览器下还是不能完好的自动伸展。 解决方案

<div id="parent">
<div id="content"></div>
<div style="font: 0px/0px sans-serif;clear: both;display: block"> </div>
</div>

在层的最下方产生一个高度为1的空格,可解除这个问题

五、随机的切换图片:
#random {
BACKGROUND: url(/rotate.php);
}
这个方法很巧妙。

关于div的高度自适应
  今天小尿让我帮他的页子解决一个问题,就是div的高度自适应,也就是在一个父级div中嵌套一左一右两个子div,右边的子div内容可无限扩展,而可以使得父级div的高度能被无限拉长,用一般的布局方法,在IE中可以正确浏览,在Mozilla中父级div的高度就固定在10px左右,无法自适应高度,height:auto也不行,怎么办呢。网上参考到一篇资料,要实现自适应高度,div层必须具有float属性,于是我开始动手试验,float:left的话,div就跑到页面最左边去了,这好办,我在它的外面再套一层div,把位置定好,那么里面的就算float:left也不会被移动位置了。

<div id="container_father">
<div id="container">
    <div id="panel"> test<br />
     test<br />
     test<br />
      <!-- id="panel" -->
    </div>
    <div id="sidebar">
     <ul>
       <li class="current">预安装检查</li>
       <li>阅读 PFC 授权协议</li>
       <li>初始化数据库</li>
       <li>完成安装</li>
      </ul>
      <!-- id="sidebar" -->
    </div>
    <!-- id="container" -->
</div>
</div>

#container_father {
margin-left: auto;
margin-right: auto;
padding: 0px;
width: 750px;
}

#container {
   width: 750px;
   border: 1px solid #cccccc;
   padding: 8px;
   margin: 0px;
   background-color: #F1F3F5;
   float: left;
}

深入标准 ~ The IE Doubled Float-Margin Bug(IE双倍浮动边界Bug)
什么发生故障?
一段无错的代码把一个居左浮动(float:left)的元素放置进一个容器盒(box),并在浮动元素上使用了左边界(margin-left) 来令它和容器的左边产生一段距离。看起来相当的简单,对吗?但直至它被在IE/Win中浏览为止,在浏览器中居左浮动元素的边界长度被神秘地翻了一倍!

情况应该如何?

下面的图释展示了一个简单的div(茶色的盒子)包含着一个居左浮动的div(绿色的盒子)。浮动元素有一个100px的左边界,使容器盒与它的左边缘之间产生了一个100px的间隙。到现在为止,一直都还不错。

.floatbox {
float: left;
width: 150px;
height: 150px;
margin: 5px 0 5px 100px;
/*This last value applies the 100px left margin */
}

陈旧的IE“双倍占据”
原样的相同代码被在IE/Win中浏览时以些微不同的方式显示,下面的图释展示了IE/Win在布局上所做的。
这为什么会发生?别问这种傻问题!这就是IE,记得吗?符合标准只是理想的状况,不指望实现,这个简单的事实正验证了。

重点

这个Bug仅当浮动边界和浮动元素的方向相同时出现在浮动元素和容器盒的内边缘之间,在这之后的任意有着相似边界的浮动元素不会呈现双倍边界。只有特定的浮动行的第一个浮动元素会遭遇这个Bug。像居左的情况一样,双倍边界同样神秘地显示在居右的相同方式。

修复办法!

直到现在(04年1月)这个Bug一直被认为是无法修复的,通常用来替代错误的边界的控制方法如:一个不可视浮动元素的左边距,连同一个内嵌的盒子一起,可视的盒子装在不可视浮动元素里;或者使用技巧仅对IE/Win设定边界的1/2值。这办法生效了,但是是混乱的而且搞糟了干净的源代码。不过现在全部结束了。

Steve Clason发现了一个修复办法,描述在他的Guest Demo里,修复了双倍边界和围绕文字缩进Bug。这是一个经典的IE的Bug修复办法,使用一个属性来修复影响不相关属性的Bug。

现在如何来做?

研究它,简单地将{display: inline;}设置给浮动元素就是全部所需做的!是的,听起来太简单了,不是吗?不过这是真的,仅仅一个display的”inline”声明已经能够胜任了。

熟悉规则的人知道浮动元素自动设置为”block”元素,而不管他们之前是什么。就如Steve从W3C里指出:

9.5.1 Positioning the float: the ‘float’ property

“This property specifies whether a box should float to the left, right, or not at all. It may be set for elements that generate
boxes that are not absolutely positioned. The values of this property have the following meanings:

left
The element generates a block box that is floated to the left. Content flows on the right side of the box, starting at the top
(subject to the ‘clear’ property). The ‘display’ is ignored, unless it has the value ‘none’.

right
Same as ‘left’, but content flows on the left side of the box, starting at the top.

none
The box is not floated. ”

这说明浮动元素上的{display: inline;}会被忽略,事实上所有的浏览器没有呈现任何改变,包括IE。但是,它不知何故让IE停止将浮动元素的边界翻倍。因而,这个修复办法可以被直接应用,而没有任何繁琐的隐藏方法。如果将来的一款浏览器决定对这个修复办法抱恙,只要把这个修复装入IE独用的Tan Hack里,细节如同IE Three Pixel Text-Jog Demo。

下面是两个使用了前面相同代码的生动演示,第一个照常显示了IE的Bug,下一个对浮动元素使用了”inline”修复。

.floatbox {
float: left;
width: 150px;
height: 150px;
margin: 5px 0 5px 100px;
display: inline;
}
]]>
http://www.sc35.com/blog/?feed=rss2&p=138 1