我的地盘我做主
2006年08月28日设计代码

没有评论
33 views

应用CSS完全手册

■ FONT-FAMILY属性:

  每部机器上都装有多种字体,浏览器会使用默认的字体浏览网页,比如简体中文版WINDOWS汉字默认是宋体,英文默认是ARIAL。 使用FONT-FAMILY属性则可以规定浏览器用什么字体解读网页。

■ FONT-FAMILY语法实例:
h2 {font-family:times,impact,sans-serif}

说明如下:

  helvetica是浏览器首先寻找的字体名称,如果有就使用它。在helvetica字体没有找到的情况下,则会寻找impact字体,如果找到就使用它。如果以上两种字体都没有找到,则指示浏览使用sans-serif(通用字体)。在你不能保证你列出的字体浏览者一定会安装时,将一种通用字体加在字体列表中是一种好的做法。因此我们提倡使用最基本的字体制作网页,比如中文用宋体,英文用ARIAL,这样使得你的网页不会因为浏览器没能使用合适的字体解读而变样。

■ 其它相关内容:

通用字体有以下几类,其中cursive和fantasy不被NC支持:
"serif"(比如Times);
"sans-serif"(比如Helvetica);
"cursive"(比如Comic Sans);
"fantasy"(比如Western);
"monospace"(比如Courier)
其他使用事项:
如果一种字体的名称中有空格,如"Times New Roman",在CSS语句中要用引号包含该字体。
例:Body {font-family:"Times New Roman",serif}
如果该语句已在双引号里,则字体名降级为单引号。
例:

如果该语句包括其它CSS规则,字体说明应放在最后。
例:H2 {color:red;margin:10px;font-family:"Times New Roman",serif}
■ 继承:

  继承:就是在子元素没有定义样式的情况下,它将采用上一级元素的样式定义。

  优先级:根据继承来理解优先级也就容易。最近的样式优先级最高。 比如:

  CSS在声明 I{font-family:impact};

  但在HTML语句中又如下定义:

要显示的文字在这里

在此例中样式表要求用IMPACT字体,而FONT标记要求用TIMES字体,最终浏览器使用的会是TIMES。作为CSS标准制定者,要求将CSS优先,他们认为像以上的例子中应该用IMPACT字体。可以浏览器产商照顾使用者的旧习惯,使用了FONT标记中的字体,尽管FONT已不被提倡。

  ■ 更好的方法–关联:

  我并讲不出抛弃FONT标记的理由,只知道这是潮流。显然CSS提供更好的方法避免你在像上面的例子一样使用FONT标记,那就是: 关联。 可以在HEAD部分的CSS定义中加入如下行: P I {font-family:times} /*P和I之间的空格不能少*/

  在HTML中:

要显示的文字在这里

  虽然你没有使用FONT FACE,但根据HEAD部分的CSS定义,P标记里的I标记使用的字体一定是TIMES。要提起注意的是那行CSS样式只作用于P标记里的I标记。

■ 大小控制方法:

  以下是控制文字大小的三种方法:

使用大小单位,pt(点),px(像素),em,及其他单位;
使用关键字(xx-small,x-small,small,medium,large,x-large,xx-large);
使用比例参数(150%等)。
例如:

p {font-size:12pt};
p {font-size:large};
p {font-size:200%};
■ 字体风格:
斜体 p {font-style:italic};
粗体 p {font-weight:bold};
  在字重的设定方面,还有lighter(更轻)和bolder(更重),还可以使用数字100,200到900最重。

  字体风格和字重都有一个共同的参数normal,一旦设为normal也就取消了字重和风格设置。

■ FONT-VARIANT:

  FONT-VARIANT 可以将正常文字尺寸缩小一半后转为大写:

h2 {font-variant:small-caps}
■ TEXT-TRANSFORM:
  完全控制字母大小写:

全部大写:h2 {text-transform:uppercase};
全部小写:h2 {text-transform:lowercase};
单词第一个字母大写:h2 {text-transform:capitalize};
取消所有设定:h2 {text-transform:none};
■ TEXT-DECORATION:
  哪天你突发奇想,希望链接没有下划线,现在你可以做到:

文字下划线:A:link{text-decoration:underline};
文字上划线:A:link{text-decoration:overline};
文字删除线:A:link{text-decoration:line-through};
文字闪烁:A:link{text-decoration:blink};
不要任何效果:A:link{text-decoration:none}
■ 字间距:

  利用字间距属性word-spacing,可以调整单词间的距离。

h2 {word-spacing:5pt}
■ 字母间距:
  利用字母间距属性letter-spacing,可以调整单词中每个字母间的距离。

h2 {letter-spacing:10pt};
■ 行高:
  与字距不同的是行距line-height,它调整的是行与行间垂直方向的距离,有三种方法设置:

数值:h3 {font-size:12pt; line-height:2};/*此处line-height=2×12pt=24pt */
长度单位:h3 {font-size:12pt; line-height:24pt};
比例:h3 {font-size:12pt; line-height:200%};
  无论是字距或字母间距或行距都有一个共同的参数:normal,一旦设为normal就是要浏览器使用默认值。

■ 水平对齐:

  利用文字对齐属性text-align,可以控制段落的水平对齐:

h2 {text-align:center}
h2 {text-align:left}
h2 {text-align:right}
  这项属性可作用于

,

-

