id和class在css中的樣式設定的區別是什嗎?

來源:互聯網
上載者:User
一個Class是用來根據使用者定義的標準對一個或多個元素進行定義的。打個比較恰當的比方就是劇本:一個Class可以定義劇本中每個人物的故事線,你可以通過CSS,JavaScript等來使用這個類。因此你可以在一個頁面上使用class="Frodo" ,class="Gandalf", class="Aragorn"來區分不同的故事線。還有一點非常重要的是你可以在一個文檔中使用任意次數的Class。

至於 ID,通常用於定義頁面上一個僅出現一次的標記。在對頁面排版進行結構化布局時(比如說通常一個頁面都是由一個頁首,一個前序< masthead>,一個內容地區和一個頁尾等組成),一般使用ID比較理想,因為一個ID在一個文檔中只能被使用一次。而這些元素在同一頁面中很少會出現大於一次的情況。

歸納成一句話就是:Class可以反覆使用而ID在一個頁面中僅能被使用一次。有可能在很大部分瀏覽器中反覆使用同一個ID不會出現問題,但在標準上這絕對是錯誤的使用,而且很可能導致某些瀏覽器的現實問題。

在實際應用的時候,Class可能對文字的排版等比較有用,而ID則對宏觀布局和設計放置各種元素較有用

class是設定標籤的類,id是設定標籤的標識,class屬性用於指定元素屬於何種樣式的類。

如樣式表可以加入.content1 { color: red; background: #ff80c0 } 使用方法:class="content1"

id屬性用於定義一個元素的獨特的樣式。如一個CSS規則#content2 { font-size: larger } 使用方法:id="content2"

id是一個標籤,用於區分不同的結構和內容,就象你的名字,

如果一個屋子有2個人同名,就會出現混淆;

class是一個樣式,可以套在任何結構和內容上,就象一件衣服;

概念上說就是不一樣的:

id是先找到結構/內容,再給它定義樣式;class是先定義好一種樣式,再套給多個結構/內容。

id是元素的名稱,可以供js或其它指令碼程式來訪問該元素對象,而class是該元素的css類名。

id的值在整個當前網頁中應該是唯一的,即某一個元素定義了id="aaa",那麼這個網頁中其它的元素的id就不能定義成aaa,而class則可以。

另外,形如id="aaa"定義的,在css中是這樣設定其樣式的:

#aaa{ 樣式列表 }

而以class="bbb"形式定義的,在css中應該這樣設定其樣式:

.bbb{ 樣式列表 }

一.web標準中是不容許重複ID的,比如 div id="aa" 不容許重複2次,而class 定義的是類,理論上可以無限重複, 這樣需要多次引用的定義便可以使用他.

二.屬性的優先順序問題

ID 的優先順序要高於class,看上面的例子

三.方便JS等用戶端指令碼,如果在頁面中要對某個對象進行指令碼操作,那麼可以給他定義一個ID,否則只能利用遍曆頁面元素加上指定特定屬性來找到它,這是相對浪費時間資源,遠遠不如一個ID來得簡單.

A1:二者主要的區別在哪裡呢?

  id你只能用來定義單一元素,定義二個以後。頁面不會出現什麼問題,但是W3檢測的時候認為你頁面不符合標準;class是類,同一個class可以定義多個元素。就頁面效果而言,兩個東西的視覺效果幾乎無差別。

A2:id 選擇符為什麼要少用,它有有什麼局限性?

  單一使用的樣式用id,需要程式、js動態控制的樣式用id,id在頁面只能使用一次!提供少用id,因為id可能和頁面嵌的程式衝突(比如名稱相同等)!

A3:我該在什麼時候使用ID,什麼時候使用class?

  單一的元素,或需要程式、JS控制的東西,需要用id定義;重複使用的元素、類別,用class定義。

Class 在程式中稱“類”,同時在CSS中也書面語也叫“類”。在CSS樣式中以小寫“點”及“.”來命名如: .css5{屬性:屬性值;} ,而在html頁面裡則以class="css5" 來選擇調用,命名好的CSS又叫css選取器。如: .css5{屬性:屬性值;} 選取器在html調用為“<div class="css5">我是class例子</div> ”如果不知道怎麼引用CSS,那就可以瞭解下css引用。

而且class(類)在同一個html網頁頁面可以無數次的調用相同的class類,在這裡例子裡則可以在對應的網頁裡可以無數次調用選擇“css5”。這也說明class一般是用來調用css中的預配製屬性的,比如說有一個預配製屬性為如這裡的“.class01{屬性:屬性值;} ”,這樣就可以像調用函數一樣不用再一個網頁頁面裡重複的配置一個“類”屬性,而只需要寫上一個class類選擇,就可以在同一個頁面裡任何位置調用選擇具有相同的CLASS類。

ID是表示著標籤的身份,在JS指令碼中會用到id,當JS要修改一個標籤的屬性時,JS會將id名作為該標籤的唯一標識進行操作。也就是說ID只是頁面元素的標識,供其他元素指令碼等引用。假如你的頁面裡出現了兩個ID那JS效果特性較出現邏輯錯誤不知道依據哪個ID來改變其標籤屬性。 在CSS裡的ID不一定為JS而設定的,但是同樣ID在頁面裡也只能出現一次,並且是唯一性。雖然可能我們才學DIV+CSS愛好者在一個頁面裡同時調用相同的ID多次但是仍然沒有出現頁面混亂錯誤,但是我們為了W3C及各個標準我們也要遵循ID在一個頁面裡唯一性。以免出現瀏覽器安全色問題。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.