1. 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 这几个属性如果不做设定的话将默认为normal。
还有background,border等等.
1. 关于background的写法
DIV.comment{background:#f0f0f0 url(url address) repeat-x left top}
1)您可以看到background的第一个定义是一个颜色值这表示在背景图片失效的时候颜色将起作用。
2)url括号中的引号是没有必要的,我们可以不写引号
2. 关于Border的写法,如果您想定义div的四个边的颜色不同,而粗度和样式都一样,您可以这样写:
DIV.special{border:1px solid; border-color:color1 color2 color3 color4}
四种颜色一次是上,右,下,左的颜色
颜色相同就合并成:
DIV.special{border:1px solid color4}
2. 同时使用两个Class定义
一般我们只会给内容块指定一个Class,但这并不代表我们只能指定一个。实际上只要你愿意,可以同时把任意多个Class赋给某块内容。比如:
<p class="text side">...</p>
多个Class之间用空格分隔即可。当多个Class之间的属性发生重叠的时候,将根据各个Class在CSS定义文件中被定义的位置,后定义的Class属性自动覆盖之前定义的Class属性(而不是根据你在class="text side"这里排列的顺序来进行覆盖)
3. CSS border的缺省值
通常我们定义border属性都会提供color,width,style这些属性。比如 border: 3px solid #000 。不过实际上必须要提供的属性只有style。如果你只写 border: solid 的话,其他的属性自动使用缺省值。border的缺省宽度是medium(大约3px-4px),缺省的颜色是位于border里面的内容文字的颜色。如果这些缺省值可以满足你的要求,你完全可以省略这两项属性。
4. 专门用于打印的CSS文档
很多web页面都会提供一个打印链接,方便用户使用另一种适合打印界面的CSS。但实际上你完全可以为你的页面指定两个CSS文档link,这样浏览器会自动调用合适的CSS来用于显示或打印。比如:
<link type="text/css" rel="stylesheet" href="stylesheet.css" media="screen" />
<link type="text/css" rel="stylesheet" href="printstyle.css" media="print" />
通过指定link的media属性,浏览器就能根据需要来调用特定的CSS文件来处理页面了。关于打印更多的建议,请参见 Print Different,
5. CSS中的内容垂直对齐
用传统的table来实现垂直对齐很容易,只要用 vertical-align: middle 就可以让table的内容垂直居中。但这个属性在CSS里面却行不通。
解决方法是把内容的行高设置成与内容块一样高。比如你的div高是32px,那就在你的CSS定义里面添加属性 line-height: 32px; 这样文字看上去就垂直居中于层里面了。不过这个方法只适用于单行文字,对于多行文字,似乎没有什么好方法。
6. 让背景色能够垂直拉齐到底部
CSS与传统的table来说另一个让人不爽的地方是它的垂直层的对齐。如果你的页面分为两列,其中一列比较长而另一列比较短,同时两列的背景色和页面总的背景色是不同的话,显示出来的效果就比较丑陋,不像table那样只要把td的高度设成100%就能够把每一列的高度拉到一样长。
要解决这个问题似乎只能用一个取巧的办法,根据每列的宽度和背景色设置背景图片,让用户看上去似乎拉平了: