H5-基礎-day01

碼鋒窩發表於2017-03-13
類選擇器和ID選擇器
 

相同點:可以應用於任何元素
不同點:

1、ID選擇器只能在文件中使用一次。與類選擇器不同,在一個HTML文件中,ID選擇器只能使用一次,而且僅一次。而類選擇器可以使用多次。
2.可以使用類選擇器詞列表方法為一個元素同時設定多個樣式。我們可以為一個元素同時設多個樣式,但只可以用類選擇器的方法實現,ID選擇器是不可以的(不能使用 ID 詞列表
<span class="stress bigsize> 正確
<p>到了<span id="stressid bigsizeid">三年級</span>下學期時,我們班上了一節公開課...</p> 錯誤
 

請注意這個選擇器與子選擇器的區別,子選擇器(child selector)僅是指它的直接後代,或者你可以理解為作用於子元素的第一代後代。而後代選擇器是作用於所有子後代元素。後代選擇器通過空格來進行選擇,而子選擇器是通過“>”進行選擇
>作用於元素的第一代後代,空格作用於元素的所有後代
 

通用選擇器是功能最強大的選擇器,它使用一個(*)號指定,它的作用是匹配html中所有標籤元素,如下使用下面程式碼使用html中任意標籤元素字型顏色全部設定為紅色:

* {color:red;}
 

更有趣的是偽類選擇符,為什麼叫做偽類選擇符,它允許給html不存在的標籤(標籤的某種狀態)設定樣式,比如說我們給html中一個標籤元素的滑鼠滑過的狀態來設定字型顏色:

a:hover{color:red;}

 
上面一行程式碼就是為 a 標籤滑鼠滑過的狀態設定字型顏色變紅。這樣就會使第一段文字內容中的“膽小如鼠”文字加入滑鼠滑過字型顏色變為紅色特效。
 

CSS的某些樣式是具有繼承性的,那麼什麼是繼承呢?繼承是一種規則,它允許樣式不僅應用於某個特定html標籤元素,而且應用於其後代。比如下面程式碼:如某種顏色應用於p標籤,這個顏色設定不僅應用p標籤,還應用於p標籤中的所有子元素文字,這裡子元素為span標籤。
p{color:red;}
<p>三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>
 
可見右側結果視窗中p中的文字與span中的文字都設定為了紅色。但注意有一些css樣式是不具有繼承性的。如border:1px solid red;
p{border:1px solid red;}
<p>三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>
在上面例子中它程式碼的作用只是給p標籤設定了邊框為1畫素、紅色、實心邊框線,而對於子元素span是沒用起到作用的。

關於權值:
          標籤的權值為1,類選擇符的權值為10,ID選擇符的權值最高為100 — 瀏覽器是根據權值來判斷使用哪種css樣式的,權值高的就使用哪種css樣式,當有相同權重的樣式存在時,會根據這些css樣式的前後順序來決定,處於最後面的css樣式會被應用。
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*/
 
我們在做網頁程式碼的時,有些特殊的情況需要為某些樣式設定具有最高權值,怎麼辦?這時候我們可以使用!important來解決
p{color:red!important;}
p{color:green;}
<p class="first">三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>

每個中文字或者字母的字間距

/*h1{*/
/*    letter-spacing:50px;*/
/*}*/
單詞之間的字間距,不是每個字母,中文無效
h1{
    word-spacing:50px;
}

 
元素分類
在CSS中,html中的標籤元素大體被分為三種不同的型別:塊狀元素內聯元素(又叫行內元素)內聯塊狀元素

 

常用的塊狀元素有:<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>
 
塊級元素特點:
1、每個塊級元素都從新的一行開始,並且其後的元素也另起一行。(真霸道,一個塊級元素獨佔一行)
2、元素的高度、寬度、行高以及頂和底邊距都可設定。
3、元素寬度在不設定的情況下,是它本身父容器的100%(和父元素的寬度一致),除非設定一個寬度。
 
常用的內聯元素有:<a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>
          a在預設的時候是內聯元素,內聯元素是不可以設定的。
內聯塊狀元素(inline-block就是同時具備內聯元素、塊狀元素的特點,程式碼display:inline-block就是將元素設定為內聯塊狀元素。(css2.1新增),<img>、<input>標籤就是這種內聯塊狀標籤。
inline-block 元素特點:
 
1、和其他元素都在一行上;
2、元素的高度、寬度、行高以及頂和底邊距都可設定
常用的內聯塊狀元素有:<img>、<input>
 

設定display:block就是將元素顯示為塊級元素。如下程式碼就是將內聯元素a轉換為塊狀元素,從而使a元素具有塊狀元素特點。

a{display:block;}
 

盒模型
div{
    border:2px  solid  red;
}
div{
    border-width:2px;
    border-style:solid;
    border-color:red;
}
 
1、border-style(邊框樣式)常見樣式有:
dashed(虛線)| dotted(點線)| solid(實線)。
 
2、border-color(邊框顏色)中的顏色可設定為十六進位制顏色,如:
border-color:#888;//前面的井號不要忘掉。
 
3、border-width(邊框寬度)中的寬度也可以設定為:
thin | medium | thick(但不是很常用),最常還是用象素(px)

//設定4個邊

div{border-bottom:1px solid red;}
border-top:1px solid red;
border-right:1px solid red; 
border-left:1px solid red;

padding和margin的區別,padding在邊框裡,margin在邊框外。
 

層模型--絕對定位
如果想為元素設定層模型中的絕對定位,需要設定position:absolute(表示絕對定位),這條語句的作用將元素從文件流中拖出來,然後使用left、right、top、bottom屬性相對於其最接近的一個具有定位屬性的父包含塊進行絕對定位。如果不存在這樣的包含塊,則相對於body元素,即相對於瀏覽器視窗
 
 
盒模型時外邊距(margin)、內邊距(padding)和邊框(border)設定上下左右四個方向的邊距是按照順時針方向設定的:上右下左
margin:10px 15px 12px 14px;/*上設定為10px、右設定為15px、下設定為12px、左設定為14px*/
margin:10px 20px 30px 20px;
可縮寫為:
margin:10px 20px 30px;
padding、border的縮寫方法和margin是一致的。
 
顏色值縮寫
當你設定的顏色是16進位制的色彩值時,如果每兩位的值相同,可以縮寫一半。
p{color: #336699;}
p{color: #369;}
 

字型縮寫

網頁中的字型css樣式程式碼也有他自己的縮寫方式,下面是給網頁設定字型的程式碼:

body{
    font-style:italic;
    font-variant:small-caps; 
    font-weight:bold; 
    font-size:12px; 
    line-height:1.5em; 
    font-family:"宋體",sans-serif;
}
這麼多行的程式碼其實可以縮寫為一句:
body{
    font:italic  small-caps  bold  12px/1.5em  "宋體",sans-serif;
}

1、使用這一簡寫方式你至少要指定 font-size 和 font-family 屬性,其他的屬性(如 font-weight、font-style、font-variant、line-height)如未指定將自動使用預設值。

2、在縮寫時 font-size 與 line-height 中間要加入“/”斜扛。

一般情況下因為對於中文網站,英文還是比較少的,所以下面縮寫程式碼比較常用:
body{
    font:12px/1.5em  "宋體",sans-serif;
}
只是有字號、行間距、中文字型、英文字型設定。

相關文章