时间:2011-02-03 Tag:CSS 元素 图片替换 水平居中 本文主要面对CSS新手朋友,有一些东西或许不是搞的很明白。而这十则CSS技巧能促进你的学习与编码技巧,希望对大家有帮助
一、CSS字体属性简写规则
一般用CSS设定字体属性方法:
font-weight:bold;
font-style:italic;
font-varIEnt:small-caps;
font-size:1em;
line-height:1.5em;
font-family:verdana,sans-serif;
可以把它们全部写到一行上去:
font: bold italic small-caps 1em/1.5em verdana,sans-serif;
这样看起来是不是简单多了,只有一点要提醒的:这种简写方法只有在同时指定font-size和font-family属性时才起作用。而且,如果你没有设定font-weight, font-style, 以及font-varient,他们会使用缺省值,这点要记上。
二、CSS border的缺省值
通常可以设定边界的颜色,宽度和风格,如:
border: 3px solid #000;
这位把边界显示成3像素宽,黑色,实线。但实际上这里只需要指定风格即可。
如果只指定了风格,其他属性就会使用缺省值。一般地,Border的宽度缺省是medium,一般等于3到4个像素;缺省的颜色是其中文字的颜色。如果这个值正好合适的话,就不用设那么多了。
三、给元素同时使用两个类
一般一个元素设定一个类(Class),但这并不意味着不能用两个。事实上,你可以这样:
〈p class=”text side”>…〈/p>
同时给P元素两个类,中间用空格格开,这样所有text和side两个类的属性都会加到P元素上来。如果它们两个类中的属性有冲突的话,后设置的起作用,即在CSS文件中放在后面的类的属性起作用。
补充:对于一个ID,不能这样写〈p id=”text side”>…〈/p>也不能这样写
四、CSS用于文档打印
许多网站上都有一个针对打印的版本,但实际上这并不需要,因为可以用CSS来设定打印风格。
也就是说,可以为页面指定两个CSS文件,一个用于屏幕显示,一个用于打印:
〈link type=”text/css” rel=”stylesheet” href=”stylesheet.css” media=”screen” />
〈link type=”text/css” rel=”stylesheet” href=”printstyle.css” media=”print” />
第1行就是显示,第2行是打印,注意其中的media属性。
但应该在打印CSS中写什么东西呢?你可以按设计普通CSS的方法来设定它。设计的同时就可以把这个CSS设成显示CSS来检查它的效果。也许你会使用display: none 这个命令来关掉一些装饰图片,再关掉一些导航按钮等。
五、CSS图像替换窍门
一般都意见用标准的来呈现文本,而不能应用图像,这样不但快,也更具可读性。但假如你想用一些特殊字体时,就只能用图像了。
比如你想整个卖东西的ICON,你就用了那个图像:
<h1>< src=”widget-image.gif” alt=”Buy widgets” /></h1>
这当然能够,但对引擎来说,和正常文本相比,它们对alt里面的替换文本几乎没有兴趣这是由于许多设计者在这里放许多Keyword软件s来骗引擎。所以窍门应该是这样的:
<h1>Buy widgets</h1>
但这样就没有特殊字体了。要想达到同样效果,能够这样设计CSS:
h1 { background: (widget-image.gif) no-repeat; height: image height text-indent: -2000px }
留意把image height换成真的图像的高度。这里,图像会当作背景呈现出来,而真正的文本由于设定了-2000像素那个缩进,它们会呈目前屏幕左边2000点的地方,就看不见了。但这对于关闭图像的人来说,估计全部看不到了,这点要留意。
六、CSS box模型的另一种窍门
那个Box模型的调整主要是针对微软浏览器6之前的微软浏览器网页浏览器的,它们把边界宽度和空白都算在元素宽度上。比如:
#box { width: 100px; border: 5px; padding: 20px }
这样调用它:
<div id=”box”>…</div>
这时盒子的全宽应该是150点,这在除微软浏览器6之前的微软浏览器网页浏览器之外的所有网页浏览器上都是正确的。但在微软浏览器5这样的网页浏览器上,它的全宽仍是100点。能够用以前人发明的Box调整窍门来处理这种差异。
但用CSS也能够达到同样的目的,让它们呈现效果一致。
#box { width: 150px }
#box div { border: 5px; padding: 20px }
这样调用:
<div id=”box”><div>…</div></div>
这样,不管什么网页浏览器,宽度都是150点了。
七、CSS配置块元素水平居中对齐
假如想做个固定宽度的webpage并且想让webpage水平居中的话,通常是这样:
#content { width: 700px; margin: 0 auto }
你会应用 <div id=”content”> 来围上所有元素。这很简单,但不够好,微软浏览器6之前版本会呈现不出这种效果。改CSS如下:
body { text-align: center } #content { text-align: left; width: 700px; margin: 0 auto }
这会把webpage内容都居中,所以在Content中又加入了:text-align: left 。
八、用CSS来处理垂直对齐
垂直对齐用表格能够很方便地呈现,设定表格单元 vertical-align: middle 就能够了。但对CSS来说这没用。假如你想设定一个导航条是2em高,而想让导航文本垂直居中的话,设定那个属性是没用的。
CSS窍门是什么呢?对了,把这一些文本的行高设为 2em:line-height: 2em ,这就能够了。
九、CSS在容器内的档次
CSS的一个好处是能够把一个元素任意档次,在一个容器内也能够。比如对那个容器:
#container { position: relative }
这样容器内所有的元素都会相对档次,能够这样用:
<div id=”container”><div id=”navigation”>…</div></div>
假如想档次到距左30点,距上5点,能够这样:
#navigation { position: absolute; left: 30px; top: 5px }
当然,你还能够这样:
margin: 5px 0 0 30px
留意4个数字的顺序是:上、右、下、左。当然,有时候档次的窍门而否则边距的窍门更好些。
更多的CSS布局与技能,请参考52CSS.com的大量教学课程。
十、直通到屏幕底部的背景色
在垂直方向是停止控制是CSS所不能的。假如你想让导航栏和内容栏一样直通到PAGE底部,用表格是很方便的,但假如只用这样的CSS:
#navigation { background: blue; width: 150px }
较短的导航条是不会直通到底部的,半路内容结束时它就结束了。该怎么办呢?
不幸的是,只能采用隐瞒的手段了,给这较短的一栏加上个背景图,宽度和栏宽一样,并让它的颜色和设定的背景色一样。
body { background: (blue-image.gif) 0 0 repeat-y }
此时不能用em做单位,由于那样的话,一旦读者改变了字体大小,那个花招就会露馅,只能应用px