,
    标记。

    ■ 垂直对齐:
      利用垂直对齐属性vwrtical-align,可以控制对象(包括文字或图形)相对于母体的垂直位置:

    h2 {vertical-align:top}
    h2 {vertical-align:text-top}
    h2 {vertical-align:bottom}
    h2 {vertical-align:text-bottom}
    h2 {vertical-align:baseline}
    h2 {vertical-align:middle}
    h2 {vertical-align:sub}/*上标*/
    h2 {vertical-align:super}/*下标*/
      这些属性具体对齐效果如何,希望大家自已去试验。

    ■ 首行缩进:
      首行缩进text-indent,在文档排版中经常用到:

    h3 {text-indent:24pt}; ■ 容器的概念:
      根据CSS对网页样式的定义,页面上的所有元素都放在一个容器里,这个容器叫BOX。BOX也就包括:

    元素本身;
    围绕元素的空格;(padding)
    围绕元素空格外的边框;(border)
    边框外的边距。(margin)
    ■ 四个边距:
      margin用于设定上,右,下,左,边距:

    body {margin-top:10px;margin-right:20px;margin-bottom:30px;margin-left:40px}
    body {margin:10px 20px 30px 40px}/*效果与上面方式相同*/
      以上参数值同样可以是其他长度单位(如:pt,em等)或比例。

    ■ 顶,底,左,右空格填充:
      padding用于设置空格填充范围,用法与边距属性相同:

    h3 {margin-top:10px;margin-right:20px;margin-bottom:30px;margin-
    left:40px};
    h3 {margin:10px 20px 30px 40px}
    ■ 边框:
      border可设定的属性很多,包括颜色和宽度,关键是可以指定每个边的宽度和每个边的颜色 。

    边框宽度border-width可以是thin,medium,thick或长度值:
    h3 {border-top-width:2px;border-right-width:4px;border-bottom-width:6px;border-left-width:8px};
    h3 {border-width:2px 4px 6px 8px}/*与上面相同*/

    p {border-top-width:thin;border-right-width:medium;border-bottom-
    width:thick;border-left-width:none};
    p {border-width:thin medium thick none}/*与上面相同,左边框将不显示*/

    边框颜色border-color定义方法与宽度定义相似,颜色值也可以用RGB值(如#ff00ff):
    h3 {border-color:red blue yellow green}/*上:红;右:蓝;下:黄;左:绿*/
    h3 {border-color:red blue }/*上,下:红;右,左:蓝;*/
    h3 {border-color:#ff00ff }/*所有边框为#ff00ff色*/

    边框线的线条式样border-style,有九个关键字来描述:
    none /*不画边框,不论边框厚度是多少*/
    dotted /*由点组成的虚线*/
    dash /*由短线组成的虚线*/
    solid /*实线 */
    double /*双实线*/
    groove /*3D沟状*/
    ridge /*3D脊状*/
    inset /*3D内嵌*/
    outset /*3D外嵌*/
    其使用方法与厚度、颜色相似,不再多讲。

    一条边框的颜色,厚度,线条式样可以在一条语句中定义。例:
    h1 {border-top:5px solid red}
      这么多的参数,这么多的组合,要想得心应手,不下一番功夫去练习是不可能达到的。
    ■ 背景颜色:

      background-color,用它可以指定整个网页的背景颜色,也可以是某一个单词。在传统的HTML中要将背景颜色应用到一段文字上是一件麻烦事,要将文字放在表格中再设置表格的背景。CSS使之变得非常容易。

      P.colorback {background-color:#ff0000}

      颜色可以是颜色名(如red)、十六进制数(如#ff0000)、RGB值(如RGB(255,0,0))。

    ■ 背景图片:

      background-image,用它可以指定整个网页的背景图片(将它放在BODY标签内),也可以是某一个单词。

    background-repeat 是否循环背景
    p {background-repeat:no-repeat;background-image:url(background.gif)}/*不循环*/
    p {background-repeat:repeat;background-image:url(background.gif)}/*循环*/
    background-attachment 是否固定背景
    body {background-attachment:scroll;background-image:url(background.gif)}/*随文字一起滚动*/
    body {background-attachment:fixed;background-image:url(background.gif)}/*固定不动*/
      P.colorback {background-color:#ff0000}

      颜色可以是颜色名(如red)、十六进制数(如#ff0000)、RGB值(如RGB(255,0,0))。

    ■ 背景定位:

      background-position用于设置背景的位置:

    p {background-position:top;background-image:url(background.gif)};

      background-position其参数可以是关键字、长度数、比例值。

    关键字;
    top /*背景图像与前景对象的顶部对齐*/
    bottom /*背景图像与前景对象的底部对齐*/
    left /*背景图像与前景对象的左边对齐*/
    right /*背景图像与前景对象的右边对齐*/
    center /*与前面四个任一个组合,变成水平或垂直居中*/

    长度数;
    可以是任何一种以前学过的长度单位(pt,px,ems…),例如:
    p{background-position:100px 50px;
    background-image:url(background.gif)}表示从左上角起水平100像素,垂直50像素的位置摆放。

    比例值;
    例如:p{background-position:85% 50%;
    background-image:url(background.gif)}
    表示从距离段落的右边85%,垂直距离段落顶端50%的位置摆放。

2006年08月27日大千世界

没有评论
47 views

<转>10年跳槽经验总结

首先,真正的高级人才是不用找工作的,因为只有被工作找的份。

  但是,难免有些高级人才厌倦了旧的工作环境,或者遇到天花板,没有了发展空间,或者遇到新老板上任后排除异己来提拔自己的亲信等等,如果您真打算自己去找工作,那么至少需注意以下几点:

  1。网上求职尤其需注意那些一天到晚在网上打招聘广告的公司。这类公司通常分成两类:
  一类是垃圾公司,如一些别有用心的保险公司、中介公司等。这类公司以获取你的个人资源和个人信息为目的。

  二类是某些小有名气的公司,但由于用人条件苛刻并且薪资待遇与他们的苛刻要求不匹配,所以一年到头在招人,却总也招不到让他们满意的人。还有一些著名公司,以打广告为目的,招人为幌子,一个破烂职位能放在网上招一两年。

  2。千万小心猎头公司。他们更象是猎狗公司,他们嗅觉灵敏,对打探个人隐私有着狂热而又执着的癖好,往往是工作没给你找成功,却把你现在工作的公司,以前工作的公司闹得沸沸扬扬。如果你不想丢掉现在的工作,不想让你以前的同事议论非非,那么,请慎重选择猎头公司,慎重透露你的隐私给猎头公司。切记切记。

  3。只给你发邮件而不打电话叫你去面试的公司,必须不予理睬。通常是一些垃圾公司,没有能力满足你的基本要求。他们自己也没把握雇得起你,所以连电话费也免了。

  4。第一次电话就让你于某月某日几点钟去哪里面试的公司,必须立刻回绝。因为你到时候到那里一看,一堆刚毕业2、3年的年轻后生正爬在桌子上填写简历。你跟这些人竞争的结果就是你的工资最多只有他们的1倍高,5、6千顶天了。那么应该怎么回答呢?告诉人事经理,我没空,我只有莫月某日下午几点钟才有空,若不然,就不用去了,浪费时间,肯定是低级职位。

  5。第一次面试就让你带好学历学位证书去面试的公司,千万别去,因为不用问,肯定是低级职位。

  6。去公司面试前必须问清楚是谁面试你,如果得知不是总经理或副总经理来面你,那么我劝你立刻回绝这个职位,因为如果面你的是个低三下四的中层干部,那么你的职位肯定是低四下五的低贱职位。总之,打扮得笔挺结果给猪看了,即花钱又浪费时间。

  7。一进门就让你填一堆表格的公司,必须立马走人,因为这是招聘中低等员工的惯用伎俩,特别是对那些喜欢出一些狗屁不通的试卷的公司,千万不要跟他们浪费时间。况且,应聘的人为了得到这份工作,根本就不可能按自己的真实情况回答这种测试卷,废纸一堆,招聘的人根本不懂人事管理。

  8。不要去人才市场找工作,高端职位不是放在菜市场上卖的。

  9。如果公司所在城市离你较远,需要飞机前往,一定要问明公司报销不报销路费。如果不报销,或者说如果录取就报销的公司,建议不要冒险去试。即使十个面试者中最后被你淘汰了九个,你还是会发现该公司的福利待遇极差极差。惨痛教训,切记勿再试。

  10。要知道一个公司的整体面貌和素质如何,那就请留意人事部职员的面貌,尤其是人事经理的素质往往是一个公司整体素质的缩影。如果接待你的人事经理较热心较礼貌周到,那么该公司的工作氛围一般较好,如果人事经理较冷漠或不很礼貌,那么该公司同事关系往往较残酷较冷漠。

  11。不要试图跟新加坡或台湾老板共事,否则你就等着身心接受摧残和扭曲吧。

  12。注意Hr的职业病,几乎每个HR都有窥探癖和多疑症。

  13。最后一条,也是最重要的一条,12年的跳槽经验表明,较好的中国公司及正规的外企正愈来愈倾向于日本企业的终身雇佣制度,即:拒绝跳槽,拒绝人才流动。所有的HR都有一种固执而又变态的心理:他不希望成为你的第一个开苞的男人,但却强烈地希望是你的第二个雇主,并且是在该领域被第一个雇主用了5年到八年之后,同时希望自己是你的最后一个雇主。所以HR对你的跳槽经历往往怀有一种强烈的偏见和关注,对你跳槽原因的研究兴趣近乎变态。所以,对于绝大多数求职者来讲,最好的选择就是:不跳槽。或者至少在一个单位工作5~8年再考虑跳槽,而作为对这5~8年经验的积累的回报,薪水往往应该加倍,否则就是你贱卖了自己。这就是薪水一路加倍的秘密。

  14。最后,祝各位达人职业生涯中薪水加倍加倍再加倍!

2006年08月25日设计代码

没有评论
33 views

用CSS实现滚动条的彩色显示





Div+CSS+JS树型菜单,可刷新







工作需要搞了一个菜单,分享给大家,大家一齐学习


请大家支持:http://www.webjx.com



怎么改善现有网站为xhtml+CSS

我们大部分的设计师依旧在采用传统的表格布局、表现与结构混杂在一起的方式来建立网站。学习使用XHTML+CSS的方法需要一个过程,使现有网站符合网站标准也不可能一步到位。最好的方法是循序渐进,分阶段来逐步达到完全符合网站标准的目标。如果你是新手,或者对代码不是很熟悉,也可以采用遵循标准的编辑工具,例如Dreamweaver MX 2004,它是目前支持CSS标准最完善的工具。

1.初级改善
为页面添加正确的DOCTYPE
很多设计师和开发者都不知道什么是DOCTYPE,DOCTYPE有什么用。DOCTYPE是document type的简写。主要用来说明你用的XHTML或者HTML是什么版本。浏览器根据你DOCTYPE定义的DTD(文档类型定义)来解释页面代码。所以,如果你不注意设置了错误的DOCTYPE,结果会让你大吃一惊。XHTML1.0提供了三种DOCTYPE可选择:

(1)过渡型(Transitional )


(2)严格型(Strict )


(3)框架型(Frameset )


对于我们初级改善来说,只要选用过渡型的声明就可以了。它依然可以兼容你的表格布局、表现标识等,不至于让你觉得变化太大,难以掌握。

Tip:你懒得输入上面过渡型代码的话,可以访问http://www.macromedia.com/网站的首页,然后查看源代码,把head区同样的代码拷贝粘贴就可以了。

设定一个名字空间(Namespace)
直接在DOCTYPE声明后面添加如下代码:


一个namespace是收集元素类型和属性名字的一个详细的DTD,namespace声明允许你通过一个在线地址指向来识别你的namespace。只要照样输入代码就可以。

声明你的编码语言
为了被浏览器正确解释和通过标识校验,所有的XHTML文档都必须声明它们所使用的编码语言。代码如下:


这里声明的编码语言是简体中文GB2312,你如果需要制作繁体内容,可以定义为BIG5。

用小写字母书写所有的标签
XML对大小写是敏感的,所以,XHTML也是大小写有区别的。所有的XHTML元素和属性的名字都必须使用小写。否则你的文档将被W3C校验认为是无效的。例如下面的代码是不正确的:

正确的写法是:

同样的,

改成

改成等等。这步转换很简单。
为图片添加 alt 属性
为所有图片添加alt属性。alt属性指定了当图片不能显示的时候就显示供替换文本,这样做对正常用户可有可无,但对纯文本浏览器和使用屏幕阅读机的用户来说是至关重要的。只有添加了alt属性,代码才会被W3C正确性校验通过。注意的是我们要添加有意义的alt属性,象下面这样的写法毫无意义:

"logo_unc_120x30.gif"
正确的写法:

"UNC公司标志,点击返回首页"
给所有属性值加引号
在HTML中,你可以不需要给属性值加引号,但是在XHTML中,它们必须被加引号。

例:height="100",而不能是height=100。

关闭所有的标签
在XHTML中,每一个打开的标签都必须关闭。就象这样:

每一个打开的标签都必须关闭。

HTML可以接受不关闭的标,XHTML就不可以。
这个规则可以避免HTML的混乱和麻烦。举例来说:如果你不关闭图像标签,在一些浏览器中就可能出现CSS显示问题。用这种方法能确保页面和你设计的一样显示。需要说明的是:空标签也要关闭,在标签尾部使用一个正斜杠"/"来关闭它们自己。例如:


经过上述七个规则处理后,页面就基本符合XHTML1.0的要求。但我们还需要校验一下是否真的符合标准了。我们可以利用W3C提供免费校验服务(http://validator.w3.org/)。发现错误后逐个修改。在后面的资源列表中我们也提供了其他校验服务和对校验进行指导的网址,可以作为W3C校验的补充。当最后通过了XHTML验证,恭喜你已经向网站标准迈出了一大步。不是想象中的那么难吧!

2.中级改善
接下来我们的改善主要在结构和表现相分离上,这一步不象第一步那么容易实现,我们需要观念上的转变,以及对CSS2技术的学习和运用。但学习任何新知识都需要花点时间的,不是吗?诀窍在于边做边学。假如你一直采用表格布局,根本没用过 CSS,也不必急于跟表格布局说再见,你可以先用样式表代替 font 标签。随着你学到的越多,你能做的就越多。好,一起来看看我们需要做哪些事:

用CSS定义元素外观
我们在写标识时已经养成习惯,当希望字体大点就用

,希望在前面加个点符号就用
  • 。我们总是想

    的意思是大的,
  • 的意思是圆点,的意思是“加粗文本”。而实际上,

    能变成你想要的任何样子,通过CSS,

    能变成小的字体,

    文本能够变成巨大的、粗体的,

  • 能够变成一张图片等等。我们不能强迫用结构元素实现表现效果,我们应该使用CSS来确定那些元素的外观。例如,我们可以使原来默认的6级标题可以看起来大小一样:

    h1, h2, h3, h4, h5, h6{ font-family: 宋体, serif; font-size: 12px; }
    用结构化元素代替无意义的垃圾
    许多人可能从来都不知道HTML和XHTML元素设计本意是用来表达结构的。我们很多人已经习惯用元素来控制表现,而不是结构。例如,一段列表内容可能会使用下面这样的标识:

    句子一
    句子二
    句子三
    如果我们采用一个无序列表代替会更好:

    • 句子一
    • 句子二
    • 句子三

    你或许会说“但是

  • 显示的是一个圆点,我不想用圆点”。事实上,CSS没有设定元素看起来是什么样子,你完全可以用CSS关掉圆点。

    给每个表格和表单加上id
    给表格或表单赋予一个唯一的、结构的标记,例如

    接下来,在书写样式表的时候,你就可以创建一个“menu”的选择器,并且关联一个CSS规则,用来告诉表格单元、文本标签和所有其他元素怎么去显示。这样,不需要对每个
    标签附带一些多余的、占用带宽的表现层的高、宽、对齐和背景颜色等等属性。只需要一个附着的标记(标记“menu”的id标记),你就可以在一个分离的样式表内为干净的、紧凑的代码标记进行特别的表现层处理。

    中级改善我们这里先列主要的三点,但其中包含的内容和知识点非常多,需要我们逐步学习和掌握,直到最后实现完全采用CSS而不才用任何表格实现布局。

    常用CSS样式

    按钮样式*/
    .ButtonCss {}{
    font-family: "Tahoma", "宋体";
    font-size:9pt; color: #003399;
    border: 1px #003399 solid;
    color:006699;
    BORDER-BOTTOM: #93bee2 1px solid;
    BORDER-LEFT: #93bee2 1px solid;
    BORDER-RIGHT: #93bee2 1px solid;
    BORDER-TOP: #93bee2 1px solid;
    background-image:url(../Images/bluebuttonbg.gif);
    background-color: #e8f4ff;
    CURSOR: hand;
    font-style: normal ;
    width:60px;
    height:22px;
    }

    /**//*蓝色按钮样式*/
    .blueButtonCss {}{
    font-family: "Tahoma", "宋体";
    font-size: 9pt; color: #003366;
    border: 0px #93bee2 solid;
    /**//* BORDER-BOTTOM: #93bee2 1px solid;
    BORDER-LEFT: #93bee2 1px solid;
    BORDER-RIGHT: #93bee2 1px solid;
    BORDER-TOP: #93bee2 1px solid;*/
    background-image:url(../Images/blue_button_bg.gif);
    background-color: #ffffff;
    CURSOR: hand;
    font-style: normal ;
    }

    /**//*红色按钮样式*/
    .redButtonCss {}{
    font-family: "Tahoma", "宋体";
    font-size: 9pt; color: #0066cc;
    border: 1px #93bee2 solid;
    BORDER-BOTTOM: #93bee2 1px solid;
    BORDER-LEFT: #93bee2 1px solid;
    BORDER-RIGHT: #93bee2 1px solid;
    BORDER-TOP: #93bee2 1px solid;
    background-image:url(../Images/redbuttonbg.gif);
    background-color: #ffffff;
    CURSOR: hand;
    font-style: normal ;
    }
    /**//*选择按钮样式*/
    .selectButtonCss
    {}{
    font-family: "Tahoma", "宋体";
    font-size: 9pt; color: #0066cc;
    border: 1px #93bee2 solid;
    BORDER-BOTTOM: #93bee2 1px solid;
    BORDER-LEFT: #93bee2 1px solid;
    BORDER-RIGHT: #93bee2 1px solid;
    BORDER-TOP: #93bee2 1px solid;
    background-image:url(../Images/blue_button_bg.gif);
    background-color: #ffffff;
    CURSOR: hand;
    font-style: normal ;
    }

    /**//*绿色按钮样式*/
    .greenButtonCss {}{
    font-family: "Tahoma", "宋体";
    font-size: 9pt; color: #0066cc;
    border: 1px #93bee2 solid;
    BORDER-BOTTOM: #93bee2 1px solid;
    BORDER-LEFT: #93bee2 1px solid;
    BORDER-RIGHT: #93bee2 1px solid;
    BORDER-TOP: #93bee2 1px solid;
    background-image:url(../Images/greenbuttonbg.gif);
    background-color: #ffffff;
    CURSOR: hand;
    font-style: normal ;
    }
    /**//*图像按钮*/
    .imageButton
    {}{
    CURSOR: hand; /**//*改变鼠标形状*/
    }
    /**//*页面正文样式*/
    body
    {}{
    scrollbar-face-color: #EDEDF3;
    scrollbar-highlight-color: #ffffff;
    scrollbar-shadow-color: #93949F;
    scrollbar-3dlight-color: #EDEDF3;
    scrollbar-arrow-color: #082468;
    scrollbar-track-color: #F7F7F9;
    scrollbar-darkshadow-color: #EDEDF3;

    font-size: 9pt;
    color: #003366;
    overflow:auto;
    }
    TD {}{ FONT-SIZE: 12px }
    TH
    {}{
    FONT-SIZE: 12px;
    }
    /**//*************************************
    下拉选择框显示风格
    *************************************/
    Select
    {}{
    BORDER-RIGHT: #000000 1px solid;
    BORDER-TOP: #FFFFFF 1px solid;
    FONT-SIZE: 12px;
    BORDER-LEFT: #FFFFFF 1px solid;
    COLOR:#003366;
    BORDER-BOTTOM: #000000 1px solid;
    BACKGROUND-COLOR: #f4f4f4;
    }

    /**//*****************************************************
    超级链接显示风格
    *****************************************************/
    A:Link, A:Visited{}{color:#223355;text-decoration: none}
    A:Hover{}{color:red;text-decoration:none;}

    A.highlight:link, A.highlight:visited {}{ color:red; text-decoration:none }
    A.highlight:hover {}{ color:red; text-decoration:underline }

    A.thisclass:link, A.thisclass:visited {}{ color: #D9EBFD; font-weight:bold; text-decoration:none }
    A.thisclass:hover {}{ color: #FFFFFF;font-weight:bold; }

    A.navlink:link, A.navlink:visited {}{color: #D9EBFD; text-decoration:none}
    A.navlink:hover {}{color: #FFFFFF; text-decoration:none }

    /**//*****************************************************
    线条文本编辑框显示风格
    *****************************************************/
    .EditBox
    {}{
    background: #ffffff;
    border: 1px solid #B7B7B7;
    color: #003366;
    cursor: text;
    font-family: "Arial";
    font-size: 9pt;
    height: 18px;
    padding: 1px;
    }
    /**//****************************************************
    多行文本框样式
    *****************************************************/
    .MultiEditBox
    {}{
    background: #f8f8f8;
    border-bottom: #B7B7B7 1px solid;
    border-left: #B7B7B7 1px solid;
    border-right: #B7B7B7 1px solid;
    border-top: #B7B7B7 1px solid;
    color: #000000;
    cursor: text;
    font-family: "Arial";
    font-size: 9pt;
    padding: 1px;
    }

    /**//*****************************************************
    阴影风格的表单
    *****************************************************/
    .Shadow
    {}{
    position:absolute;
    z-index:1000;
    top:0px;
    left:0px;
    background:gray;
    background-color:#FFCC00;
    filter : progid:DXImageTransform.Microsoft.DropShadow(color=#FF404040,offX=2,offY=2,positives=true);
    }
    /**//*****************************************************
    只显一条横线的Text的样式!
    *****************************************************/
    .logintxt
    {}{
    BORDER-RIGHT: #ffffff 0px solid;
    BORDER-TOP: #ffffff 0px solid;
    FONT-SIZE: 9pt;
    BORDER-LEFT: #ffffff 0px solid;
    BORDER-BOTTOM: #c0c0c0 1px solid;
    BACKGROUND-COLOR: #ffffff
    }
    /**//*****************************************************
    DataGrid页眉样式
    *****************************************************/
    .dgTitle
    {}{
    height:25px;
    color:#ffffff;
    font-size:large;
    text-align:center;
    vertical-align:middle;
    BACKGROUND-IMAGE:url(../images/tableTitle2.gif); height:25px

    }

    /**//*****************************************************
    DataGrid数据显示样式
    *****************************************************/
    .dgItem
    {}{
    height:15px;
    text-align:center;
    vertical-align:middle;
    }
    /**//*****************************************************
    文本框显示样式
    *****************************************************/
    .clarity
    {}{
    BORDER-RIGHT: #ffffff 0px solid;
    BORDER-TOP: #ffffff 0px solid;
    FONT-SIZE: 9pt;
    BORDER-LEFT: #ffffff 0px solid;
    BORDER-BOTTOM: #ffffff 0px solid;
    }
    TABLE.List {}{ border-top: 1px solid #000000; border-bottom: 1px solid #000000; }
    TABLE.List TH,TABLE.List TD {}{ padding:4px;background-color:#eeeeee;border-bottom:2px solid #ffffff;border-right:1px solid #ffffff;border-left:1px solid #ffffff;color:#000000}
    TABLE.List TH {}{ background-color:#0064a8;border-top:2px solid #ffffff;color:#ffffff;font-weight:normal;}
    TABLE.List TH A:link {}{COLOR: #ffffff; TEXT-DECORATION: none}
    TABLE.List TH A:visited {}{COLOR: #ffffff; TEXT-DECORATION: none}
    TABLE.List TH A:hover {}{COLOR: #ffffff; TEXT-DECORATION: underline}

    TABLE.Form TH,TABLE.Form TD {}{ padding:4px;background-color:#f6f6f6;border-bottom:1px solid #F6F6F6;border-right:1px solid #ffffff;border-left:1px solid #ffffff;color:#000000}
    TABLE.Form TH {}{ background-color:#E8E8E8;border-top:1px solid #ffffff;color:#006699;font-size:12px;font-weight:normal;border-bottom:1px;}
    TABLE.Form TH A:link {}{COLOR: #ffffff; TEXT-DECORATION: none}
    TABLE.Form TH A:visited {}{COLOR: #ffffff; TEXT-DECORATION: none}
    TABLE.Form TH A:hover {}{COLOR: #ffffff; TEXT-DECORATION: underline}

    TABLE.Sample TD {}{ padding:2px;background-color:#f6f6f6;border-bottom:1px solid #000000;border-top:1px solid #000000;border-right:1px solid #000000;border-left:1px solid #000000;color:#000000}
    TABLE.Sample TH {}{ background-color:#AEC1D7;border-bottom:1px solid #000000;border-top:1px solid #000000;border-right:1px solid #000000;border-left:1px solid #000000;color:#000000;font-weight:normal;}

    TABLE.SampleD TD {}{ padding:2px;border-bottom:1px solid #000000;border-top:1px solid #000000;border-right:1px solid #000000;border-left:1px solid #000000;color:#000000}
    TABLE.SampleD TH {}{ border-bottom:1px solid #000000;border-top:1px solid #000000;border-right:1px solid #000000;border-left:1px solid #000000;color:#000000;font-weight:normal;}

    TABLE.Form1 TH,TABLE.Form1 TD {}{ padding:4px;background-color:#BED8F3;border-bottom:1px solid #ffffff;border-right:1px solid #ffffff;border-left:1px solid #ffffff;color:#000000}
    /**//*****************************************************
    没有边框的输入框
    *****************************************************/
    .NoneInput
    {}{
    text-align:center;
    width:99%;height:99%;
    border-top-style: none;
    border-right-style: none;
    border-left-style: none;
    background-color: #f6f6f6;
    border-bottom-style: none;
    }

    /**//*****************************************************
    扁平风格的表单样式
    *****************************************************/

    /**//*****************************************************/
    TABLE
    {}{
    border-collapse:collapse;
    }

    /**//*
    进度条样式
    */
    .bi-loading-status {}{
    /**//*position: absolute;*/
    width: 150px;
    padding: 1px;
    overflow: hidden;
    background-color:Gray;
    }

    .bi-loading-status .text {}{
    white-space: nowrap;
    overflow: hidden;
    width: 100%;
    text-overflow: ellipsis;
    padding: 1px;
    }

    .bi-loading-status .progress-bar {}{
    border: 1px solid ThreeDShadow;
    background: window;
    height: 10px;
    width: 100%;
    padding: 1px;
    overflow: hidden;
    }

    .bi-loading-status .progress-bar div {}{
    background: Highlight;
    overflow: hidden;
    height: 100%;
    filter: Alpha(Opacity=0, FinishOpacity=100, Style=1, StartX=0, StartY=0, FinishX=100, FinishY=0);
    }
    /**//*****************************************************
    表头背景
    *****************************************************/
    .tabletop {}{
    BACKGROUND-IMAGE: url(../images/tableTitle2.gif);height:25px;
    }
    /**//*****************************************************
    大标题
    *****************************************************/
    .tabletitle{}{
    font-family: "Arial";FONT-SIZE: 12pt; COLOR:#0066cc;font-weight:bolder;filter : progid:DXImageTransform.Microsoft.DropShadow(color=#CCFFFF,offX=1,offY=1,positives=true);
    }
    /**//*****************************************************
    小标题
    *****************************************************/
    .smalltitle{}{
    background-color:#E8E8E8;font-size:12px;font-weight:normal;color:#006699;
    }
    .calendarborder{}{
    border: 1px #B7B7B7 solid;
    }

    用CSS做的几个漂亮的Button



    class=btn1_mouseout onmouseover="this.className='btn1_mouseover'"
    onmouseout="this.className='btn1_mouseout'"
    > 好看的Green Button &nbsp;
    class=btn1_mouseout onmouseover="this.className='btn1_mouseover'"
    onmouseout="this.className='btn1_mouseout'" DISABLED
    > 好看的Green Button


    CSS的优化与技巧

    使用css缩写 使用缩写可以帮助减少你CSS文件的大小,更加容易阅读。css缩写的主要规则请参看《常用css缩写语法总结》,这里就不展开描述。
    二.明确定义单位,除非值为0
    忘记定义尺寸的单位是CSS新手普遍的错误。在HTML中你可以只写width=100,但是在CSS中,你必须给一个准确的单位,比如:width:100px width:100em。只有两个例外情况可以不定义单位:行高和0值。除此以外,其他值都必须紧跟单位,注意,不要在数值和单位之间加空格。
    三.区分大小写
    当在XHTML中使用CSS,CSS里定义的元素名称是区分大小写的。为了避免这种错误,我建议所有的定义名称都采用小写。
    class和id的值在HTML和XHTML中也是区分大小写的,如果你一定要大小写混合写,请仔细确认你在CSS的定义和XHTML里的标签是一致的。
    四.取消class和id前的元素限定
    当你写给一个元素定义class或者id,你可以省略前面的元素限定,因为ID在一个页面里是唯一的,鴆las s可以在页面中多次使用。你限定某个元素毫无意义。例如:
    div#content { /* declarations */ }
    fieldset.details { /* declarations */ }
    可以写成
    #content { /* declarations */ }
    .details { /* declarations */ }
    这样可以节省一些字节。
    五.默认值
    通常padding的默认值为0,background-color的默认值是transparent。但是在不同的浏览器默认值可能不同。如果怕有冲突,可以在样式表一开始就先定义所有元素的margin和padding值都为0,象这样:
    * {
    margin:0;
    padding:0;
    }
    六.不需要重复定义可继承的值
    CSS中,子元素自动继承父元素的属性值,象颜色、字体等,已经在父元素中定义过的,在子元素中可以直接继承,不需要重复定义。但是要注意,浏览器可能用一些默认值覆盖你的定义。
    七.最近优先原则
    如果对同一个元素的定义有多种,以最接近(最小一级)的定义为最优先,例如有这么一段代码
    Update: Lorem ipsum dolor set
    在CSS文件中,你已经定义了元素p,又定义了一个classupdate
    p {
    margin:1em 0;
    font-size:1em;
    color:#333;
    }
    .update {
    font-weight:bold;
    color:#600;
    }

    这两个定义中,class=update将被使用,因为class比p更近。你可以查阅W3C的《 Calculating a selector’s specificity》 了解更多。
    八.多重class定义
    一个标签可以同时定义多个class。例如:我们先定义两个样式,第一个样式背景为#666;第二个样式有10 px的边框。
    .one{width:200px;background:#666;}
    .two{border:10px solid #F00;}
    在页面代码中,我们可以这样调用

    这样最终的显示效果是这个div既有#666的背景,也有10px的边框。是的,这样做是可以的,你可以尝试一下。
    九.使用子选择器(descendant selectors)
    CSS初学者不知道使用子选择器是影响他们效率的原因之一。子选择器可以帮助你节约大量的class定义。我们来看下面这段代码:

    这段代码的CSS定义是:
    div#subnav ul { /* Some styling */ }
    div#subnav ul li.subnavitem { /* Some styling */ }
    div#subnav ul li.subnavitem a.subnavitem { /* Some styling */ }
    div#subnav ul li.subnavitemselected { /* Some styling */ }
    div#subnav ul li.subnavitemselected a.subnavitemselected { /* Some styling */ }
    你可以用下面的方法替代上面的代码

    样式定义是:
    #subnav { /* Some styling */ }
    #subnav li { /* Some styling */ }
    #subnav a { /* Some styling */ }
    #subnav .sel { /* Some styling */ }
    #subnav .sel a { /* Some styling */ }
    用子选择器可以使你的代码和CSS更加简洁、更加容易阅读。
    十.不需要给背景图片路径加引号
    为了节省字节,我建议不要给背景图片路径加引号,因为引号不是必须的。例如:
    background:url(images/***.gif) #333;
    可以写为
    background:url(images/***.gif) #333;
    如果你加了引号,反而会引起一些浏览器的错误。
    十一.组选择器(Group selectors)
    当一些元素类型、class或者id都有共同的一些属性,你就可以使用组选择器来避免多次的重复定义。这可以节省不少字节。

    例如:定义所有标题的字体、颜色和margin,你可以这样写:
    h1,h2,h3,h4,h5,h6 {
    font-family:Lucida Grande,Lucida,Arial,Helvetica,sans-serif;
    color:#333;
    margin:1em 0;
    }
    如果在使用时,有个别元素需要定义独立样式,你可以再加上新的定义,可以覆盖老的定义,例如:
    h1 { font-size:2em; }
    h2 { font-size:1.6em; }
    十二.用正确的顺序指定链接的样式
    当你用CSS来定义链接的多个状态样式时,要注意它们书写的顺序,正确的顺序是::link :visited :hover :active。抽取第一个字母是LVHA,你可以记忆成LoVe HAte(喜欢讨厌)。为什么这么定义,可以参考Eric Meyer的《Link Specificity》。
    如果你的用户需要用键盘来控制,需要知道当前链接的焦点,你还可以定义:focus属性。:focus属性的效果也取决与你书写的位置,如果你希望聚焦元素显示:hover效果,你就把:focus写在:hover前面;如果你希望聚焦效果替代:hover效果,你就把:focus放在:hover后面。
    十三.清除浮动
    一个非常常见的CSS问题,定位使用浮动的时候,下面的层被浮动的层所覆盖,或者层里嵌套的子层超出了外层的范围。
    通常的解决办法是在浮动层后面添加一个额外元素,例如一个div或者一个br,并且定义它的样式为clear: both。这个办法有一点牵强,幸运的是还有一个好办法可以解决,参看这篇文章《How To Clear Floats Without Structural Markup》(注:本站将尽快翻译此文)。
    上面2种方法可以很好解决浮动超出的问题,但是如果当你真的需要对层或者层里的对象进行clear的时候怎么办?一种简单的方法就是用overflow属性,这个方法最初的发表在《Simple Clearing of Floats》,又在《Clearance》和《Super simple clearing floats》中被广泛讨论。
    上面那一种clear方法更适合你,要看具体的情况,这里不再展开论述。另外关于float的应用,一些优秀的文章已经说得很清楚,推荐你阅读:《Floatutorial》、《Containing Floats》和《Float Layouts》
    十四.横向居中(centering)
    这是一个简单的技巧,但是值得再说一遍,因为我看见太多的新手问题都是问这个:CSS如何横向居中?你需要定义元素的宽,并且定义横向的margin,如果你的布局包含在一个层(容器)中,就象这样:

    你可以这样定义使它横向居中:
    #wrap {
    width:760px; /* 修改为你的层的宽度 */
    margin:0 auto;
    }
    但是IE5/Win不能正确显示这个定义,我们采用一个非常有用的技巧来解决:用text-align属性。就象这样:
    body {
    text-align:center;
    }
    #wrap {
    width:760px; /* 修改为你的层的宽度 */
    margin:0 auto;
    text-align:left;
    }
    第一个body的text-align:center; 规则定义IE5/Win中body的所有元素居中(其他浏览器只是将文字居中) ,第二个text-align:left;是将#warp中的文字居左。
    十五.导入(Import)和隐藏CSS
    因为老版本浏览器不支持CSS,一个通常的做法是使用@import技巧来把CSS隐藏起来。例如:
    @import url(main.css);
    然而,这个方法对IE4不起作用,这让我很是头疼了一阵子。后来我用这样的写法:
    @import main.css;
    这样就可以在IE4中也隐藏CSS了,呵呵,还节省了5个字节呢。想了解@import语法的详细说明,可以看这里《centricle’s css filter chart》
    十六.针对IE的优化
    有些时候,你需要对IE浏览器的bug定义一些特别的规则,这里有太多的CSS技巧(hacks),我只使用其中的两种方法,不管微软在即将发布的IE7 beta版里是否更好的支持CSS,这两种方法都是最安全的。
    1.注释的方法

    (a)在IE中隐藏一个CSS定义,你可以使用子选择器(child selector):
    html>body p {
    /* 定义内容 */
    }

    (b)下面这个写法只有IE浏览器可以理解(对其他浏览器都隐藏)
    * html p {
    /* declarations */
    }

    (c)还有些时候,你希望IE/Win有效而IE/Mac隐藏,你可以使用反斜线技巧:
    /* */
    * html p {
    declarations
    }
    /* */
    2.条件注释(conditional comments)的方法

    另外一种方法,我认为比CSS Hacks更加经得起考验就是采用微软的私有属性条件注释(conditional comments)。用这个方法你可以给IE单独定义一些样式,而不影响主样式表的定义。就象这样:

    十七.调试技巧:层有多大?
    当调试CSS发生错误,你就要象排版工人,逐行分析CSS代码。我通常在出问题的层上定义一个背景颜色,这样就能很明显看到层占据多大空间。有些人建议用border,一般情况也是可以的,但问题是,有时候border 会增加元素的尺寸,border-top和boeder-bottom会破坏纵向margin的值,所以使用background更加安全些。
    另外一个经常出问题的属性是outline。outline看起来象boeder,但不会影响元素的尺寸或者位置。只有少数浏览器支持outline属性,我所知道的只有Safari、OmniWeb、和Opera。
    十八.CSS代码书写样式
    在写CSS代码的时候,对于缩进、断行、空格,每个人有每个人的书写习惯。在经过不断实践后,我决定采用下面这样的书写样式:
    selector1,
    selector2 {
    property:value;
    }
    当使用联合定义时,我通常将每个选择器单独写一行,这样方便在CSS文件中找到它们。在最后一个选择器和大括号{之间加一个空格,每个定义也单独写一行,分号直接在属性值后,不要加空格。
    我习惯在每个属性值后面都加分号,虽然规则上允许最后一个属性值后面可以不写分号,但是如果你要加新样式时容易忘记补上分号而产生错误,所以还是都加比较好。
    最后,关闭的大括号}单独写一行。
    空格和换行有助与阅读

    CSS实现简单的图片防盗链代码

    实现方法很简单,在CSS中添加以下代码:

    img {
    filter:expression(
    this.不能去掉 ? "" :
    (
    (!this.complete) ? "" :
    this.runtimeStyle.filter = ("progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.src + "')") +
    String(this.不能去掉 = true).substr(0, 0) +
    (this.src = "http://siyizhu.com/styles/nicky/images/clear.gif").substr(0, 0)
    )
    );
    }

    CSS使用详解

     目录样式类型(List Style Type)
    说明:
      目录样式项属性指定目录项标记的类型,当目录样式图像值为none或当图像载入选项被关闭时使用。
    语法:
      list-style-type: <值>
    允许值:
      disc | circle | square | decimal | lower-roman | upper-roman | lower-alpha | upper-alpha | none
    初始值:
      disc
    适用于:
      带有显示值的目录项元素
    向下兼容:
      是

    目录样式图像(List Style Image)

    说明:
      当图像载入选项打开时,目录样式图像属性在指定目录项标记使用哪个图像代替由目录样式类型属性指定的标记。
    语法:
      list-style-image: <值>
    允许值:
       | none
    初始值:
      none
    适用于:
      带有显示值的目录项元素
    向下兼容:
      是

    目录样式位置(List Style Position)

    说明:
      目录样式位置属性可以取值inside(内部) or outside(外部),其中outside是缺省值。
    语法:
      list-style-position: <值>
    允许值:
      inside | outside
    初始值:
      outside
    适用于:
      带有显示值的目录项元素
    向下兼容:
      是

    目录样式(List Style)

    说明:
      目录样式属性是目录样式类型、目录样式位置,和目录样式图像属性的略写。
    语法:
      list-style: <值>
    允许值:
      <目录样式类型> || <目录样式位置> ||
    初始值:
      未定义
    适用于:
      带有显示值的目录项元素
    向下兼容:
      是

    颜色及背景属性(Color And Background Properties)

    颜色(Color)

    说明:
      颜色属性允许网页制作者指定一个元素的颜色。
    语法:
      color: <颜色>
    初始值:
      由浏览器决定
    适用于:
      所有对象
    向下兼容:
      是

    背景颜色(Background Color)

    说明:
      背景颜色属性设定一个元素的背景颜色。
    语法:
      background-color: <值>
    允许值:
      <颜色> | transparent (透明)
    初始值:
      transparent (透明)
    适用于:
      所有对象
    向下兼容:
      否

    背景图像(Background Image)

    说明:
      背景图像属性设定一个元素的背景图像。
    语法:
      background-image: <值>
    允许值:
      <统一资源定位URLs> | none (无)
    初始值:
      none (无)
    适用于:
      所有对象
    向下兼容:
      否

    背景重复(Background Repeat)

    说明:
      背景重复属性决定一个指定的背景图像如何被重复。值为repeat-x时,图像横向重复,当值为repeat-y时图像纵向重复。
    语法:
      background-repeat: <值>
    允许值:
      repeat | repeat-x | repeat-y | no-repeat
    初始值:
      repeat
    适用于:
      所有对象
    向下兼容:
      否

    背景附件(Background Attachment)

    说明:
      背景附件属性决定指定的背景图像是跟随内容滚动,还是被看作油画固定不动。
    语法:
      background-attachment: <值>
    允许值:
      scroll | fixed
    初始值:
      scroll
    适用于:
      所有对象
    向下兼容:
      否

    背景位置(Background Position)

    说明:
      图像位置属性给出指定背景图像的最初位置。这个属性只能应用于块级元素和替换元素。
    语法:
      background-position: <值>
    允许值:
      [<百分比> | <长度>]{1,2} | [top | center | bottom] || [left | center | right]
    初始值:
      0% 0%
    适用于:
      块级及替换元素
    向下兼容:
      否

    背景 (Background)

    说明:
      背景属性是一个更明确的背景-关系属性的略写。
    语法:
      background: <值>
    允许值:
      <背景颜色> || <背景图像> || <背景重复> || <背景附件> || <背景位置>
    初始值:
      未定义
    适用于:
      所有对象
    向下兼容:
      否