Web技術基礎

<style>
  #main p    { color: red; }
  .content p { color: green; }
  p.note     { color: blue; }
</style>
<div id="main" class="content">
  <p class="note">Hello</p>
</div>

假設沒有其他樣式設定。在上方的HTML中,「Hello」文字的顏色為下列何者?

  1. A紅色(red)
  2. B綠色(green)
  3. C藍色(blue)
查看答案與解析

正確答案:A. 紅色(red)

多條規則套用到同一元素時,選擇器權重(specificity)較高的規則優先。權重以(ID的數目, 類別・屬性・虛擬類別的數目, 元素的數目)的組合比較,#main p 為 (1, 0, 1),.content p 與 p.note 都是 (0, 1, 1),因此採用含有ID的 #main p 的紅色。權重相同的規則之間,寫在後面的規則優先。直接寫在style屬性中的設定或 !important 比這些更優先。

  • A. 正確。含有ID的 #main p 權重 (1, 0, 1) 最高。
  • B. .content p 的權重為 (0, 1, 1),低於含有ID的規則。而且它寫在權重相同的 p.note 之前。
  • C. p.note 寫在最後,但權重 (0, 1, 1) 低於含有ID的規則,因此不會被採用。若沒有ID的規則,就會是藍色。
練習這個領域 前往領域頁面

Web技術基礎的其他題目

  1. 在瀏覽器顯示第一個畫面之前的處理(關鍵轉譯路徑)中,若<head>中有不加屬性的 <script src="app.js">,HTML的解析就會在那裡停住。為這個元素加上defer屬性時的行為,下列何者正確?
  2. 在瀏覽器中執行上方的JavaScript時,主控台顯示文字的順序,下列何者正確?
  3. 依瀏覽器的同源政策,被視為與 https://www.example.com/app/index.html 同源的URL為下列何者?
  4. https://app.example.com 網頁的JavaScript,要使用fetch對 https://api.example.net/orders 送出附有Content-Type: application/json本文的POST請求。此時跨來源資源共用(CORS)的行為,下列何者正確?
  5. 關於Service Worker的說明,下列何者正確?