2015年1月29日 星期四

2015.01.27 CSS學習(Class、div)

Q:若是想讓單獨一個<ul>套用CSS該如何實作?
A:使用class,將<ul>加上class屬性,這樣CSS就可以直接存取特定的tag

Class
html:
<ul  class="nav"><li>...</li></ul>
CSS:
.nav{
    padding-left: 10px;
}

classes也可以使用descendent selector
.nav a{
    color: #0000FF;
}
以上這段CSS表示在class是nav的tag下的<a>顏色改為藍色

依然以前面的HTML來做解釋,若想要所有的ul的padding-left設為50px,但是class為nav的ul的padding-left要設為0,錯誤的寫法:
.nav {
    padding-left : 0;
}
ul {
 padding : 0 0 0 50px;
}
ul 設定的padding-left:50px會覆寫.nav設定的padding-left,因為ul的CSS寫在.nav的後面
正確的寫法:
ul {
 padding : 0 0 0 50px;
}
.nav {
    padding-left : 0;
}
要先定義覆蓋範圍比較廣的type selector,再來定義只作用於特定範圍的class selector

若想要每一份HTML都套用同樣的CSS,有兩種辦法,一個是在每一份HTML的<head></head>,但是這樣如果有一個地方修改,要去其他有用到這份CSS的HTML一一去修改,十分麻煩;另一種做法是將css獨立成一個檔案,在HTML檔案中使用<link>把CSS檔案載入
語法:
<link type="text/css" rel="stylesheet" href="main.css">
type屬性標示出連結的檔案室CSS
rel屬性讓HTML知道連結的檔案是定義頁面的風格
href屬性標示的是檔案的位置,跟<a>的href屬性一樣有相對路徑和絕對路徑之分

Div
Div 是division的縮寫,是一個block-level tag,主要是將相似的內容群組放在同一區塊。
例:
將標題和主要內容分成2個區塊
要區別不同的div,最簡單的方法就是加上class,這樣就可以針對不同的div套用CSS。
每個tag的內容都可以調整寬和高,通常是針對div調整寬和高。
例:
如何把內容置中?
1.如果想要把整個block-level tag置中,且block-level tag的寬度是固定的,那就把tag的左、右margin設為auto
2.如果想要把block-level tag底下的子標籤置中,那就設定子標籤的text-align屬性為center
例: