html的標簽和css樣式


標簽的語法

1. 標簽由英文尖括號<>括起來,如<html>就是一個標簽。

2. html中的標簽一般都是成對出現的,分開始標簽結束標簽。結束標簽比開始標簽多了一個/

3. 標簽與標簽之間是可以嵌套的,但先后順序必須保持一致,如:<div>里嵌套<p>,那么</p>必須放在</div>的前

4. HTML標簽不區分大小寫,<h1><H1>是一樣的,但建議小寫,因為大部分程序員都以小寫為准

認識html文件基本結構

1. <html></html>稱為根標簽,所有的網頁標簽都在<html></html>中。

2. <head> 標簽用於定義文檔的頭部,它是所有頭部元素的容器。頭部元素有<title><script>、 <style><link>、 <meta>等標簽,頭部標簽在下一小節中會有詳細介紹。

3. 在<body></body>標簽之間的內容是網頁的主要內容,如<h1><p><a><img>等網頁內容標簽,在這里的標簽中的內容會在瀏覽器中顯示出來

認識head標簽

下面這些標簽可用在 head 部分:

<head>
    <title>...</title>
    <meta>
    <link>
    <style>...</style>
    <script>...</script>
</head>

<title>標簽:在<title>和</title>標簽之間的文字內容是網頁的標題信息,它會出現在瀏覽器的標題欄中。網頁的title標簽用於告訴用戶和搜索引擎這個網頁的主要內容是什么,搜索引擎可以通過網頁標題,迅速的判斷出網頁的主題。每個網頁的內容都是不同的,每個網頁都應該有一個獨一無二的title。

了解HTML的代碼注釋

<!--注釋文字-->

em標簽標示強調

了解<hx>標簽,為你的網頁添加標題

文章的段落用<p>標簽,那么文章的標題用什么標簽呢?在本節我們將使用<hx>標簽來制作文章的標題
標題標簽一共有6個,h1、h2、h3、h4、h5、h6分別為一級標題、二級標題、三級標題、四級標題、五級標題、六級標題。並且依據重要性遞減。<h1>是最高的等級

因為h1標簽在網頁中比較重要,所以一般h1標簽被用在網站名稱上。騰訊網站就是這樣做的。如:<h1>騰訊網</h1>

加入強調語氣,使用<strong>和<em>標簽

 但兩者在強調的語氣上有區別:<em> 表示強調,<strong> 表示更強烈的強調。並且在瀏覽器中<em> 默認用斜體表示,<strong> 用粗體表示。兩個標簽相比,目前國內前端程序員更喜歡使用<strong>表示強調。

使用<span>標簽為文字設置單獨樣式

這一小節講解<span>標簽,我們對<em><strong><span>這三個標簽進行一下總結:

1. <em><strong>標簽是為了強調一段話中的關鍵字時使用,它們的語義是強調。

2. <span>標簽是沒有語義的,它的作用就是為了設置單獨的樣式用的。

<q>標簽,短文本引用

  想在你的html中加一段引用嗎?比如在你的網頁的文章里想引用某個作家的一句詩,這樣會使你的文章更加出彩,那么<q>標簽是你所需要的

注意這里用<q>標簽的真正關鍵點不是它的默認樣式雙引號(如果這樣我們不如自己在鍵盤上輸入雙引號就行了),而是它的語義:引用別人的話

<blockquote>標簽,長文本引用

 <blockquote>的作用也是引用別人的文本。但它是對長文本的引用,如在文章中引入大段某知名作家的文字,這時需要這個標簽

瀏覽器對<blockquote>標簽的解析是縮進樣式。

使用<br>標簽分行顯示文本

語法:

xhtml1.0寫法:

<br />

html4.01寫法:

<br>

大家注意,現在一般使用 xhtml1.0 的版本的寫法(其它標簽也是),這種版本比較規范。

總結:在 html 代碼中輸入回車、空格都是沒有作用的。在html文本中想輸入回車換行,就必須輸入<br />

為你的網頁中添加一些空格

在上一節的例子,我們已經講解過在html代碼中輸入空格回車都是沒有作用的。要想輸入空格,必須寫入&nbsp;

語法:

&nbsp;

認識<hr>標簽,添加水平橫線

語法:

html4.01版本 <hr>

xhtml1.0版本 <hr />

注意:

1. <hr />標簽和<br />標簽一樣也是一個空標簽,所以只有一個開始標簽,沒有結束標簽。

2. <hr />標簽的在瀏覽器中的默認樣式線條比較粗,顏色為灰色,可能有些人覺得這種樣式不美觀,沒有關系,這些外在樣式在我們以后學習了css樣式表之后,都可以對其修改。

3. 大家注意,現在一般使用 xhtml1.0 的版本(其它標簽也是),這種版本比較規范。

<address>標簽,為網頁加入地址信息

