CSS開發中常用技巧總結
使用css縮寫好處
使用縮寫可以協助減少你CSS檔案的大小,更加容易閱讀。
明確定義單位,除非值為0,以及px和em區別。
忘記定義尺寸的單位是CSS新手普遍的錯誤。在HTML中你可以唯寫 width="100",但是在CSS中,你必須給一 個準確的單位,比如:width:100px width:100em。只有兩個例外情況可以不定義單位:行高和0值。除此以 外,其他值都必須緊跟單位,注意,不要在數值和單位之間加空格。px單位適合固定式配置如960Grid。 em適合流體布局。
使用 line-height 垂直置中,以及line-height和height區別 實驗展示
line-height:24px;使用固定寬度的容器並且需要一行垂直置中時,使用 line-height 即可(高度與父層容器一致。
文法: line-height : normal | length
參數:
normal : 預設行高
length : 百分比數字 | 由浮點數字和單位標識符組成的長度值,允許為負值。其百分比取值是基於字型的高度尺寸。請參閱長度單位
說明:
檢索或設定對象的行高。即字型最底端與字型內部頂端之間的距離。 如行內包含多個對象,則應用最大行高。此時行高不可為負值。
<div style="line-height:24px; border:2px; border-style:dashed; margin:">
使用 line-height 垂直置中<br />
使用 line-height 垂直置中<br />
使用 line-height 垂直置中<br />
使用 line-height 垂直置中<br />
</div>
清除容器浮動,以及overflow:hidden; clear:both的關聯
#main {overflow:hidden; },clear:both;clear:left;clear:right; overflow對於清除如Body。類似整體容器可以選擇使用它。而clear清除div以及它更靈活。可以根據實際選擇使用。也是非常常用的兩個屬 性。
文法: clear : none | left |right | both
參數:
none : 允許兩邊都可以有浮動物件
both : 不允許有浮動物件
left : 不允許左邊有浮動物件
right : 不允許右邊有浮動物件 說明: 該屬性的值指出了不允許有浮動物件的邊。
div { clear : left } img { float: right }
文法: overflow : visible | auto | hidden | scroll
參數:
visible : 不剪下內容也不添加捲軸。假如顯式聲明此預設值,對象將被剪下為包含對象的window或frame的大小。並且clip屬性設定將失效
auto : 此為body對象和textarea的預設值。在需要時剪下內容並添加捲軸
hidden : 不顯示超過對象尺寸的內容
scroll : 總是顯示捲軸
說明:
檢索或設定當對象的內容超過其指定高度及寬度時如何管理內容。 設定textarea對象為hidden值將隱藏其捲軸。 對於table來說,假如table-layout屬性設定為fixed,則td對象支援帶有預設值為hidden的overflow屬性。如果設為hidden,scroll或者auto,那麼超出td尺寸的內容將被剪下。如果設為visible,將導致額外的文本溢出到右邊或左邊(視direction屬性設定而定)的儲存格。 自IE5開始,此屬性在MAC平台上可用。
不讓連結折行
a { white-space:nowrap; } p { white-space: nowrap; } 上面的設定就能避免連結折行。
文法: white-space : normal | pre | nowrap
參數:
normal : 預設處理方式
pre : 用等寬字型顯示預先格式化的文本。不合并字間的空白距離和進行左右對齊。參閱pre對象
nowrap : 強制在同一行內顯示所有文本,直到文本結束或者遭遇br對象。參閱td,div等對象的nowrap屬性(特性)
說明: 設定或檢索對象內空格的處理方式。
始終讓 Firefox 顯示捲軸
1 html {overflow:-moz-scrollbars-vertical; }
2 body, html {min-height:101%; } 大於100%必然會出現捲軸。
使塊元素水平置中
margin:0 auto;其實就是 margin-left: auto; margin-right: auto;(上右下左),記住一個規則。順時針轉。
body{text-align: center; }
然後定義內層容器 text-align: left;
隱藏 Exploer textarea 的捲軸
textarea { overflow:auto; }
Exploer 預設情況下 textarea 會有垂直捲軸(不要問我為什麼)。
設定列印分頁(實驗未成功未看到效果可以交流下)
h2 {page-break-before:always; } page-break-before 屬效能設定列印網頁時的分頁。
文法: page-break-before : auto | always | avoid | left | right | null
參數:
auto : 假如需要在對象之前插入頁分割符
always : 始終在對象之前插入頁分割符
avoid : 避免在對象前面插入頁分割符
left : 在對象前面插入頁分割符直到它到達一個空白的左頁邊
right : 在對象前面插入頁分割符直到它到達一個空白的右頁邊 null : 空值。IE5用來取消頁分割符設定
說明:
檢索或設定對象前出現的頁分割符。 IE5僅支援always值和空白值(null)。 在IE4中此屬性不作用於br對象,但是IE5作用。
刪除連結上的虛線框
a:active, a:focus {outline:none; }
Firefox 預設會在連結獲得焦點(或者點擊時)加上條虛線框,使用上面的屬性可以刪除。
最簡單的 CSS 重設
* {margin: 0; padding: 0 } 如果想“複雜詳細”,參考YUI 的做法(還有這裡)。
http://developer.yahoo.com/yui/2/
/*CSS reset 樣本*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{ margin:0; padding:0;}
table{border-collapse:collapse; border-spacing:0;}
fieldset,img{border:0}
address,caption,cite,code,dfn,em,strong,th,var{ font-style:normal;font-weight:normal;}
ol,ul{list-style:none}
caption,th{text-align:left}
h1,h2,h3,h4,h5,h6{ font-size:100%; font-weight:normal}
q:before,q:after{ content:''}
abbr,acronym{border:0}
CSS盒模型以及IE和Firefox盒模型的區別
CSS盒子模型-什麼是CSS盒子模型。
認識日常生活中盒子:
常常我們遇到盒子是用於可裝東西長方形、正方形的盒子。如裝皮鞋盒子、裝電視機盒子,這個是比較具體的盒子。
CSS盒子:
根據字面我們可以理解,CSS盒子也是裝東西的,比如我們要將文字內容、圖片布局網頁中, 那就需要像盒子一樣裝著。這個時候我們對其對象設定高度(height)、寬度(width)、邊框(border)、邊距(margin)、填充 (padding),即可實現像盒子一樣的長方形、正方形平面盒子。
通常我們這樣:
一 組<div></div>、<span></span>等類似這種文法標籤組叫1個盒子。因為我們對其 設定了高度(height)、寬度(width)、邊框(border)、邊距(margin)、填充(padding)等屬性後即可呈現出盒子一樣的長 方形或正方形。所以我們CSS盒子模型因此而得來。
日常使用CSS盒子:
我們說將什麼內容放入一個盒子裡,我們就要想到是放入<div></div>裡,腦海裡就要這個概念。
假如我們說設定一個寬度為100px盒子,我們就要知道如下一個概念:
Css樣式代碼:
.yangshi{width:100px;}
對應html代碼:
<div class="yangshi">內容</div>
這個時候我們可以將<div class="yangshi">內容</div>看作為一個盒子。
http://www.w3cn.org/article/translate/2005/104.html
http://blog.imbolo.com/10-css-snippets-to-save-time/
http://www.divcss5.com/jiqiao/