2017-02-25 47 views
4

起初,這裏是代碼的相關部分:無法使用ID選擇器更改Bootstrap h1文本顏色?

<head> 
<style type="text/css"> 
#part1 { 
    background: url("1.jpg") no-repeat center; 
    background-size: cover; 
} 
#1-title { 
    color: blue; 
} 
</style> 
</head> 

<body> 
<div class="jumbotron jumbotron-fluid" id="part1"> 
    <div class="container"> 
     <h1 id="1-title" class="display-3">The New App</h1> 
     <p class="lead" id="1-disc">A new app</p> 
     <hr class="my-4"> 
    </div> 
</div> 
</body> 

h1被分配「1標題」的ID,因此h1文字顏色應該是藍色的,但它仍然是黑色,即使我使用!important

不過,我嘗試添加一個類,如下應用樣式到它:

<style type="text/css"> 
#part1 { 
    background: url("1.jpg") no-repeat center; 
    background-size: cover; 
} 
.c { 
    color: blue; 
} 
</style> 

和:

<h1 class="display-3 c">The New App</h1> 

和它的工作。

那是什麼原因呢?爲什麼我無法使用d選擇器更改顏色?

+0

選中此鏈接(https://www.w3.org/TR/2011/WD-html5-20110525/elements.html#the-id-attribute) –

回答

3

ID選擇器不工作,因爲ID不能以數字開頭。請將ID更改爲字母或使用屬性選擇器[id='1-title'] {...}

2

這是因爲id或類名不能以數字開頭。

1

這是因爲ID選擇器不能以數字開頭。請閱讀爲HTML標記創建標識的規則。

ID和名稱標記必須以字母開頭([A-ZA-Z]),並且可以是 後跟任意數量的字母,數字([0-9]),連字符( 「 - 」) , 下劃線(「_」),冒號(「:」)和句點(「。」)。

請參閱下面的鏈接以獲得更多的見解。

Why can't I have a numeric value as the ID of an element?

2

作爲HTML5的,對一個ID的值的唯一的限制是:

必須在文檔中是唯一的 必須不包含任何空格字符 必須包含至少一個字符 類似規則適用於類(當然除了唯一性)。

所以這個值可以是全部數字,只是一個數字,只是標點符號,包括特殊字符,不管。沒有空白。這與HTML4非常不同。

在HTML 4中,ID值必須以字母開頭,然後字母只能用字母,數字,連字符,下劃線,冒號和句點。

在HTML5中,這些都是有效的:

<div id="999"> ... </div> 
<div id="#%LV-||"> ... </div> 
<div id="____V"> ... </div> 
<div id="⌘⌥"> ... </div> 
<div id="♥"> ... </div> 
<div id="{}"> ... </div> 
<div id="©"> ... </div> 
<div id="♤₩¤☆€~¥"> ... </div> 

記住就記住這一個ID值使用數字,標點符號或特殊字符可能會導致在其他情況下的麻煩(如CSS,JavaScript中,正則表達式) 。

2

所有的答案是正確的,但我寫這個答案人誰必須有一個ID開始的數字。這可以通過兩種方式來完成---

一號

您可以使用邁克爾·科克爾的answer--

[id='1-title'] {...} 

二號

但是這方面的支持,直到IE7所以,如果你是在那些倒黴的一個人誰ñ eeds支持較老的IE,你需要使用這樣的Unicode -

#\31-title {...} 

希望這有助於未來的讀者!

相關問題