一般網頁中會有一些網站的聯系地址信息需要在網頁中展示出來,這些聯系地址信息如公司的地址就可以<address>標簽。也可以定義一個地址(比如電子郵件地址)、簽名或者文檔的作者身份。

語法:

<address>聯系地址信息</address>

在瀏覽器上顯示的樣式為斜體,如果不喜歡斜體,當然可以,可以在后面的課程中使用 css 樣式來修改它<address>標簽的默認樣式。

想加入一行代碼嗎?使用<code>標簽

在介紹語言技術的網站中,避免不了在網頁中顯示一些計算機專業的編程代碼,當代碼為一行代碼時,你就可以使用<code>標簽了,如下面例子:

<code>var i=i+300;</code>

注意:在文章中一般如果要插入多行代碼時不能使用<code>標簽了。

語法:

<code>代碼語言</code>

注:如果是多行代碼,可以使用<pre>標簽。

使用<pre>標簽為你的網頁加入大段代碼

<pre>語言代碼段</pre>

<pre> 標簽的主要作用:預格式化的文本。被包圍在 pre 元素中的文本通常會保留空格和換行符

注意:<pre> 標簽不只是為顯示計算機的源代碼時用的,在你需要在網頁中預顯示格式時都可以使用它,只是<pre>標簽的一個常見應用就是用來展示計算機的源代碼。

使用<dl></dl><dt></dt><dd></dd> 

<dl></dl>用來創建一個普通的列表,<dt></dt>用來創建列表中的上層項目,<dd></dd>用來創建列表中最下層項目,<dt></dt>和<dd></dd>都必須放在<dl></dl>標志對之間

<html> 

<head> 

<title>一個普通列表</title> 

</head> 

<body text="blue"> 

<dl> 

<dt>中國城市</dt> 

<dd>北京 </dd> 

<dd>上海 </dd> 

<dd>廣州 </dd> 

<dt>美國城市</dt> 

<dd>華盛頓 </dd> 

<dd>芝加哥 </dd> 

</dl>

</body>

</html>

使用ul,添加新聞信息列表

在瀏覽網頁時,你會發現網頁上有很多信息的列表,如新聞列表、圖片列表,

ul-li是沒有前后順序的信息列表。

語法:

<ul>
  <li>信息</li>
  <li>信息</li>
   ......
</ul>

舉例:

<ul>
  <li>精彩少年</li>
  <li>美麗突然出現</li>
  <li>觸動心靈的旋律</li>
</ul>

使用ol,添加圖書銷售排行榜

如果想在網頁中展示有前后順序的信息列表,怎么辦呢?

語法:

<ol>
   <li>信息</li>
   <li>信息</li>
   ......
</ol>
<ol>在網頁中顯示的默認樣式一般為:每項<li>前都自帶一個序號,序號默認從1開始,

認識div在排版中的作用

在網頁制作過程過中,可以把一些獨立的邏輯部分划分出來,放在一個<div>標簽中,這個<div>標簽的作用就相當於一個容器。

語法:

<div>…</div>

確定邏輯部分:

什么是邏輯部分?它是頁面上相互關聯的一組元素。如網頁中的獨立的欄目版塊,就是一個典型的邏輯部分。如下圖所示:圖中用紅色邊框標出的部分就是一個邏輯部分,就可以使用<div>標簽作為容器。

給div命名,使邏輯更加清晰

在上一小節中,我們把一些標簽放進<div>里,划分出一個獨立的邏輯部分。為了使邏輯更加清晰,我們可以為這一個獨立的邏輯部分設置一個名稱,用id屬性來為<div>提供唯一的名稱,這個就像我們每個人都有一個身份證號,這個身份證號是唯一標識我們的身份的,也是必須唯一的。

如下兩圖進行比較,如果設計師把兩個圖給你,哪個圖你看上去能更快的理解呢?是不是右邊的那幅圖呢。

 

語法:

<div  id="版塊名稱">…</div>

table標簽,認識網頁上的表格

有時候我們需要在網頁上展示一些數據,如某公司想在網頁上展示公司的庫存清單。如下表:

想在網頁上展示上述表格效果可以使用以下代碼:

創建表格的四個元素:

table、tbody、tr、th、td

1、<table>…</table>:整個表格以<table>標記開始、</table>標記結束。

2、<tbody>…</tbody>:當表格內容非常多時,表格會下載一點顯示一點,但如果加上<tbody>標簽后,這個表格就要等表格內容全部下載完才會顯示。如右側代碼編輯器中的代碼。

3、<tr>…</tr>:表格的一行,所以有幾對tr 表格就有幾行。

4、<td>…</td>:表格的一個單元格,一行中包含幾對<td>...</td>,說明一行中就有幾列。

5、<th>…</th>:表格的頭部的一個單元格,表格表頭。

6、表格中列的個數,取決於一行中數據單元格的個數。

用css樣式,為表格加入邊框

