css基礎

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

wKiom1ea1hywlRYmAABeVZFQc3E667.jpg


中文字間距 和 字母之間的間距 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三種定位機制

  1. 標準文檔流(normal float) 從上到下從左到右  position:static 也被認爲是普通流(標準文檔流)

  2. 浮動(float)

  3. 絕對定位(position:absolute)

wKioL1ebH7fS8j7VAAEOBm38tR4070.jpg


清除浮動兩種方法

  1. clear:both(常用) clear:left  clear:right  

  2. width:100%;overflow:hidden;缺一不可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章