摘要: css中,文档流是什么?普通流就是正常的文档流,在HTML里面的写法就是从上到下,从左到右的排版布局。例:<div id=”01”></div><div id=”02”></div><div></div>很显然这是最普通的文档流,从左到右,一个挨一个按照顺序01先,02其次,03最后排列。一旦给其中的某个DIV进行FLOAT属性或者absolute定位(不包括static/relative,这两个依然保持正常的文档流),则它完全脱离文档流,不占空间。例:为了能更好辨认,我分别给01绿色,02灰色,03黄色。然后再给01左浮 阅读全文
posted @ 2012-07-30 14:43 TBHacker 阅读(1899) 评论(0) 推荐(0) 编辑
摘要: SVN是如何处理冲突的?通常采用三种方法:1、把远程的文件更新到最新到本地,再重新添加你的修改。2、放弃你的修改,把远程的更新到你这,用最新的。3、人为沟通。 阅读全文
posted @ 2012-07-27 16:37 TBHacker 阅读(728) 评论(3) 推荐(0) 编辑
摘要: 层级关系为: <div ——————————— position:relative; 不是最近的祖先定位元素,不是参照物<div—————————-没有设置为定位元素,不是参照物<div———————- position:relative 参照物<div box1<div box2 ——–posit 阅读全文
posted @ 2012-07-26 18:49 TBHacker 阅读(229136) 评论(14) 推荐(32) 编辑
摘要: 网站的导航很多都是下拉的方式,如下图所示:就是一种下拉菜单,导航的数据是以ul、li相互嵌套的方式存在的。------------------------------------------<div class="head"> <div class="logo"></div> <div id="navigation"> <ul> <li class="mr70px"><a href="#" id="curre 阅读全文
posted @ 2012-07-26 17:38 TBHacker 阅读(1314) 评论(0) 推荐(0) 编辑
摘要: 问题:有时候数据库表字段的名称与一些系统名称冲突,插入数据就会报错,无法成功插入数据。比如系统名称有PASSWORD、STATUS、NAME、COMMENT、DATE等等。我们命名数据库字段时,也经常这么命名,命名密码为password、命名状态为status、命名姓名为name、命名评论为comment、命名日期为date。这样有时候电脑无法识别是系统的字段还是用户自己的字段。再插入数据时,就会出现问题。解决方案:插入不成功的代码:INSERT INTO `admin`(id,admin_name,admin_password,NAME,email,active,GROUP,last_vi. 阅读全文
posted @ 2012-07-26 11:52 TBHacker 阅读(418) 评论(0) 推荐(0) 编辑
摘要: Phpcms中的核心文件时phpcms这个文件夹。里面有libs,存放的是核心类和函数。还有model文件夹,是一些模型类,类似于thinkphp中的模型model,与数据库中的表名称对应,可以便于对数据库进行操作。读取数据库中的信息,以及对信息进行增删改查。后台管理与前台管理都可以加载这里的文件并进行操作。接下来的moudles文件夹,分为很多模块,也就是类似于thinkphp中的各种管理,之前我有做过商城项目,类似于里面的商品管理、新闻管理、类别管理等等。每一个模块文件夹下,又有一些类,可以继承,一些函数可以引用。还有一些模板,这里的模板是后台的模板。然后就是一些控制器,控制着前台的和后台 阅读全文
posted @ 2012-07-25 14:37 TBHacker 阅读(569) 评论(0) 推荐(0) 编辑
摘要: 刚刚接触phpcms,先从它的目录结构说起。如下图所示,是phpcms的主目录结构:其中api是接口目录,这个接口不是很明白。大概其是把别的内容加入进来,比如论坛啊什么的。caches是缓存文件,存放的是缓存的信息,缓存能够提升网站的友好性,当第一次加载后,第二次就会很快的加载。html目录,不晓得是什么意思。里面空空的。大概其是一些转化为html的文件存放在里面吧。然后就是phpcms,这个是phpcms的核心目录,里面又有很多子目录,如下图所示:languages是语言包,libs是一些核心类和函数,model目录里面是一些模型,moudules是模块,里面有一些控制器类,函数和模板,每个 阅读全文
posted @ 2012-07-24 15:12 TBHacker 阅读(7770) 评论(0) 推荐(0) 编辑
摘要: 很多用户喜欢 Joomla 都是因为她有强大而灵活的模板系统,可以作出任何你想要的网站前台皮肤。Joomla 模板还能做到随着页面内容的变化而变化自己的布局和尺寸。不过,这些灵活性也很可能走向复杂性,更有可能产生了对“搜索引擎优化”(SEO)不利的因素。 那么,今天就介绍一些在购买或开发 Joomla 模板时需要注意的SEO准则。1.图片越少越好尽管漂亮的图片能够为 Joomla 模板增色不少,但大量图片也消耗了网站很多带宽,同时更重要的是,大量图片使得页面体积增大,访客在浏览器中打开页面的速度减慢,这对于 SEO 极其有害,也弄糟了用户体验。因此,必须将模板中使用的图片数量减少到最少。每当你 阅读全文
posted @ 2012-07-20 10:59 TBHacker 阅读(776) 评论(0) 推荐(0) 编辑
摘要: 研究joomla也有一周了。感觉用现成的模板很简单,一些概念也有了头绪。比如单元、单元下面的分类、分类下面的文章、模块、组件、菜单等等。页面的信息基本都是以模块的方式显示出来的,可以再左上、左中、左下、右上、右中、右下。这些可以通过后来来进行管理。其实就是页面中为这些位置留有了空隙,也就是模板中为这些位置留有了空隙。这些位置的信息可以通过templateDetails.xml这个文件来读取。templateDetails.xml这个文件是加载模板用的文件。一个Joomla网站的建设,最难得就是模板的设计。可以从网上下载模板来安装,别看这安装很邪乎。其实它也不过就是将文件夹解压到对应的文件目录下 阅读全文
posted @ 2012-07-19 16:48 TBHacker 阅读(483) 评论(0) 推荐(0) 编辑
摘要: 在Joomla中,页面的信息都是以模块的方式展示出来的,不论是登陆,还是文章导航,还是菜单导航,只要想展示在页面上,都离不开模块的帮忙。模块的样式有很多,新建模块时,要选择一个对应的样式,比如菜单样式、随机图片、登录、文章类别列表、类别中的文章等等。选择一个样式后,为模块起一个名字,开启模块,选择在页面中的位置,可以位于左上、左下、右上、右下等等位置同时呢要选择要发布的页面,是首页,还是内容页或者其他页面。如果选择的是菜单样式,就要确定存放的是什么菜单的内容。如果是登录样式,就要设置一些登录的参数,登录成功后跳转的页面。如果是文章类别列表样式,就可以发布一些文章类别的大类信息,一般要求大类下面 阅读全文
posted @ 2012-07-16 10:18 TBHacker 阅读(1501) 评论(0) 推荐(0) 编辑
摘要: Joomla是一款优秀的CMS管理系统,不同于ThinkPHP、CakePHP、Zend framework,它一个半成品,一个内容管理系统的半成品。一般的内容管理系统包括,用户管理、内容管理、新闻管理、图片管理、博客管理等等。该有的它都有了,而且它还可以进行扩展。世界上有很多人在写Joomla的扩展。对于这样一个庞大的内容管理系统,你要做的就是先摸清楚它的功能,学会操作使用它。先从宏观上去认识它,了解它的一些特有的概念,操作。它对一个人的编程能力要求不高,它更侧重的是操作方面的东西。这样由表及里,逐步去认识这个强大的内容管理系统。学习它的优点。它对用户权限,以及内容分级处理的很好,用户注册也 阅读全文
posted @ 2012-07-13 11:14 TBHacker 阅读(1651) 评论(0) 推荐(0) 编辑
摘要: window对象位于BOM层次结构的最顶层。它包含了一些非常重要的子对象,包括location,navigator,document,screen,history。location对象包含当前页面的URL信息。有些信息是只读的,有些信息是可以读写的比如href属性。我们不仅可以通过href属性来获取当前页面的URL信息,还可以通过修改href属性,来跳转到新的页面。<html> <body> <script type='text/javaScript'> window.location.replace("http://www.bai 阅读全文
posted @ 2012-07-11 17:41 TBHacker 阅读(1940) 评论(0) 推荐(0) 编辑
摘要: <html> <head> <script type='text/javascript'> var imagesArray=new Array("images/1.jpg","images/2.jpg","images/3.jpg","images/4.jpg"); function changeImg(imageNumber){ var newImage = imagesArray[Math.round(Math.random()*3)]; while(docu 阅读全文
posted @ 2012-07-11 16:35 TBHacker 阅读(637) 评论(0) 推荐(0) 编辑
摘要: return可以接受函数中的返回值,前提是函数中要有return语句。下面是一个应用小示例:<html> <head> <script type='text/javascript'> function linkPage(){ alert('You Clicked??'); return false; } </script> </head> <body> <A href='http://www.baidu.com' n... 阅读全文
posted @ 2012-07-11 15:35 TBHacker 阅读(330) 评论(0) 推荐(0) 编辑
摘要: <script type='text/javascript'>//构建一个CustomerBooking类//构造函数 function CustomerBooking(bookingId,customerName,film,showDate){ this.bookingId = bookingId; this.customerName = customerName; this.film = film; this.showDate =showDate; }//getBooking... 阅读全文
posted @ 2012-07-11 11:57 TBHacker 阅读(267) 评论(0) 推荐(0) 编辑
摘要: Array数组对象有很多常用的方法和属性,现总结如下:1.length属性,获取数组中元素的个数。2.concat()方法,连接两个数组。将两个数组连接起来。示例如下:var names= new Array('Jack','Tom','Jim');var ages= new Array(12,32,44);var concatArray;concatArray=names.concat(ages);这里的concatArray就是姓名数组与年龄数组结合的新数组。3.slice()方法,获取数组中的部分数组元素。一般有两个参数,第一个表示起始位置 阅读全文
posted @ 2012-07-10 17:43 TBHacker 阅读(239) 评论(0) 推荐(0) 编辑
摘要: javascript中的对象有String对象、Math对象、Array对象、Date对象等等。每个对象都有自己的相应的属性和方法。比如String对象就有属性length,可以知道字符串的长度。Math对象有属性PI,就是圆周率π的值。它们还有自己对应的方法。比如String的substr()方法,获取子字符串、indexOf(),获取子字符串在字符串中的位置、toUpperCase()将字符串转换成大写、charAt()获取字符串中相应位置的字符。Math中的方法abs()获得绝对值、ceil()向上取整、floor()向下取整、round()四舍五入。能够灵活的应用这些属性和方法,会对编 阅读全文
posted @ 2012-07-10 15:44 TBHacker 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 通常我们用俩个加号表示自增操作符++,两个减号表示自减操作符--。myVar=myVar+1;myVar=myVar-1;可以用myVar++;myVar--;来替换。我们可以把++和--放在变量之后,也可以放在变量之前。例如:++myVar;--myVar;通常情况下,当++和--作用于某个变量自身时,把它们放在变量之前,还是之后,是相同的。但是,如果我们在表达式中与其他操作符一起使用++或--,例如:myVar=myNumber++ -20;上面的代码,先从变量中减去20,然后把myNumber加1,最后把加1之前的结果传给变量myVar。如果把++放在前面就不一样了,例如:myVar=+ 阅读全文
posted @ 2012-07-06 17:59 TBHacker 阅读(227) 评论(2) 推荐(0) 编辑
摘要: 学习编程,就要动手。就要练习。就要做例子。动手做例子可以加深对内容的理解。可以感受程序。可以直观的了解程序的内在的东西,原理之类的。比如,在执行程序的过程中,你可以看到程序执行的全部过程,由表及里,看多了,就有感觉了。做例子,就要有条理,一方面,有条理便于下次查看。另一方面,有条理,也能更清晰的学习内容。给例子命名就是一个注意点。如果,随随便便命名为1、2、3、4就没意思了。要有秩序的命名,有一定的意义。比如学习第一章的内容,就可以命名为ch1_examp1,第二个例子就可以命名为ch1_examp2。等等。如果学习第二章,就命名为ch2_examp1。这样例子就能很好很清晰的保存起来,便于下 阅读全文
posted @ 2012-07-06 15:19 TBHacker 阅读(453) 评论(0) 推荐(0) 编辑
摘要: 编程是一个实践性非常强的能力。要想成为一个编程高手,就离不开动手。有人说,看编程的书,最好把书中的代码敲一遍。眼过千遍,不如手过一遍,这个不无道理的。在敲代码的过程中,你能感受到代码的动态乐趣。敲代码也能培养手感,加深对代码的认识。一般的初级程序员,敲代码还要参考参考教科书或者帮助文档之类的。真心想成为那种不看帮助文档,直接凭记忆敲打出代码的人。那种人,是我的奋斗目标。而想成为那种大师级的程序员,就要多多默敲代码,何为默敲?默敲就是平时写代码时,就有意识去凭记忆敲,少一些复制粘贴,少一些看一行敲一行,多一些凭回忆敲。我想这样积累多了,也就能离开帮助文档,敲出属于自己的代码了。在学习的时候,也不 阅读全文
posted @ 2012-07-04 14:27 TBHacker 阅读(432) 评论(0) 推荐(1) 编辑