Table表格在沒有添加css樣式之前,是沒有邊框的。這樣不便於我們后期合並單元格知識點的講解,所以在這一節中我們為表格添加一些樣式,為它添加邊框。

在右側代碼編輯器中添加如下代碼:

<style type="text/css">
table tr td,th{border:1px solid #000;}
</style>

上述代碼是用css樣式代碼(后面章節會詳細講解),為thtd單元格添加粗細為一個象素的黑色邊框

在table前面加這段代碼,即可在表格中加邊框

caption標簽,為表格添加標題和摘要

表格還是需要添加一些標簽進行優化,可以添加標題摘要。代碼如下:

摘要

摘要的內容是不會在瀏覽器中顯示出來的。它的作用是增加表格的可讀性(語義化),使搜索引擎更好的讀懂表格內容,還可以使屏幕閱讀器更好的幫助特殊用戶讀取表格內容。

    語法:<table summary="表格簡介文本">摘要,不能顯示在網頁上的

               <caption>標題文本</caption>

使用<a>標簽,鏈接到別一個頁面

使用<a>標簽可實現超鏈接,它在網頁制作中可以說是無處不在,只要有鏈接的地方,就會有這個標簽。

語法:

<a  href="目標網址"  title="鼠標滑過顯示的文本">鏈接顯示的文本</a>

例如:

<a  href="http://www.imooc.com"  title="點擊進入慕課網">click here!</a>

上面例子作用是單擊click here!文字,網頁鏈接到http://www.imooc.com這個網頁。

在新建瀏覽器窗口中打開鏈接

<a>標簽在默認情況下,鏈接的網頁是在當前瀏覽器窗口中打開,有時我們需要在新的瀏覽器窗口中打開。

如下代碼:

<a href="目標網址" target="_blank">click here!</a>

:hover

在CSS1中此偽類僅可用於a對象。且對於無href屬性(特性)的a對象,此偽類不發生作用。在CSS2中此偽類可以應用於任何對象。

語法:編輯

Selector : hover { sRules }

2說明:編輯

設置對象在其鼠標懸停時的樣式表屬性。
目前IE5.5+僅支持CSS1中的:hover。

3示例:編輯

a:hover { font-size: 14pt; text-decoration: underline; color: blue; }
a:hover span{ color:red; }
請您將鼠標移到這個a對象上( 當鼠標放在所設置的鏈接處,就會在文字的下方顯示紅色的橫線),點擊,看看會發生什么。然后您就會明白這個 偽類的意義。

使用mailto在網頁中鏈接Email地址

<a>標簽還有一個作用是可以鏈接Email地址,使用mailto能讓訪問者便捷向網站管理者發送電子郵件。我們還可以利用mailto做許多其它事情。下面一一進行講解,請看詳細圖示:

注意:如果mailto后面同時有多個參數的話,第一個參數必須以“?”開頭,后面的參數每一個都以“&”分隔。

下面是一個完整的實例:

在瀏覽器中顯示的結果:

發送

 

認識<img>標簽,為網頁插入圖片

在網頁的制作中為使網頁炫麗美觀,肯定是缺少不了圖片,可以使用<img>標簽來插入圖片。

語法:

<img src="圖片地址" alt="下載失敗時的替換文本" title = "提示文本">

舉例:

<img src = "myimage.gif" alt = "My Image" title = "My Image" />

講解:

1、src:標識圖像的位置;

2、alt:指定圖像的描述性文本,當圖像不可見時(下載不成功時),可看到該屬性指定的文本;

3、title:提供在圖像可見時對圖像的描述(鼠標滑過圖片時顯示的文本);

4、圖像可以是GIF,PNG,JPEG格式的圖像文件。

 

使用表單標簽,與用戶交互

網站怎樣與用戶進行交互?答案是使用HTML表單(form)。表單是可以把瀏覽者輸入的數據傳送到服務器端,這樣服務器端程序就可以處理表單傳過來的數據。

語法:

<form   method="傳送方式"   action="服務器文件">

講解:

1.<form> :<form>標簽是成對出現的,以<form>開始,以</form>結束。

2.action 瀏覽者輸入的數據被傳送到的地方,比如一個PHP頁面(save.php)。

3.method  數據傳送的方式(get/post)。

<form    method="post"   action="save.php">
        <label for="username">用戶名:</label>
        <input type="text" name="username" />
        <label for="pass">密碼:</label>
        <input type="password" name="pass" />
</form>

注意:

1、所有表單控件(文本框、文本域、按鈕、單選框、復選框等)都必須放在<form></form>標簽之間(否則用戶輸入的信息可提交不到服務器上哦!)。

2、method:post/get的區別這一部分內容屬於后端程序員考慮的問題

<form method="post" action="save.php">
<label for="username">用戶名:</label>
<input type="text" name="username" id="username" value="" />
<label for="pass">密碼:</label>
<input type="password" name="pass" id="pass" value="" />
<input type="submit" value="確定" name="submit" />
<input type="reset" value="重置" name="reset" />

運行后的結果是:

     

文本輸入框、密碼輸入框

當用戶要在表單中鍵入字母、數字等內容時,就會用到文本輸入框。文本框也可以轉化為密碼輸入框

語法

<form>
   <input type="text/password" name="名稱" value="文本" />
</form>

1、type:

   當type="text"時,輸入框為文本輸入框;

   當type="password"時, 輸入框為密碼輸入框。

2、name:為文本框命名,以備后台程序ASP 、PHP使用。

3、value:為文本輸入框設置默認值。(一般起到提示作用)

舉例

<form>
  姓名:
  <input type="text" name="myName">
  <br/>
  密碼:
  <input type="password" name="pass">
</form>

文本域,支持多行文本輸入

當用戶需要在表單中輸入大段文字時,需要用到文本輸入域。

語法

<textarea  rows="行數" cols="列數">文本</textarea>

1、<textarea>標簽是成對出現的,以<textarea>開始,以</textarea>結束。

2cols :多行輸入域的列數

3rows :多行輸入域的行數

4、在<textarea></textarea>標簽之間可以輸入默認值

舉例

<form  method="post" action="save.php">
        <label>聯系我們</label>
 <textarea cols="50" rows="10" >在這里輸入內容...</textarea>
</form>

注意:代碼中的<label>標簽在本章5-9中講解。

在瀏覽器中顯示結果:

使用單選框、復選框,讓用戶選擇

在使用表單設計調查表時,為了減少用戶的操作,使用選擇框是一個好主意,html中有兩種選擇框,即單選框復選框,兩者的區別是單選框中的選項用戶只能選擇一項,而復選框中用戶可以任意選擇多項,甚至全選。請看下面的例子:

語法:

<input   type="radio/checkbox"   value="值"    name="名稱"   checked="checked"/>

1、type:

   當 type="radio" 時,控件為單選框

   當 type="checkbox" 時,控件為復選框

2、value:提交數據到服務器的值(后台程序PHP使用)

3、name:為控件命名,以備后台程序 ASP、PHP 使用

4、checked:當設置 checked="checked" 時,該選項被默認選中

如下面代碼:

注意:代碼中的<label>標簽在本章 5-9 中有講解。

在瀏覽器中顯示的結果:

注意:同一組的單選按鈕,name 取值一定要一致,比如上面例子為同一個名稱“radioLove”,這樣同一組的單選按鈕才可以起到單選的作用。

使用下拉列表框,節省空間

下拉列表在網頁中也常會用到,它可以有效的節省網頁空間。既可以單選、又可以多選。如下代碼:

講解:

1、value:

2、selected="selected"

設置selected="selected"屬性,則該選項就被默認選中。,如下圖顯示購物被默認選中

 

在瀏覽器中顯示的結果:

 

 

 

使用下拉列表框進行多選

 

下拉列表也可以進行多選操作,在<select>標簽中設置multiple="multiple"屬性,就可以實現多選功能,在 widows 操作系統下,進行多選時按下Ctrl鍵同時進行單擊(在 Mac下使用 Command +單擊),可以選擇多個選項。如下代碼:

使用提交按鈕,提交數據

在表單中有兩種按鈕可以使用,分別為:提交按鈕、重置。這一小節講解提交按鈕:當用戶需要提交表單信息到服務器時,需要用到提交按鈕

語法

<input   type="submit"   value="提交">

type:只有當type值設置為submit時,按鈕才有提交作用

value按鈕上顯示的文字

舉例

值得注意:type="text" /"textarea" / "password" /"submit"(提交按鈕) /"reset"(重置按鈕)

 


 


使用重置按鈕,重置表單信息

當用戶需要重置表單信息到初始時的狀態時,比如用戶輸入“用戶名”后,發現書寫有誤,可以使用重置按鈕使輸入框恢復到初始狀態。只需要把type設置為"reset"就可以。

語法

<input type="reset" value="重置">

type:只有當type值設置為reset時,按鈕才有重置作用

value按鈕上顯示的文字

舉例

 

form表單中的label標簽

小伙伴們,你們在前面學習表單各種控件的時候,有沒有發現一個標簽--label,這一小節就來揭曉它的作用。

label標簽不會向用戶呈現任何特殊效果,它的作用是為鼠標用戶改進了可用性。如果你在 label 標簽內點擊文本,就會觸發此控件。就是說,當用戶單擊選中該label標簽時,瀏覽器就會自動將焦點轉到和標簽相關的表單控件上(就自動選中和該label標簽相關連的表單控件上)。

語法:

<label for="控件id名稱">

注意:標簽的 for 屬性中的值應當與相關控件的 id 屬性值一定要相同。

例子:

<form>
  <label for="male">男</label>
  <input type="radio" name="sex" id="male" />
  <br />
  <label for="female">女</label>
  <input type="radio" name="sex" id="female" />
  <label for="email">輸入你的郵箱地址</label>
  <input type="email" id="email" placeholder="Enter email">
</form>

認識CSS樣式

CSS全稱為“層疊樣式表 (Cascading Style Sheets)”,它主要是用於定義HTML內容在瀏覽器內的顯示樣式,如文字大小、顏色、字體加粗等。

如下列代碼:

p{
   font-size:12px;
   color:red;
   font-weight:bold;
}

使用CSS樣式的一個好處是通過定義某個樣式,可以讓不同網頁位置的文字有着統一的字體、字號或者顏色等。

例如:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>認識CSS樣式</title>
<style type="text/css">
p{
font-size:20px;/*設置文字字號*/
color:red;/*設置文字顏色*/
font-weight:bold;/*設置字體加粗*/
}
</style>
</head>
<body>
<p>慕課網,超酷的互聯網、IT技術免費學習平台,創新的網絡一站式學習、實踐體驗;服務及時貼心,內容專業、有趣易學。專注服務互聯網工程師快速成為技術高手!</p>
</body>
</html>

CSS樣式的優勢

第一步:把這三個短語用<span></span>括起來。(見右邊代碼編輯器13行)

第二步:寫入下列代碼:(見右邊代碼編輯器7-8行)

span{
    color:red;
}

觀察結果窗口文字的顏色是否變為紅色了.如下所示:

span{
color:blue;
}
</style>
</head>
<body>
<p>慕課網,<span>超酷的互聯網</span>、IT技術免費學習平台,創新的網絡一站式學習、實踐體驗;<span>服務及時貼心</span>,內容專業、<span>有趣易學</span>。專注服務互聯網工程師快速成為技術高手!</p>

CSS代碼語法

css 樣式由選擇符聲明組成,而聲明又由屬性組成,如下圖所示:

選擇符:又稱選擇器,指明網頁中要應用樣式規則的元素,如本例中是網頁中所有的段(p)的文字將變成藍色,而其他的元素(如ol)不會受到影響。

聲明:在英文大括號“{}”中的的就是聲明,屬性和值之間用英文冒號“:”分隔。當有多條聲明時,中間可以英文分號“;”分隔,如下所示:

p{font-size:12px;color:red;}

注意:

1、最后一條聲明可以沒有分號,但是為了以后修改方便,一般也加上分號。

2、為了使用樣式更加容易閱讀,可以將每條代碼寫在一個新行內,如下所示:

p{
   font-size:12px;
   color:red;

CSS注釋代碼

就像在Html的注釋一樣,在CSS中也有注釋語句:用/*注釋語句*/來標明(Html中使用<!--注釋語句-->)。就像下面代碼:

 

內聯式css樣式,直接寫在現有的HTML標簽中

CSS樣式可以寫在哪些地方呢?從CSS 樣式代碼插入的形式來看基本可以分為以下3種:內聯式、嵌入式和外部式三種。這一小節先來講解內聯式。

內聯式css樣式表就是把css代碼直接寫在現有的HTML標簽中,如下面代碼:

<p style="color:red">這里文字是紅色。</p>

注意要寫在元素的開始標簽里,下面這種寫法是錯誤的:

<p>這里文字是紅色。</p style="color:red">

並且css樣式代碼要寫在style=""雙引號中,如果有多條css樣式代碼設置可以寫在一起,中間用分號隔開。如下代碼:

<p style="color:red;font-size:12px">這里文字是紅色。</p>

例如:

span{
color:red;
}
</style>
</head>
<body>           內聯式
<p>慕課網,<span style="color:blue">超酷的互聯網</span>、IT技術免費學習平台,創新的網絡一站式學習、實踐體驗;<span>服務及時貼心</span>,內容專業、<span>有趣易學</span>。專注服務互聯網工程師快速成為技術高手!</p>

外部式css樣式,寫在單獨的一個文件中

外部式css樣式(也可稱為外聯式)就是把css代碼寫一個單獨的外部文件中,這個css樣式文件以“.css”為擴展名,在<head>內(不是在<style>標簽內)使用<link>標簽將css樣式文件鏈接到HTML文件內,如下面代碼:

<link href="base.css" rel="stylesheet" type="text/css" />

注意:

1、css樣式文件名稱以有意義的英文字母命名,如 main.css。

2、rel="stylesheet" type="text/css" 是固定寫法不可修改。

3、<link>標簽位置一般寫在<head>標簽之內。

三種方法的優先級

有的小伙伴問了,如果有一種情況:對於同一個元素我們同時用了三種方法設置css樣式,那么哪種方法真正有效呢?在右邊編輯器就出現了這種情況

1、使用內聯式CSS設置“超酷的互聯網”文字為粉色

2、然后使用嵌入式CSS來設置文字為紅色

3、最后又使用外部式設置文字為藍色(style.css文件中設置)。

但最終你可以觀察到“超酷的互聯網”這個短詞的文本被設置為了粉色。因為這三種樣式是有優先級的,記住他們的優先級:內聯式 > 嵌入式 > 外部式

但是嵌入式>外部式有一個前提:嵌入式css樣式的位置一定在外部式的后面。如右代碼編輯器就是這樣,<link href="style.css" ...>代碼在<style type="text/css">...</style>代碼的前面(實際開發中也是這么寫的)。感興趣的小伙伴可以試一下,把它們調換順序,再看他們的優先級是否變化。

其實總結來說,就是--就近原則(離被設置元素越近優先級別越高)

但注意上面所總結的優先級是有一個前提:內聯式、嵌入式、外部式樣式表中css樣式是在的相同權值的情況下,什么是權值呢?在后面的9-2小節中會講解到。

html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>嵌入式css樣式</title>
<link href="style.css" rel="stylesheet" type="text/css">
<style type="text/css">
span{
color:red;
}
</style>
</head>
<body>                                                   粉紅色字體                                                                                                               紅色字體
<p>慕課網,<span style="color:pink">超酷的互聯網</span>、IT技術免費學習平台,創新的網絡一站式學習、實踐體驗;<span>服務及時貼心</span>,內容專業、有趣易學。專注服務互聯網工程師快速成為技術高手!</p>
</body>
</html>

什么是選擇器?

每一條css樣式聲明(定義)由兩部分組成,形式如下:

選擇器{
    樣式;
}

標簽選擇器

標簽選擇器其實就是html代碼中的標簽。如右側代碼編輯器中的<html>、<body>、<h1>、<p>、<img>。例如下面代碼:

p{font-size:12px;line-height:1.6em;}

上面的css樣式代碼的作用:為p標簽設置12px字號,行間距設置1.6em的樣式。

類選擇器

語法:

.類選器名稱{css樣式代碼;}

注意:

1、英文圓點開頭

2、其中類選器名稱可以任意起名(但不要起中文噢)

<style type="text/css">
.stress{
color:red;
}
.blue{
color:blue;
}

</style>
</head>
<body>
<h1>勇氣</h1>
<p>三年級時,我還是一個<span class="stress">膽小如鼠</span>的小女孩,上課從來不敢回答老師提出的問題,生怕回答錯了老師會批評我。就一直沒有這個<span class="stress">勇氣</span>來回答老師提出的問題。學校舉辦的活動我也沒勇氣參加。</p>
<p>到了三年級下學期時,我們班上了一節<span class="blue">公開課</span>,老師提出了一個很簡單的問題,班里很多同學都舉手了,甚至成績比我差很多的,也舉手了,還說着:"我來,我來。"我環顧了四周,就我沒有舉手。</p>

D選擇器

在很多方面,ID選擇器都類似於類選擇符,但也有一些重要的區別:

1、為標簽設置id="ID名稱",而不是class="類名稱"。

2、ID選擇符的前面是井號(#)號,而不是英文圓點(.)

右側代碼編輯器中就是一個ID選擇符的完整實例。

類和ID選擇器的區別

學習了類選擇器和ID選擇器,我們會發現他們之間有很多的相似處,是不是兩者可以通用呢?我們不要着急先來總結一下他們的相同點和不同點:

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

1、ID選擇器只能在文檔中使用一次。與類選擇器不同,在一個HTML文檔中,ID選擇器只能使用一次,而且僅一次。而類選擇器可以使用多次。

下面代碼是正確的:

 <p>三年級時,我還是一個<span class="stress">膽小如鼠</span>的小女孩,上課從來不敢回答老師提出的問題,生怕回答錯了老師會批評我。就一直沒有這個<span class="stress">勇氣</span>來回答老師提出的問題。</p>

而下面代碼是錯誤的:

 <p>三年級時,我還是一個<span id="stress">膽小如鼠</span>的小女孩,上課從來不敢回答老師提出的問題,生怕回答錯了老師會批評我。就一直沒有這個<span id="stress">勇氣</span>來回答老師提出的問題。</p>

2、可以使用類選擇器詞列表方法為一個元素同時設置多個樣式。我們可以為一個元素同時設多個樣式,但只可以用類選擇器的方法實現,ID選擇器是不可以的(不能使用 ID 詞列表)。

下面的代碼是正確的(完整代碼見右側代碼編輯器)

.stress{
    color:red;
}
.bigsize{
    font-size:25px;
}
<p>到了<span class="stress bigsize">三年級</span>下學期時,我們班上了一節公開課...</p>

上面代碼的作用是為“三年級”三個文字設置文本顏色為紅色並且字號為25px。

下面的代碼是不正確的(完整代碼見右側代碼編輯器)

#stressid{
    color:red;
}
#bigsizeid{
    font-size:25px;
}
<p>到了<span id="stressid bigsizeid">三年級</span>下學期時,我們班上了一節公開課...</p>

上面代碼不可以實現為“三年級”三個文字設置文本顏色為紅色並且字號為25px的作用。

 

子選擇器

還有一個比較有用的選擇器子選擇器,即大於符號(>),用於選擇指定標簽元素的第一代子元素。如右側代碼編輯器中的代碼:

.food>li{border:1px solid red;}

這行代碼會使class名為food下的子元素li(水果、蔬菜)加入紅色實線邊框。

<style type="text/css">
.food>li{border:1px solid red;}/*添加邊框樣式(粗細為1px, 顏色為紅色的實線)*/
.first>span{border:1px solid red;}      li和span就是子選擇器
</style>
</head>
<body>
<p class="first">三年級時,<span >我還是一個膽小如鼠的小女孩</span>,上課從來不敢回答老師提出的問題,生怕回答錯了老師會批評我。就一直沒有這個勇氣來回答老師提出的問題。學校舉辦的活動我也沒勇氣參加。</p>
<h1>食物</h1>                若class="first"放在<span 后面>則不會顯示紅色框,因為他是子選擇器
<ul class="food">
<li>水果
<ul>
<li>香蕉</li>
<li>蘋果</li>
<li>梨</li>
</ul>
</li>

 

通用選擇器

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

* {color:red;}

偽類選擇符

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

a:hover{color:red;}

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

關於偽選擇符:

    關於偽類選擇符,到目前為止,可以兼容所有瀏鑒器的“偽類選擇符”就是 a 標簽上使用 :hover 了(其實偽類選擇符還有很多,尤其是 css3 中,但是因為不能兼容所有瀏覽器,本教程只是講了這一種最常用的)。其實 :hover 可以放在任意的標簽上,比如說 p:hover,但是它們的兼容性也是很不好的,所以現在比較常用的還是 a:hover 的組合

分組選擇符

當你想為html中多個標簽元素設置同一個樣式時,可以使用分組選擇符(,),如下代碼為右側代碼編輯器中的h1、span標簽同時設置字體顏色為紅色:

h1,span{color:red;}

它相當於下面兩行代碼:

h1{color:red;}
span{color:red;}
例如:
.first,#second span{color:green;}

.first,#second span{color:green;}

</style>
</head>
<body>
<h1>勇氣</h1>
<p class="first"><span>三年級時,我還是一個膽小如的小女孩,上課從來不敢回答老師提出的問題,生怕回答錯了老師會批評我。就一直沒有這個勇氣來回答老師提出的問題。學校舉辦的活動我也沒勇氣參加。</span></p>
<p id="second">到了三年級下學期時,我們班上了一節公開課,老師提出了一個很<span>簡單</span>的問題,班里很多同學都舉手了,甚至成績比我差很多的,也舉手了,還說着:"我來,我來。"我環顧了四周,就我沒有舉手。</p>

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是沒用起到作用的。

特殊性

有的時候我們為同一個元素設置了不同的CSS樣式代碼,那么元素會啟用哪一個CSS樣式呢?我們來看一下面的代碼:

p{color:red;}
.first{color:green;}
<p class="first">三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>

p和.first都匹配到了p這個標簽上,那么會顯示哪種顏色呢?green是正確的顏色,那么為什么呢?是因為瀏覽器是根據權值來判斷使用哪種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,所以可以理解為繼承的權值最低。

層疊

我們來思考一個問題:如果在html文件中對於同一個元素可以有多個css樣式存在並且這多個css樣式具有相同權重值怎么辦?好,這一小節中的層疊幫你解決這個問題。

層疊就是在html文件中對於同一個元素可以有多個css樣式存在,當有相同權重的樣式存在時,會根據這些css樣式的前后順序來決定,處於最后面的css樣式會被應用。

如下面代碼:

p{color:red;}
p{color:green;}
<p class="first">三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>

最后 p 中的文本會設置為green,這個層疊很好理解,理解為后面的樣式會覆蓋前面的樣式。

所以前面的css樣式優先級就不難理解了:

內聯樣式表(標簽內部)> 嵌入樣式表(當前文件中)> 外部樣式表(外部文件中)

重要性

我們在做網頁代碼的時,有些特殊的情況需要為某些樣式設置具有最高權值,怎么辦?這時候我們可以使用!important來解決。

如下代碼:

p{color:red!important;}
p{color:green;}
<p class="first">三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>

這時 p 段落中的文本會顯示的red紅色。

注意:!important要寫在分號的前面

這里注意當網頁制作者不設置css樣式時,瀏覽器會按照自己的一套樣式來顯示網頁。並且用戶也可以在瀏覽器中設置自己習慣的樣式,比如有的用戶習慣把字號設置為大一些,使其查看網頁的文本更加清楚。這時注意樣式優先級為:瀏覽器默認的樣式 < 網頁制作者樣式 < 用戶自己設置的樣式,但記住!important優先級樣式是個例外,權值高於用戶自己設置的樣式。

文字排版--字體

我們可以使用css樣式為網頁中的文字設置字體、字號、顏色等樣式屬性。下面我們來看一個例子,下面代碼實現:為網頁中的文字設置字體為宋體。

body{font-family:"宋體";}

現在一般網頁喜歡設置“微軟雅黑”,如下代碼:

body{font-family:"Microsoft Yahei";}

文字排版--字號、顏色

可以使用下面代碼設置網頁中文字的字號為12像素,並把字體顏色設置為#666(灰色):

body{font-size:12px;color:#666}

文字排版--粗體

我們還可以使用css樣式來改變文字的樣式:粗體、斜體、下划線、刪除線,可以使用下面代碼實現設置文字以粗體樣式顯示出來。

p span{font-weight:bold;}

文字排版--斜體

以下代碼可以實現文字以斜體樣式在瀏覽器中顯示:

p a{font-style:italic;}

 

文字排版--下划線

有些情況下想為文字設置為下划線樣式,這樣可以在視覺上強調文字,可以使用下面代碼來實現:

p a{text-decoration:underline;}

 

字排版--刪除線

如果想在網頁上設置刪除線怎么辦

上圖中的原價上的刪除線使用下面代碼就可以實現:

 .oldPrice{text-decoration:line-through;}

這個88元就是設置的刪除線

段落排版--縮進

中文文字中的段前習慣空兩個文字的空白,這個特殊的樣式可以用下面代碼來實現:

p{text-indent:2em;}
注意:2em的意思就是文字的2倍大小。

段落排版--行間距(行高)

這一小節我們來學習一下另一個在段落排版中起重要作用的行間距(行高)屬性(line-height),如下代碼實現設置段落行間距為1.5倍。

p{line-height:1.5em;}

段落排版--中文字間距、字母間距

中文字間隔、字母間隔設置:

如果想在網頁排版中設置文字間隔或者字母間隔就可以使用    letter-spacing 來實現,如下面代碼:

h1{
    letter-spacing:50px;
}
...
<h1>了不起的蓋茨比</h1>

注意:這個樣式使用在英文單詞時,是設置字母與字母之間的間距。

單詞間距設置

如果我想設置英文單詞之間的間距呢?可以使用 word-spacing 來實現。如下代碼:

h1{
    word-spacing:50px;
}
...
<h1>welcome to imooc!</h1>

段落排版--對齊

想為塊狀元素中的文本、圖片設置居中樣式嗎?可以使用text-align樣式代碼,如下代碼可實現文本居中顯示。(那么什么是塊狀元素呢?在后面的11-1、11-2小節中會講到。)

h1{
    text-align:center;
}
<h1>了不起的蓋茨比</h1>

同樣可以設置居左:

h1{
    text-align:left;
}
<h1>了不起的蓋茨比</h1>

還可以設置居右:

h1{
    text-align:right;
}
<h1>了不起的蓋茨比</h1>

元素分類

在講解CSS布局之前,我們需要提前知道一些知識,在CSS中,html中的標簽元素大體被分為三種不同的類型:塊狀元素內聯元素(又叫行內元素)內聯塊狀元素

常用的塊狀元素有:

<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>

常用的內聯元素有:

<a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>

常用的內聯塊狀元素有:

<img>、<input>

元素分類--塊級元素

什么是塊級元素?在html中<div>、 <p>、<h1>、<form>、<ul> 和 <li>就是塊級元素。設置display:block就是將元素顯示為塊級元素。如下代碼就是將內聯元素a轉換為塊狀元素,從而使a元素具有塊狀元素特點。

a{display:block;}

塊級元素特點:

1、每個塊級元素都從新的一行開始,並且其后的元素也另起一行。(真霸道,一個塊級元素獨占一行)

2、元素的高度、寬度、行高以及頂和底邊距都可設置。

3、元素寬度在不設置的情況下,是它本身父容器的100%(和父元素的寬度一致),除非設定一個寬度。

元素分類--內聯元素

在html中,<span>、<a>、<label>、<input>、 <strong> 和<em>就是典型的內聯元素行內元素)(inline)元素。當然塊狀元素也可以通過代碼display:inline將元素設置為內聯元素。如下代碼就是將塊狀元素div轉換為內聯元素,從而使 div 元素具有內聯元素特點。

 div{
     display:inline;
 }

......

<div>我要變成內聯元素</div>

內聯元素特點:

1、和其他元素都在一行上;

2、元素的高度、寬度及頂部和底部邊距不可設置;

3、元素的寬度就是它包含的文字或圖片的寬度,不可改變。

元素分類--內聯塊狀元素

內聯塊狀元素(inline-block就是同時具備內聯元素、塊狀元素的特點,代碼display:inline-block就是將元素設置為內聯塊狀元素。(css2.1新增),<img>、<input>標簽就是這種內聯塊狀標簽。

inline-block 元素特點:

1、和其他元素都在一行上;

2、元素的高度、寬度、行高以及頂和底邊距都可設置。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM