W3C(World Wide Web Consortium[kn'stm])
由萬維網聯盟制定的一系列標準,包括:
結構化標準語言:html/xml
表現標準語言:css
行爲標準語言:DOM/ECMAScript
css排版
下劃線:text-decoration:underline;
刪除線:text-decoration:line-through;
斜體:font-style:italic;
段落縮進:text-indent:2em; //文字前空兩格
white-space
中文字間距 和 字母之間的間距 letter-space:2px;
英文單詞,詞與詞之間的間距:word-spacing:2px;
font樣式縮寫
font:12px/25px "宋體",sans-serif 至少要指定 font-size 和 font-family 屬性
長度值
em:就是本元素給定字體的 font-size 值,如果元素的 font-size 爲 14px ,那麼 1em = 14px;如果 font-size 爲 18px,那麼 1em = 18px。如下代碼:
p{font-size:12px;text-indent:2em;}
上面代碼就是可以實現段落首行縮進 24px(也就是兩個字體大小的距離)。
下面注意一個特殊情況:
但當給 font-size 設置單位爲 em 時,此時計算的標準以 p 的父元素的 font-size 爲基礎。如下代碼:
html:
<p>以這個<span>例子</span>爲例。</p>
css:
p{font-size:14px}
span{font-size:0.8em;}
結果 span 中的字體“例子”字體大小就爲 11.2px(14 * 0.8 = 11.2px)。
百分比:p{font-size:12px;line-height:130%} 設置行高(行間距)爲字體的130%(12 * 1.3 = 15.6px)。
內聯元素:display:inline
內聯塊狀元素:display:inline-block
塊級元素:display:block
css層疊
層疊就是在html文件中對於同一個元素可以有多個css樣式存在,當有相同權重的樣式存在時,會根據這些css樣式的前後順序來決定,處於最後面的css樣式會被應用。(就近原則)
內聯樣式表(標籤內部)> 嵌入樣式表(當前文件中)> 外部樣式表(外部文件中)。
css權值計算
標籤的權值爲1,類選擇符的權值爲10,ID選擇符的權值最高爲100。例如下面的代碼:
p{color:red;} /*權值爲1*/
p span{color:green;} /*權值爲1+1=2*/
.warning{color:white;} /*權值爲10*/
p span.warning{color:purple;} /*權值爲1+1+10=12*/
#footer .note p{color:yellow;} /*權值爲100+10+1=111*/
注意:還有一個權值比較特殊--繼承也有權值但很低,有的文獻提出它只有0.1,所以可以理解爲繼承的權值最低。
水平居中
行內元素:給父元素設置text-align:center
定寬塊級元素:設置寬度,並且margin:0 auto;
不定寬塊狀元素:3種方法
第一種:table把它包圍,text-align:center;
第二種:使用display:inline 設置成行內元素,按行內元素的方法做
第三種:通過給父元素設置 float,然後給父元素設置 position:relative 和 left:50%,子元素設置 position:relative 和 left: -50% 來實現水平居中。
垂直居中
父元素高度確定的單行文本:height:25px;line-height:25px;
父元素高度確定的多行文本:兩種方法
第一種:table把元素包圍,然後設置vertical-align
第二種:(不推薦)設置塊級元素的display:table-cell 這樣就可以激活vertical-align屬性 但是ie6,7不兼容
隱性改變display類型
元素(不論之前是什麼類型元素,display:none 除外)設置以下 2 個句之一:
1. position : absolute
2. float : left 或 float:right
簡單來說,只要html代碼中出現以上兩句之一,元素的display顯示類型就會自動變爲以 display:inline-block(塊狀元素)的方式顯示,當然就可以設置元素的 width 和 height 了,且默認寬度不佔滿父元素。
三列布局兩邊固寬中間自適應
如果是3列布局,左右固定寬,中間自適應,可以如下:
左邊:position:absolute; left:0;top:0;width:300
右邊:position:absolute; right:0; top:0;widht:200px;
中間:margin:0 200px 0 300px;
橫向兩列布局
一列是固寬,另一列自適應寬
方法:一列設置固定寬度值,另一列父元素設置position:relative 自己position:absolute 但要注意固定寬度列的高度>自適應寬度的列
css三種定位機制
標準文檔流(normal float) 從上到下從左到右 position:static 也被認爲是普通流(標準文檔流)
浮動(float)
絕對定位(position:absolute)
清除浮動兩種方法
clear:both(常用) clear:left clear:right
width:100%;overflow:hidden;缺一不可