1. CSS字體定義簡寫規(guī)則
一般的寫法會是這樣:
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 這幾個屬性如果不做設(shè)定的話將默認(rèn)為normal。
還有background,border等等.
1. 關(guān)于background的寫法
DIV.comment{background:#f0f0f0 url(url address) repeat-x left top}
1)您可以看到background的第一個定義是一個顏色值這表示在背景圖片失效的時候顏色將起作用。
2)url括號中的引號是沒有必要的,我們可以不寫引號
2. 關(guān)于Border的寫法,如果您想定義div的四個邊的顏色不同,而粗度和樣式都一樣,您可以這樣寫:
DIV.special{border:1px solid; border-color:color1 color2 color3 color4}
四種顏色一次是上,右,下,左的顏色
顏色相同就合并成:
DIV.special{border:1px solid color4}
2. 同時使用兩個Class定義
一般我們只會給內(nèi)容塊指定一個Class,但這并不代表我們只能指定一個。實際上只要你愿意,可以同時把任意多個Class賦給某塊內(nèi)容。比如:
<p class="text side">...</p>
多個Class之間用空格分隔即可。當(dāng)多個Class之間的屬性發(fā)生重疊的時候,將根據(jù)各個Class在CSS定義文件中被定義的位置,后定義的Class屬性自動覆蓋之前定義的Class屬性(而不是根據(jù)你在class="text side"這里排列的順序來進(jìn)行覆蓋)
3. CSS border的缺省值
通常我們定義border屬性都會提供color,width,style這些屬性。比如 border: 3px solid #000 。不過實際上必須要提供的屬性只有style。如果你只寫 border: solid 的話,其他的屬性自動使用缺省值。border的缺省寬度是medium(大約3px-4px),缺省的顏色是位于border里面的內(nèi)容文字的顏色。如果這些缺省值可以滿足你的要求,你完全可以省略這兩項屬性。
4. 專門用于打印的CSS文檔
很多web頁面都會提供一個打印鏈接,方便用戶使用另一種適合打印界面的CSS。但實際上你完全可以為你的頁面指定兩個CSS文檔link,這樣瀏覽器會自動調(diào)用合適的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屬性,瀏覽器就能根據(jù)需要來調(diào)用特定的CSS文件來處理頁面了。關(guān)于打印更多的建議,請參見 Print Different,
5. CSS中的內(nèi)容垂直對齊
用傳統(tǒng)的table來實現(xiàn)垂直對齊很容易,只要用 vertical-align: middle 就可以讓table的內(nèi)容垂直居中。但這個屬性在CSS里面卻行不通。
解決方法是把內(nèi)容的行高設(shè)置成與內(nèi)容塊一樣高。比如你的div高是32px,那就在你的CSS定義里面添加屬性 line-height: 32px; 這樣文字看上去就垂直居中于層里面了。不過這個方法只適用于單行文字,對于多行文字,似乎沒有什么好方法。
6. 讓背景色能夠垂直拉齊到底部
CSS與傳統(tǒng)的table來說另一個讓人不爽的地方是它的垂直層的對齊。如果你的頁面分為兩列,其中一列比較長而另一列比較短,同時兩列的背景色和頁面總的背景色是不同的話,顯示出來的效果就比較丑陋,不像table那樣只要把td的高度設(shè)成100%就能夠把每一列的高度拉到一樣長。
要解決這個問題似乎只能用一個取巧的辦法,根據(jù)每列的寬度和背景色設(shè)置背景圖片,讓用戶看上去似乎拉平了: