分类: 电脑网络

关注IT行业、互联网信息。包括计算机硬件、软件、网站开发、平面设计、网络杂谈等.

  • 登录几个重要搜索引擎的网站提交地址

    以下是登录几个重要搜索引擎的网站提交地址:

    百度:http://www.baidu.com/search/url_submit.html

    Google:http://www.google.com/intl/zh-CN/add_url.html

    中国雅虎:http://search.help.cn.yahoo.com/h4_4.html

    微软Live & Msn:http://search.msn.com.cn/docs/submit.aspx

    网易-有道:http://tellbot.yodao.com/report

    hao123网址之家* http://post.baidu.com/f?kw=hao123

    搜狐/搜狗* http://db.sohu.com/regurl/regform.asp?Step=REGFORM&class=

    爱问搜索* http://iask.com/guest/add_url.php

    Yahoo! http://submit.search.yahoo.com/free/request/

    中国搜索 http://service.chinasearch.com.cn/NetSearch/pageurlrecord/frontpageurl.jsp

    有道搜索 http://tellbot.yodao.com/report

    TOM搜索 http://search.tom.com/tools/weblog/log.php

    天网搜索 http://home.tianwang.com/denglu.htm

    MSN http://beta.search.msn.com/docs/submit.aspx

    MSN中文搜索 http://techpreview.search.msn.com.cn/docs/submit.aspx?FORM=WSDD2

    alltheweb http://www.alltheweb.com/help/webmaster/submit_site

    Gigablast http://www.gigablast.com/addurl

  • CSS Hack 汇总快查

    屏蔽IE浏览器(也就是IE下不显示)
    *:lang(zh) select {font:12px !important;} /*FF,OP可见,特别提醒:由于Opera最近的升级,目前此句只为FF所识别*/
    select:empty {font:12px !important;} /*safari可见*/
    这里select是选择符,根据情况更换。第二句是MAC上safari浏览器独有的。

    仅IE7与IE5.0可以识别
    *+html select {…}
    当面临需要只针对IE7与IE5.0做样式的时候就可以采用这个HACK。

    仅IE7可以识别
    *+html select {…!important;}
    当面临需要只针对IE7做样式的时候就可以采用这个HACK。

    IE6及IE6以下识别
    * html select {…}
    这个地方要特别注意很多博客都写成了是IE6的HACK其实IE5.x同样可以识别这个HACK。其它浏览器不识别。
    html/**/ >body select {…}
    这句与上一句的作用相同。

    仅IE6不识别,屏蔽IE6
    select { display /*屏蔽IE6*/:none;}
    这里主要是通过CSS注释分开一个属性与值,注释在冒号前。

    仅IE6与IE5不识别,屏蔽IE6与IE5
    select/**/ { display /*IE6,IE5不识别*/:none;}
    这里与上面一句不同的是在选择符与花括号之间多了一个CSS注释。不屏蔽IE5.5

    仅IE5不识别,屏蔽IE5
    select/*IE5不识别*/ {…}
    这一句是在上一句中去掉了属性区的注释。只有IE5不识别,IE5.5可以识别。

    盒模型解决方法
    selct {width:IE5.x宽度; voice-family :”\”}\””; voice-family:inherit; width:正确宽度;}
    盒模型的清除方法不是通过!important来处理的。这点要明确。

    清除浮动
    select:after {content:”.”; display:block; height:0; clear:both; visibility:hidden;}
    在Firefox中,当子级都为浮动时,那么父级的高度就无法完全的包住整个子级,那么这时用这个清除浮动的HACK来对父级做一次定义,那么就可以解决这个问题。

    截字省略号
    select { -o-text-overflow:ellipsis; text-overflow:ellipsis; white-space:nowrap; overflow:hidden; }
    这个是在越出长度后会自行的截掉多出部分的文字,并以省略号结尾,很好的一个技术。只是目前Firefox并不支持。

    只有Opera识别
    @media all and (min-width: 0px){ select {……} }
    针对Opera浏览器做单独的设定。

    以上都是写CSS中的一些HACK,这些都是用来解决局部的兼容性问题,如果希望把兼容性的内容也分离出来,不妨试一下下面的几种过滤器。这些过滤器有的是写在CSS中通过过滤器导入特别的样式,也有的是写在HTML中的通过条件来链接或是导入需要的补丁样式。

    IE5.x的过滤器,只有IE5.x可见
    @media tty {
    i{content:”\”;/*” “*/}} @import ‘ie5win.css’; /*”;}
    }/* */

    IE5/MAC的过滤器,一般用不着
    /*\*//*/
        @import “ie5mac.css”;
    /**/

    IE的if条件Hack
    <!–[if IE]> Only IE <![endif]–>
    所有的IE可识别
    <!–[if IE 5.0]> Only IE 5.0 <![endif]–>
    只有IE5.0可以识别
    <!–[if gt IE 5.0]> Only IE 5.0+ <![endif]–>
    IE5.0包换IE5.5都可以识别
    <!–[if lt IE 6]> Only IE 6- <![endif]–>
    仅IE6可识别
    <!–[if gte IE 6]> Only IE 6/+ <![endif]–>
    IE6以及IE6以下的IE5.x都可识别
    <!–[if lte IE 7]> Only IE 7/- <![endif]–>
    仅IE7可识别

  • 使用CSS Hack兼容浏览器

    一、IE条件注释
    1)针对某个具体IE版本应用样式表文件
    <!– [IE条件注释,适用IE7浏览器] –>
    <!– [if IE 7] >
    <link href=”image/ie7.css” type=”text/css” rel=”stylesheet” />
    <![endif]–>

    <!– [IE条件注释,适用IE6浏览器] –>
    <!– [if IE 6] >
    <style type=”text/css”>
    @import url(“ie6.css”);
    </style>
    <![endif]–>

    <!– [IE条件注释,适用IE5.5浏览器] –>
    <!– [if IE 5.5000] >
    <style type=”text/css”>
    @import url(“ie55.css”);
    </style>
    <![endif]–>
    由于IE5.5的版本号有点特殊,定义时应写成IE 5.5000

    2)针对所有IE版本应用样式表文件
    <!– [IE条件注释,适用IE5及更高版本浏览器] –>
    <!– [if IE] >
    <style type=”text/css”>
    @import url(“ie.css”);
    </style>
    <![endif]–>

    3)针对一定范围IE版本应用样式表文件
    如果要实现在一定版本范围内IE浏览器中有效,可以结合lte、lt、gte、gt 和!关键字,指明一个使用范围,详细说明如下:
     lte:Less than or equal to 的简写,也就是小于或等于的意思。
     lt:Less than 的简写,也就是小于的意思。
     gte:Greater than or equal to 的简写,也就是大于或等于的意思。
     gt:Greater than 的简写,也就是大于的意思。
     !:不等于的意思。
    <!– [IE条件注释,适用IE5及更高版本浏览器] –>
    <!– [if gte IE 5.5000] >
    <style type=”text/css”>
    @import url(“gte_ie55.css”);
    </style>
    <![endif]–>

    <!– [IE条件注释,适用IE7以下版本浏览器] –>
    <!– [if lt IE 7] >
    <link href=”lt_ie7.css” type=”text/css” rel=stylesheet />
    <![endif]–>

    二、@import规则过滤器
    /*仅适用IE 5.x/Windows版本浏览器*/
    @media tty{
    i{content:”\”;/*” “*/}} @import url(‘ie5x/win.css’); /*;)
    }/* */
    CSS1不能够识别@media规则,则那些仅能够支持CSS1的浏览器会自动忽略这几行代码。
    tty表示终端和电传打字机媒体类型,当前没有设备支持这种媒体类型,符合标准的浏览器会忽略这个规则,如FF、OP等。
    功能超前的浏览器会误认为是为i元素定义的样式,由于对转义字符的曲解而认为中间是一堆无意义的字符串。
    但是IE 5.x/Windows系列版本浏览器不能够识别转义字符,也不支持tty媒体类型,因此会忽略前面的声明,而执行后半部分的规则。

    1)适用IE 5/Windows浏览器的过滤器
    /*仅适用IE 5/Windows浏览器*/
    @media tty{
    i{content:”\”;/*” “*/}}; @import ‘ie5/win.css’; {;}/*”;}
    }/* */
    2)适用IE 5.5/Windows浏览器的过滤器
    /*仅适用IE 5.5/Windows浏览器*/
    @media tty{
    i{content:”\”;/*” “*/}}@m; @import ‘ie55/win.css’; /*”;}
    }/* */
    3)适用IE 5/Mac浏览器的过滤器
    /*仅适用IE 5/Mac版本浏览器*/
    /*\*//*/
    @import ” ie5mac.css”;
    /**/
    4)适用非IE 6/Windows及更低版本浏览器
    /*适用非IE 6/Windows及更低版本浏览器*/
    @import url(styles.css) all;
    5)适用非IE 5.x/Windows系列及更低版本浏览器
    /*适用非IE 5.x/Windows系列及更低版本浏览器*/
    @import “null?\”\{“;
    @import “styles.css”;
    @import “null?\”\}”;
    6)适用非IE 5/Windows系列及更低版本浏览器
    /*适用非IE 5/Windows系列及更低版本浏览器*/
    @import”styles.css”;
    7)适用非IE 4/Windows版本浏览器
    /*适用非IE 4/Windows版本浏览器*/
    @import”styles.css”;

    三、!important关键字过滤器
    /*[!important关键字过滤器]*/
    #content{
    width:414px !important;
    width:400px;
    padding:5px;
    border-width:2px;
    }
    FF和OP能够识别!important命令,IE6及更低版本浏览器忽略!important命令。

    四、下划线属性过滤器
    /*[下划线属性过滤器]*/
    #content{
    width:400px;
    _width:414px;
    padding:5px;
    border-width:2px;
    }
    Windows IE 6及更低版本浏览器会忽略下划线。

    五、转义属性过滤器
    /*[转义属性过滤器]*/
    div{
    border:solid 1px red;
    height:100px;
    width:100px;
    widt\h:200px;
    }
    Windows IE 5.x系列及更低版本浏览器会忽略”\”。
    注:不要把反斜杠放在数字0-9或字母a-f、n、r、t、v(包括大小写)的前面。

    /*[转义属性过滤器]*/
    div{
    border:solid 1px red;
    height:100px;
    width:100px;
    \width:200px;
    }
    能隐藏NS 4/Win或NS 4/Mac、IE 5/Mac版本浏览器中的声明。

    六、* html选择符过滤器
    /*[* html选择符过滤器]*/
    * html{/*定义在IE 6及更低版本中显示的字体为灰色*/
    color:#666;
    }

    七、属性选择符过滤器
    /*[属性选择符过滤器]*/
    div.try{/*适用所有浏览器的样式*/
    width:204px;
    height:304px;
    padding:2px;
    }
    div[class=try]{/*在非IE 6及更低版本浏览器中覆盖上面定义的宽和高声明,实现盒模型兼容*/
    width:200px;
    height:300px;
    }

    八、子对象选择符过滤器
    /*子对象选择符过滤器*/
    span>p{/*符合标准的浏览器中显示为白色*/
    color:#FFF;
    }
    span{/*IE 6及更低版本浏览器中显示为黑色*/
    color:#000;
    }

    九、相邻选择符过滤器
    /*[相邻选择符过滤器]*/
    h2 + parag{/*符合标准浏览器中显示为蓝色*/
    color:blue;
    }
    .parag{/*IE 6及更低版本浏览器中显示为红色*/
    color:red;
    }

    十、转义选择符过滤器
    /*[转义选择符过滤器]*/
    #testElement{/*IE 5.x系列版本浏览器中显示为蓝色*/
    color:blue;
    }
    #te\stElement{/*在非IE 5.x系列版本浏览器中显示为红色*/
    color:red;
    }

    十一、注释反斜杠过滤器
    /*[注释反斜杠过滤器]*/
    div{
    width:774px;
    }
    /*Hide Code for IE 5/Mac \*/
    div{
    width:100%;
    }
    /* End Hide */

    十二、隐藏单个声明
    1)在IE 6中隐藏声明
    /*[在IE 6中隐藏声明]*/
    div{
    height:200px;
    width:200px;
    width /**/:400px;
    background:#F6F;
    }
    注:注释在属性的后面,冒号的前面,且与属性名中间隔一个空格。

    2)在IE 5.5中隐藏声明
    /*[在IE 5.5中隐藏声明]*/
    div{
    height:200px;
    width:200px;
    width: /**/400px;
    background:#F6F;
    }
    注:注释在冒号的后面,且与冒号中间隔一个空格。

    3)在IE 5和IE 4中隐藏声明
    /*[在IE 5和IE 4中隐藏声明]*/
    div{
    height:200px;
    width:200px;
    width/* */:400px;
    background:#F6F;
    }
    注:注释在属性名的后面,冒号的前面,且注释中间隔一个空格。
      这个过滤器会同时适用Mac系统中的IE 5和IE 4。

    十三、隐藏多个声明
    /*[在IE 5.5及更低版本浏览器中隐藏声明]*/
    div.content{
    height:400px;
    width:400px;
    border:solid 1px blue;
    voice-family:”\”}\””;
    voice-family:inherit;
    height:200px;
    width:200px;
    border:solid 1px red;
    }
    IE 5.5及更低版本浏览器中不能够识别voice-family属性,同时错误地解析转义字符,误认为规则到voice-family:”\”}\””;就结束了。

    十四、隐藏规则
    1)在IE 5和IE 4中隐藏规则
    /*[在IE 5和IE 4中隐藏规则]*/
    div.content{
    height:400px;
    width:400px;
    background:red;
    }
    div.content/**/{
    background:blue;
    }
    IE 5和IE 4会隐藏第2个规则。这个过滤器同时适用Mac系统中的IE 5和IE 4。

    2)在IE 6及更低版本中隐藏规则
    /*[在IE 6及更低版本中隐藏规则]*/
    div.content{
    height:400px;
    width:400px;
    background:red;
    }
    div.content ,[dummy]{
    background:blue;
    }
    IE 6及更低版本中忽略第2个规则。

    3)在IE 6及更低版本中隐藏规则
    /*[在IE 6及更低版本中隐藏规则]*/
    div.content{
    height:400px;
    width:400px;
    background:red;
    }
    head+body div.content{
    background:blue;
    }

  • 浏览器BUG处理方法整理(部分)

    1. 星号*
    IE都能识别*,标准浏览器如FF不能识别*。
    例:p { color:yellow; *color:red;}
    类似的有
    + 加号
    只有IE解释
    p{color:red; +color:blue}
    IE 显示blue   FF显示 red
    2.!important
    IE6及以下将会忽略该样式,IE7 FF将支持;
    p{color:red !important;color:yellow;}
    IE7 FF将红色   IE6显示黄色
    此处注意的是!important方法只是按上述格式后才被IE6及以下忽略,除此之外的提高样式权重方法可通用。
    3.下划线。
    IE6及以下版本将运用该样式,其他将忽略
    p{color:red; _color:blue}

    4、注释:
    p {color:red};   
    这种样式在IE6中是可以应用显示的,而在IE5及以下版本是不会被处理的,所以可以针对IE5/6进行区别
    5、@IMPORT:
    在@IMPORT中使用URL来导入样式,标准用法是将URL中的值带上引号,如下@IMPORT URL(“newstyle.css”);这种用法   可以被IE5以上的浏览器及FF支持,从而实现了IE4的样式单独处理.
    另外,还有一个方法:
    @IMPORT URL(“noie.css”) screen;
    screen是用于指定设备类型的选项,screen用于屏幕显示,print用于打印设备显示但是IE对这种方法不支持,,所有的IE浏览器,从而可以进行IE和FF的区别。
    6、属性选择符: 用于对具有特定属性的对象进行选择
    span[class=left]{color:blue}   
    span[title]{color:red;}    
    IE6不支持,但是在FF里面工作正常,所以可以对IE和FF进行分别处理.
    在实际开发中,经常要对IE和FF进行分别处理,可以用如下代码:
    #content{
    color:red;
    }
    [xmlnx] #content{
    color:blue
    }
    此种方法我觉得很实用,也经常用,推荐朋友使用,如需更详细的说明,我可以再发贴。
    7.子对象选择符:
    span>p{color:red}
    IE6也是没有支持,也可用来区别IE和FF
    8、Tantek方法
    #content{
                color:blue;
                voice-family:”\”}\””;
                voice-family:inherit;
                color:red;
    }
    上面的代码在使用了voice-family之后下面的color:red,将不会被IE5.5及以下浏览器所解析.因此在IE6/7/FF上文本颜色将呈现红色,在IE5.5及以下浏览器上将呈现蓝色;
    另外,voice-family还有一种处理方式:
    #content{
                color:red;
                voice-family:”}”
                voice-family:inherit;
                color:blue;
    }
    使用这个方法,将使IE6及以下版本浏览器与FF浏览器的文字都呈现红色,而IE5及以下版本浏览器呈现蓝色!
    9、转义属性
    p{w\idth:200px;}
    IE5.5 以下将忽略。注意:反斜线字符不能出现在0-9或字母a-f前面
    10、IE中的条件注释
    一、条件注释简介
    IE中的条件注释(Conditional comments)对IE的版本和IE非IE有优秀的区分能力,是WEB设计中常用的
    hack方法。
    条件注释只能用于IE5以上。
    如果你安装了多个IE,条件注释将会以最高版本的IE为标准。
    条件注释的基本结构和HTML的注释(<!– –>)是一样的。因此IE以外的浏览器将会把它们看作是普通的
    注释而完全忽略它们。
    IE将会根据if条件来判断是否如解析普通的页面内容一样解析条件注释里的内容。
    二、条件注释属性
    gt : greater than,选择条件版本以上版本,不包含条件版本
    lt : less than,选择条件版本以下版本,不包含条件版本
    gte : greater than or equal,选择条件版本以上版本,包含条件版本
    lte : less than or equal,选择条件版本以下版本,包含条件版本
    ! : 选择条件版本以外所有版本,无论高低
    三、条件注释使用方法
    注意把代码中的<>换成英文中相应的大于或小于号
    <!–[if IE 5]>仅IE5.5可见<![endif]–>
    <!–[if gt IE 5.5]>仅IE 5.5以上可见<![endif]–>
    <!–[if it IE 5.5]>仅IE 5.5以下可见<![endif]–>
    <!–[if gte IE 5.5]>IE 5.5及以上可见<![endif]–>
    <!–[if ite IE 5.5]>IE 5.5及以下可见<![endif]–><!–[if !IE 5.5]>非IE 5.5的IE可见<![endif]
    –>
    下面的代码是在非IE浏览器下运行的条件注释
    <!–[if !IE]><!–>您使用不是 Internet Explorer<!–<![endif]–>
    <!–[if IE 6]><!–>您正在使用Internet Explorer version 6或者 一个非IE 浏览器<!–<![endif]-

  • 在IE里面滚动条颜色

    这个我今天无意中在网上看到的,呵呵,以前还真不知道,如果你的浏览器不能正确显示,请检查浏览器的版本,这种颜色定义是在IE 5.5以上才支持的。

    另外,这种定义最好放在样式表申明里,如:
    BODY {
    SCROLLBAR-FACE-COLOR: rgb(10,236,209); //滚动条凸出部分的颜色
    SCROLLBAR-HIGHLIGHT-COLOR: rgb(23,255,155);//滚动条空白部分的颜色
    SCROLLBAR-SHADOW-COLOR: rgb(255,116,23);//立体滚动条阴影的颜色
    SCROLLBAR-3DLIGHT-COLOR: rgb(66,93,127);//滚动条亮边的颜色
    SCROLLBAR-ARROW-COLOR: rgb(93,232,255);//上下按钮上三角箭头的颜色
    SCROLLBAR-TRACK-COLOR: rgb(255,70,130);//滚动条的背景颜色
    SCROLLBAR-DARKSHADOW-COLOR: rgb(10,0,209);//滚动条强阴影的颜色
    SCROLLBAR-BASE-COLOR: rgb(66,93,128);//滚动条的基本颜色
    }

  • Pctools9.0 修改0柱为1柱的方法

             对于硬盘0扇区损坏的情况,虽然比较棘手,但也不是无可救药。基本思路是设法把损坏的0扇区屏蔽,而用1扇区代替。完成这项工作的理想软件是Pctools9.0中的DE工具,具体方法如下:

      用Win9X启动盘启动,插入含有Pctools9.0的光盘,运行PCT90目录下的DE.EXE,先进入Options菜单,选Configuration(配置),按空格去掉Read Only(只读)前面的勾(按Tab键切换),保存退出。接着选主菜单Select(选择)中的Drive(驱动器);进去后在Drive type(驱动器类型)项选Physical(物理的),按空格选定,再按Tall键切换到Drives项,选中Hard disk(硬盘),然后选OK回车。

      之后回到主菜单,打开Select菜单,这时会出现Partition Table(分区表),选中并进入,之后出现硬盘分区表信息。如果硬盘有两个分区,l分区就是C盘,该分区是从硬盘的0柱面开始的,那么,将1分区的Beginning Cylinder(起始柱面)的0改成1就可以了。保存后退出。要注意的是,在修改之前先将硬盘上的重要资料备份出来。重新启动,按Delete键进入回COMS设置,选”IDE AUTO DETECT”,可以看到CYLS比原来减少了1,保存退出,重新分区,格式化,至此大功告成。

      注意:PCT00LS9.0不能在用FAT32分区的硬盘和Windows下运行,但可以在FAT16硬盘中运行。修复后一定要在CMOS中重新侦测硬盘,再分区和格式化,因为只有对硬盘作格式化后才会把分区表的信息写入1扇区(现在作为0扇区了)

  • 看张柏芝照片,理解学习何为翻墙?

    好看打 不开就翻墙,解释一下何为翻墙——就是指你所访问的网站是运行正常,你的电脑是可以浏览网页,比如百度,新浪等等的情况下,但你的电脑就是无法浏览或打开 此网站,就说明你的网络被墙了,这个问题很正常,出现这种问题不单针对了你,多数是因为国家的政治原因造成了,因为也只有国家有这个能力,其它原由就不用 我多说了。所以就出现了翻墙这个词,其它说白了就是代理上网,只是网友们都喜欢叫它翻墙而已。翻墙的软件有很多,也可以不用软件,直接上一些在线代理的网 站输入网址即可,不过网速可能不怎么样,在这里我推荐一款软件http://cid-b00ea28fd1793a84.office.live.com/self.aspx/.Public/FreeU13r.exe

    放心下载,这是我自己的收藏。

    以下的链接就是芝芝的照片啦!

    http://img138.imageshack.us/img138/5125/661810713567607ls1.jpg

    http://img138.imageshack.us/img138/8651/20080129a8b2b4d126366a5rc3.jpg

    http://img137.imageshack.us/img137/8314/up254224dh0.jpg

    http://img137.imageshack.us/img137/483/up254225xq8.jpg

    http://img137.imageshack.us/img137/3369/up254223jpgqi9.jpg

  • windows xp sp3下真正找回被删除的IE浏览器

    无意中将桌面上的IE浏览器给删除掉了,记得以前找回是直接在桌面右键点属性——桌面——-自定义桌面——在常规选项卡里就可以找回IE,但这回傻眼了,这里有我的电脑,我的文档,网上邻居,就是没有IE浏览器,开始以为是自己的电脑中毒了,我就郁闷啦!我波哥的电脑怎么可能中毒呢? 呵呵,吹一下,别让病毒给听见了,不然就惨啦!在网上查了一下资料才发现,原来XP升级到SP3时自定义桌面的常规先项卡就没有IE浏览器这一项了。而且网上说怎么找回的一些方法都是扯蛋,怎么也行不通,只能在桌面上建一个IE的快捷方式,但是看了就是很不顺眼,而且不然修改主面,删除缓存等等一些操作。最后终于让我找到了个解决这个问题的方法!供大家参考!有不懂的可以留言~~

    以下是我找到的答案:

    打开注册表编辑器,依次展开KKEY_CURRENT_USER–SOFTWARE–Microsoft–Windows–CurrentVersion–Explorer–HideDesktopIcon–ClassicStartMenu,在右边找{871C5308-42A….}这一项,将键值改为0.

    同样展开KKEY_CURRENT_USER–SOFTWARE–Microsoft–Windows–CurrentVersion–Explorer–HideDesktopIcon–NewStartPanel,同样在右边找到{871C5308-42A….}这一项,其值改为0.

    然后刷新一下注册表(F5)

    回到桌面,刷新一下,IE图标找回了。这个可不是快捷方式,右下角木有小箭头,右键属性也能打开IE选项菜单。

  • WP主题模板制作修改教程

    实际上,当我们打开某个主题的文件夹时,看到的并不止这两个文件,而是更多。但一般来说,在一个完整的 WP 主题文件夹中都应该包含下列文件(也称为模板文件):
    页面 模板文件 用途
    首页 index.php 显示网站首页
    单页 single.php 显示博文的页面(相当于细节页)
    静态页 page.php 显示静态页的页面(包含各级静态页面)
    分类页 category.php 显示分类页的页面(相当于栏目页)
    存档页 archive.php 显示存档页的页面(相当于按时间归类的栏目页)
    搜索页 search.php 显示搜索结果的页面
    评论页 comments.php 显示评论的页面
    弹出式评论页 comments-popup.php 显示弹出式评论的页面
    404错误页 404.php 显示 404 错误信息的页面
    级联样式表 style.css 控制页面布局外观
    除此之外,一套主题模板中还可以包含 author.php、home.php、date.php、searchform.php 以及 functions.php 等页面(其中部分页面稍后介绍)。
    虽然上面列出了与 WP 内置功能对应的 9 个 php 文件,但制作一套主题远没有想像得那么复杂。因为事实上,你只需要制作一个 index.php 文件,就可以派生出另外 8 个文件来!
    从 WP 应用主题的机制来说,这 9 个模板文件是存在优先级差别的,也可以认为是重要性不同。它们的优先级顺序是:
    index.php -> single.php -> page.php -> archive.php -> search.php -> 404.php。
    这样,当不存在后边的页面时,WP 会自动调用前面的页面,直至调用 index.php。比如,当程序调用页面页 page.php 时,如果page.php 模板文件不存在,那么程序会尝试调用前面的文件--single.php。而如果 single.php也不存在,那么就会调用最终的 index.php 来显示页面页。可见 index.php属于“垫底儿”的缺省页面,它的重要性是最高的。但当存在具体页面时,还是要优先使用具体的页面,可见具体的页面优先级最高。
    在明确了 index.php 是一套 WP 主题的核心之后,我们就可以将制作 WP 主题的过程简单地分成两步,即--定义主模板文件 index.php 和派生其他模板文件。
    定义主模板文件 index.php从页面布局的角度上,有必要将主模板文件 index.php 拆分成 header.php、sidebar.php 和footer.php 三个子页面。WP 专门为在 index.php 中包含这三个子页面提供了对应的get_header()、get_sidebar() 和 get_footer() 函数。
    下面,就来详细介绍一下制作 index.php 页面的过程:
    首先,在 myThemes 文件夹中建立一个文本文件并将其重命名为 index.php,然后再建立一个 style.css 文件(内容暂时留空)。
    然后,用你喜欢的文本编辑器打开 index.php 并输入下列代码(最好复制,因为这一部分不重要):
    <!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 profile=”http://gmpg.org/xfn/11“>
    <meta http-equiv=”Content-Type” content=”<?php bloginfo(’html_type’); ?>;
    charset=<?php bloginfo(’charset’); ?>” />
    <title><?php bloginfo(’name’); ?> <?php if ( is_single() ) { ?> &raquo; Blog Archive <?php } ?>
    <?php wp_title(); ?></title>
    <meta name=”generator” content=”WordPress <?php bloginfo(’version’); ?>” />
    <!– leave this for stats –>
    <link rel=”stylesheet” href=”<?php bloginfo(’stylesheet_url’); ?>”
    type=”text/css” media=”all” />
    <link rel=”stylesheet” href=”<?php bloginfo(’stylesheet_directory’); ?>
    /print.css” type=”text/css” media=”print” />
    <link rel=”alternate” type=”application/rss+xml” title=”<?php bloginfo(’name’); ?>
    RSS Feed” href=”<?php bloginfo(’rss2_url’); ?>”/>
    <link rel=”pingback” href=”<?php bloginfo(’pingback_url’); ?>” />
    <?php wp_head(); ?>
    </head>
    <body>
    </body>
    </html>
    显然,这是一些构成网页文件的 HTML 代码,当然其中包含 PHP 代码。如前所述,HTML 代码定义结构,而 PHP 代码用于生成内容。
    在 WP 后台的“主题”模块中,选择 myTheme 主题。然后,在浏览器中观察你的 WP 外观。此时,应该显示页面一片空白。但通过“查看源文件”,你会发现 index.php 中的 PHP 代码已经生成了一些头部内容。
    接着,我们开始动手定义 index.php 中 body 部分的结构和内容。
    (一)构建 header在 body 元素内,新建如下结构化标记元素,注意各元素都带有不同的 id 属性:
    <div id=”page”>
    <div id=”header”></div>
    <div id=”content”></div>
    <div id=”sidebar”></div>
    <div id=”footer”></div>
    </div>
    然后,在该 <div id=”header”></div> 元素的两个标签之间输入下列代码:
    <h1><a href=”<?php bloginfo(’url’); ?>”title=”<?php bloginfo(’name’); ?>”><?php bloginfo(’name’);?></a></h1>
    <p><?php bloginfo(’description’); ?></p>
    这里用到了 WP 内置的 bloginfo 函数来生成内容,其中:
    bloginfo(’url’)返回网站主页链接;
    bloginfo(’name’)返回网站标题;
    bloginfo(’description’)返回网站描述。
    保存 index.php 文件,然后在浏览器中按 F5 刷新一下页面,看能看到什么?再通过“查看源文件”,核对一下由 WP 的 bloginfo() 函数生成的相关信息。
    (二)构建 content在 <div id=”content”></div> 中,我们要通过循环显示博文,包括每个博文的标题、作者、发表日期以及其他相关信息。并且,可以分页显示博文(取决于 WP 后台的设置)。
    首先,在 <div id=”content”> 与 </div> 之间输入下列代码:
    <?php while (have_posts()) : the_post(); ?> <div class=”post” id=”post-<?php the_ID() ?>”>
    <!– 博文标题及链接 –>
    <h2><a href=”<?php the_permalink() ?>” rel=”bookmark” title=”<?php the_title(); ?>”>
    <?php the_title(); ?></a></h2>
    <!– 发表日期 –>
    <div class=”post-date”>
    <span class=”post-month”><?php the_time(’M’) ?></span>
    <span class=”post-day”><?php the_time(’d’) ?></span>
    </div>
    <!– 作者 –>
    <span class=”post-author”><?php _e(’Author’); ?>:<?php the_author(’, ‘) ?></span>
    <!– 类别 –>
    <span class=”post-cat”><?php _e(’Categories’); ?>:<?php the_category(’, ‘) ?></span>
    <!– 注释 –>
    <span class=”post-comments”>
    <?php comments_popup_link(’No Comments &raquo;’, ‘1 Comment &raquo;’, ‘% Comments &raquo;’); ?></span>
    <!– 内容 –>
    <div class=”entry”>
    <?php the_content(’更多内容 &raquo;’); ?>
    </div>
    <!– 其他元(Meta)数据 –>
    <div class=”post-meta”>
    <?php edit_post_link(’编辑’,’ | ‘,”); ?>
    </div> </div>
    <?php endwhile; ?><div class=”navigation”>
    <span class=”previous-entries”><?php next_posts_link(’前一篇’)?></span> <span class=”next-entries”><?phpprevious_posts_link(’后一篇’) ?></span>
    </div>
    <?php else : ?>
    <div class=”post”>
    <h2><?php _e(’Not Found’); ?></h2>
    </div><?php endif; ?>
    看似复杂,其实不然。首先:
    <?php if (have_posts()) : ?>
    <?php else : ?>
    <?php endif; ?>
    这三行,在 WP 中表示 if 控制结果。注意,if 语句通过测试 have_posts() 函数来测试是否存在博文。而
    <?php while (have_posts()) : the_post(); ?>
    <?php endwhile; ?>
    这两行,是 WP 中的 while 循环。其中,while 语句通过测试 have_posts() 决定是否调用 the_post()函数。如果测试 have_posts() 返回 true,则调用 the_post() 函数,初始化与博文相关的内置变量。
    在 while 循环内部,首先要注意通过 div、h2、span 这三个元素定义的嵌套语义结构,以及相应元素的 class 和 id属性(其中只为 class 为 post 的 div 元素定义了一个 id 属性--post-<?php the_ID()?>)。这是将来使用 CSS 控制外观的关键所在。在这个 div 元素中,为显示博文的相关信息,分别调用了以下 WP 函数:
    the_ID():返回博文 ID;
    the_permalink():返回博文固定链接 URL;
    the_title():返回博文标题;
    the_time(’M’):返回发表日期中的月份;
    the_time(’d’):返回发表日期中的天;
    the_author():返回博文作者;
    the_category():返回博文的类别;
    the_content():返回博文的内容,其中的参数表示用于“更多内容”的链接文本;
    以上函数都是以 the_ 开头的,加上后面的函数名不仅颇有自解释的味道,而且令人联想到 this 关键字。此外
    _e() 函数是一个包装函数,这个函数主要用于语言的转换,如果调用该函数并传递标准的 WP 术语,如:Author 或 Categories,则返回你相应语言包中的译文,在中文包中分别是“作者”和“类别”。当然,不用也可。但会失去一些适应性。
    还有,omments_popup_link() 和 edit_post_link() 两个函数,分别显示注释和编辑链接,这里不多说了。
    另外,在 <?php endwhile; ?> 后面显示了分页导航链接,调用的函数分别是:next_posts_link() 和previous_posts_link()。此时,如果你的博文总数小于 WP 后台设置的最多显示数目,比如:你在后台设置最多显示 5篇,而你有 10 篇博文,就会分页显示;否则,如果你的博文少于或等于 5 篇则看不到分页导航链接。
    最后,不要丢下 <?php else : ?> 语句后面的内容:
    <div class=”post”>
    <h2><?php _e(’Not Found’); ?></h2>
    </div>
    显然,这是一个错误提示信息。
    (三)构建 sidebarsidebar 的内容当然要在 <div id=”sidebar”></div> 元素中构建了。sidebar,中文叫侧边栏,其中可以包含很多内容。比如:分类、页面、链接、日历等等导航及相关信息。
    在 WP 中,sidebar 中的内容都以无序(ul)或有序(ol)列表的形式输出。因此,需要在 <div id=”sidebar”></div> 中输入以下标记:
    <ul>
    <?php if ( !function_exists(’dynamic_sidebar’) || !dynamic_sidebar() ) : ?>
    <li id=”search”>
    <?php include(TEMPLATEPATH .’/searchform.php’); ?>
    </li> <li id=”calendar”>
    <h2><?php _e(’Calendar’); ?></h2>
    <?php get_calendar(); ?>
    </li> <?php wp_list_pages(’title_li=<h2>页面</h2>’); ?> <li class=”catnav”>
    <h2><?php _e(’Categories’); ?></h2>
    <ul>
    <?php wp_list_cats(’sort_column=name&optioncount=1&hierarchical=0′); ?>
    </ul>
    </li>
    <li class=”archivesnav”>
    <h2><?php _e(’Archives’); ?></h2>
    <ul>
    <?php wp_get_archives(’type=monthly’); ?>
    </ul>
    </li>
    <li class=”blogrollnav”>
    <h2><?php _e(’Links’); ?></h2>
    <ul>
    <?php get_links(’-1′, ‘<li>’, ‘</li>’, ‘<br />’, FALSE, ‘id’, FALSE, FALSE, -1, FALSE); ?>
    </ul>
    </li>
    <li class=”meta”>
    <h2><?php _e(’Meta’); ?></h2>
    <ul><?php wp_register(); ?><li><?php wp_loginout(); ?></li>
    <?php wp_meta(); ?></ul>
    </li>
    <?php endif ?>
    </ul> 以上代码从第三行开始,分别通过包含 searchform.php 显示搜索表单;
    调用 get_calendar() 函数显示日历;
    调用 wp_list_pages() 函数显示页面导航;
    调用 wp_list_cats() 函数显示分类导航;
    调用 wp_get_archives() 函数显示存档导航;
    调用 get_links() 函数显示链接导航。
    在构建侧边栏时,要为生成搜索框新建一个 searchform.php 文件,其内容如下:
    <form method=”get” id=”searchform” action=”<?php bloginfo(’home’); ?>/”>
    <div>
    <input type=”text” value=”<?php echo wp_specialchars($s, 1); ?>” name=”s” id=”s” size=”15″ /><br />
    <input type=”submit” id=”searchsubmit” value=”Search” />
    </div>
    </form>
    将其保存在 myTheme 文件夹中,通过 include 语句包含进来就可以了。注意,常量 TEMPLATEPATH 中保存的是模板路径。
    最后,说明一下以上代码第二行和倒数第二行。显然这是一个 if 语句块。那这个 if 语句块包含 sidebar是何用意呢?这是部件化侧边栏的需要,就是让 sidebar 适合 Widget 插件(WP 2.0 后内置了Widget,所以不用再安装了)。如果要使用 Widget 插件,必须对 sidebar 进行部件化。这样,在 WP 后台通过 Widget插件你就可以使用拖动来方便地定义侧边栏的组件了。部件化侧边栏,除了在 ul 元素内侧放入这个 if 语句之外,还必须在 myTheme文件夹中建立一个文件 functions.php,其内容如下:
    <?php
    if ( function_exists(’register_sidebar’) )
    register_sidebar(array(
    ‘before_widget’ => ‘<li id=”%1$s” class=”widget %2$s”>’,
    ‘after_widget’ => ‘</li>’,
    ‘before_title’ => ‘<h2 class=”sidebartitle”>’,
    ‘after_title’ => ‘</h2>’,
    ));
    ?>
    (四)构建 footerfooter 中一般都一些版权信息和不太重要的链接。所以可以在 <div id=”footer”></div> 元素中简单地放入下列代码:
    <p>Copyright &copy; 2007 <?php bloginfo(’name’); ?></p>
    至此,核心 index.php 文件就算是大功告成了!
    接下来,是拆分 index.php 和基于 index.php 派生子模板文件。
    在 myTheme 文件夹中新建 header.php、sidebar.php 和 footer.php 三个文件。把index.php 中的 <div id=”header”></div>、<divid=”sidebar”></div> 和 <div id=”footer”></div>三个结构化元素及其内容分别转移(剪切)到这三个新文件中。然后,在 <div id=”header”></div>原来的位置处输入代码:
    <?php get_header();?>
    在 <div id=”sidebar”></div> 原来的位置处输入代码:
    <?php get_sidebar();?>
    在 <div id=”footer”></div> 原来的位置处输入代码:
    <?php get_footer();?>
    前面说过,这三个 get 函数是 WP 专门为包含结构化的文件定义的。现在你的 index.php 文件应该如下所示:
    <!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 profile=”http://gmpg.org/xfn/11“>
    <meta http-equiv=”Content-Type” content=”<?phpbloginfo(’html_type’); ?>; charset=<?php bloginfo(’charset’);?>” /><title><?php bloginfo(’name’); ?> <?php if (is_single() ) { ?> &raquo; Blog Archive <?php } ?> <?phpwp_title(); ?></title><meta name=”generator”content=”WordPress <?php bloginfo(’version’); ?>” /> <!–leave this for stats –><link rel=”stylesheet” href=”<?phpbloginfo(’stylesheet_url’); ?>” type=”text/css” media=”all” />
    <link rel=”stylesheet” href=”<?php bloginfo(’stylesheet_directory’); ?>/print.css” type=”text/css” media=”print” />
    <link rel=”alternate” type=”application/rss+xml” title=”<?phpbloginfo(’name’); ?> RSS Feed” href=”<?php bloginfo(’rss2_url’);?>” />
    <link rel=”pingback” href=”<?php bloginfo(’pingback_url’); ?>” /><?php wp_head(); ?>
    </head>
    <body>
    <div id=”page”><?php get_header(); ?> <!– content –>
    <div id=”content”>
    <?php if (have_posts()) : ?>
    <?php while (have_posts()) : the_post(); ?> <div class=”post” id=”post-<?php the_ID() ?>”>
    <!– 博文标题及链接 –>
    <h2><a href=”<?php the_permalink() ?>” rel=”bookmark” title=”<?php the_title(); ?>”>
    <?php the_title(); ?></a></h2>
    <!– 发表日期 –>
    <div class=”post-date”>
    <span class=”post-month”><?php the_time(’M’) ?></span>
    <span class=”post-day”><?php the_time(’d’) ?></span>
    </div>
    <!– 作者 –>
    <span class=”post-author”><?php _e(’Author’); ?>:<?php the_author(’, ‘) ?></span>
    <!– 类别 –>
    <span class=”post-cat”><?php _e(’Categories’); ?>:<?php the_category(’, ‘) ?></span>
    <!– 注释 –>
    <span class=”post-comments”>
    <?php comments_popup_link(’No Comments &raquo;’, ‘1 Comment &raquo;’, ‘% Comments &raquo;’); ?></span>
    <!– 内容 –>
    <div class=”entry”>
    <?php the_content(’更多内容 &raquo;’); ?>
    </div>
    <!– 其他元(Meta)数据 –>
    <div class=”post-meta”>
    <?php edit_post_link(’编辑’,’ | ‘,”); ?>
    </div> </div>
    <?php endwhile; ?> <div class=”navigation”>
    <span class=”previous-entries”><?php next_posts_link(’前一篇’)?></span> <span class=”next-entries”><?phpprevious_posts_link(’后一篇’) ?></span>
    </div>
    <?php else : ?>
    <div class=”post”>
    <h2><?php _e(’Not Found’); ?></h2>
    </div><?php endif; ?>
    </div><!– end content –><?php get_sidebar(); ?> <?php get_footer(); ?></div>
    </body>
    </html>
    然后,是派生子模板文件。把这个“模块化”的 index.php 文件另存为single.php、page.php、archive.php、 search.php 和 category.php。当然,都保存在myTheme 文件夹中。这样,WP 在显示页面时就会调用相应的页面文件了。比如,显示博文详细内容时,会调用single.php;而显示页面内容时,则调用 page.php。

  • 检测你的杀毒软件是否入流

    使用方法:

    直接将以下代码复制到记事本,保存,看杀毒软会不会报毒

    ——————————请复制下面的代码——————————

    X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

    ——————————请复制上面的代码——————————