1. 程式人生 > >css中的層疊性及權重的比較

css中的層疊性及權重的比較

本文轉載於:猿2048網站➫css中的層疊性及權重的比較

假如同一個標籤被多個選擇器選中,每個選擇器都設定了相同的樣式,瀏覽器中載入時這個樣式聽誰的?

不同選擇器設定的同一個樣式,只會選擇一個進行載入,不會疊加。

為了解決聽誰的問題,引入層疊性的概念。

層疊性:多個選擇器選中同一個標籤,設定同一個樣式,瀏覽器中載入時,不會載入所有的屬性值,挑選其中一個載入,其中一個值層疊/覆蓋掉其他的值。

 

要實現層疊或覆蓋就涉及到比較,下面就是比較選擇器之間的權重的比較,權重的比較一共有兩種情況:1、選擇器選中了標籤;2、選擇器沒有選中標籤

首先說一下選擇器的權重:id>class>標籤>*(萬用字元);

①選擇器選中了標籤:

首先:如果都選中了標籤,比較選擇器權重。

選擇器有權重,權重大的會層疊權重小的。

計算權重:選擇器選擇的範圍越大,權重反而越小。id>class>標籤>*

方法:數選擇器的數量,先比較id個數→再比較class個數→最後比較標籤個數。

圖片中的標註順序(id個數,class個數,標籤個數)

頁面上顯示的樣式:

控制檯顯示:

 

 

 

其次:如果選擇器權重相同,比較css中程式碼的書寫順序。

css程式碼有載入順序,從上往下載入,後面載入的會覆蓋前面載入。

 

 #box1 .box2 .box3 p{      (1,2,1)   color: red; } .box1 #box2 .box3 p{ (1,2,1)    color: green; } .box1 .box2 #box3 p{ (1,2,1) 書寫順序最後,層疊前面的樣式    color: blue; }

 

 

②選擇器都沒有選中標籤:一部分樣式是可以繼承的。繼承誰的?

首先:比較每個選擇器選中的元素,距離目標元素p的在HTML中的距離,距離近的層疊距離遠的。簡稱就近原則。

 

 #box1{    

   color: red;

 }

  .box1 .box2{

    color: green;

  } 

  .box3{           選中的標籤距離p最近,繼承他的

    color: blue;
}

 

 

其次:如果距離一樣近,比較權重,權重大的層疊權重小的。

 

 #box1 .box2 #box3{               (2,1,0)    color: red; } .box1 #box2.box2 #box3{ (2,2,0)    color: green; } .box1 .box2 #box3.box3{ (1,3,0)   color: blue; }

 

 

再次:如果距離一樣近,選擇器權重一樣,看書寫順序。

 

 #box1 .box2 #box3.box3{

    color: red;

  }

  .box1 #box2.box2 #box3{

    color: green;

  }

  #box1.box1 #box2 .box3{

    color: blue;

  }

 

 

特殊的,在比較權重的過程中,有一個單詞important可以提升某一個樣式屬性的權重到最大。

比較就近原則,important對繼承性沒影響。

 

 #box1 .box2 #box3.box3{   color: red; } #box3{   color: green !important; 將這條屬性的權重提升的最大,與選擇器權重無關 } #box1.box1 #box2 .box3{   color: blue; }

 

 綜上所述:

 

最後:

以上比較都是以css內嵌式為例,在css的行內式、內嵌式和外鏈式中,權重:行內>內嵌=外鏈,顧名思義無論內嵌式或者外鏈式的權重多大都抵不過一句行內式!

但是加了important之後,權重就會高於行內式。如果該屬性是繼承而來的,加了important無效,以行內為準!

相關推薦

css中的層權重比較

本文轉載於:猿2048網站➫css中的層疊性及權重的比較 假如同一個標籤被多個選擇器選中,每個選擇器都設定了相同的樣式,瀏覽器中

前端-CSS-3-繼承性&層&權重比較

1、繼承性 <style type="text/css"> .father{ font-size: 30px; background-color: green;

css選擇器優先順序權重計算

一、優先順序分類 通常可以將css的優先順序由高到低分為6組: 第一優先順序:無條件優先的屬性只需要在屬性後面使用!important。它會覆蓋頁面內任何位置定義的元素樣式。ie6不支援該屬性。第二優先順序:在html中給元素標籤加style,即內聯樣式。該方法會造成cs

CSS繼承性

我們知道,對於面向物件開發語言, 比如:Java、C++、JavaScript、C#等的都有一個非常重要的特性,也就是繼承性。那麼在CSS中也有這樣的特性。 CSS繼承性 CSS中父元素的一些屬效能夠被其後代元素繼承,在這實際開發中非常的重要。先通過一個簡單

CSS的繼承性和層

color ima 瀏覽器 bsp 標簽 層疊 關系 處理 fff 一、繼承性 (1)所謂CSS繼承性是指被包在內部的標簽將擁有外部標簽的樣式性質,同時CSS繼承是一種機制,它允許樣式不僅可以應用於某個特定的元素,還可以應用於它的後代,是依賴於祖先-後代的關系

07-css的繼承性和層

nta 子元素 浮動 顯示 code 對象 案例 證明 splay css有兩大特性:繼承性和層疊性 繼承性 面向對象語言都會存在繼承的概念,在面向對象語言中,繼承的特點:繼承了父類的屬性和方法。那麽我們現在主要研究css,css就是在設置屬性的。不會牽扯到方法的層面。 繼

CSS繼承性和層

有一個 通過 權重 原則 wrap 顏色 css 算數 con CSS 有兩大特性:繼承性和層疊性 繼承性 面向對象語言都會存在繼承的概念。在面向對象語言中,繼承的特點:繼承父類的屬性和方法。 繼承:給父設置一些屬性,子級繼承了父級的該屬性,這就是css中的繼承 有一些屬性

css 兩大特性:繼承性和層

css 有兩大特性: 繼承性和層疊性,  繼承性     面嚮物件語言都會存在繼承的概念,在面向物件的語言中,繼承的特點:繼承了父類的屬性和方法.那麼我們現在主要研究css,css中沒有方法,所以我們僅僅繼承屬性.     繼承:給父級設定一些屬性,子級會繼承父類的該屬性       ps:

CSS繼承性與層

繼小編上一篇對CSS的介紹,在學到繼承性與層疊性時小編覺得有必要對其單獨進行說明一下。 一、繼承性 這邊先舉一個例子來說(只取了關鍵部分): <style type="text/css"> div{ color:blue; border: 2px solid

CSS引入方式權重等筆記

1,用css樣式設定的權重 > 在標籤屬性中設定的(優先順序) 注意:在table裡面設定border是給所有的行列都會加邊框,但是在css樣式中寫border就只會顯示最外層的邊框,若要全部的行列都加邊框,就得在寫css樣式時,在表格的td下寫。 CSS基本結構:選擇器{ 樣式屬性:

四 . css系列之選擇器詳解權重

(一)選擇器詳解 1.標籤選擇器(元素選擇器):HTML標籤作為選擇器,作用是選取HTML文件中相同的HTML元素P{} 2.類選擇器 第一步:設定類名<開始標籤 class="類名"></結束標籤> 第二步:為類設定樣式.

CSS高階系列之多種選擇器權重

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <ti

CSS定位以及z-index屬性(層)的詳解

定位 定位方向:top left right bottom就這四個位置 一、靜態定位 position:static; 靜態定位就是文件流,沒有別的意思,不需要寫 二、絕對定位 (脫標) position:absolute;

04-層權重相同處理

層疊性權重相同處理 第一種現象:當權重相同時,以後來設定的屬性為準,前提一定要權重相同 #box2 .wrap3 p{ color: yellow; } #box1 .wrap2 p{ color: red; } 我們會發現此時顯示的是紅色的。 第二種現象:

css三大特性繼承、層和優先順序(權重)

1 繼承 CSS的某些樣式是具有繼承性的,那麼什麼是繼承呢?繼承是一種規則,它允許樣式不僅應用於某個特定html標籤元素,而且應用於其後代。比如下面程式碼:如某種顏色應用於p標籤,這個顏色設定不僅應用p標籤,還應用於p標籤中的所有子元素文字,這裡子元素為sp

關於css兼容問題一些常見問題匯總

http 瀏覽器中 中間 精確 height 進行 消失 邊框 pac 目前主流瀏覽器的兼容性做的都比較好了,本文主要針對IE6,7的不兼容問題進行解決。 1.圓盤時鐘有浮動存在時,計算一定要精確,不要讓內容的寬高超出我們所設置的寬高,IE6下,內容會撐開設置好的高度。

CSS(4)---三大特性(繼承性,層,優先順序)

CSS(4)---三大特性(繼承性,層疊性,優先順序) CSS有三大特性分別是: 繼承性,層疊性,優先順序。 一、繼承性 概念 給父元素設定一些屬性,子元素也可以使用,這個我們就稱之為繼承性。 注意 1.並不是所有的屬性都可以繼承, 只有以color/font-/text-/line-開頭的屬性才可以繼承

HTML CSS樣式表 一

鏈接 mage type類 css 裏的 div adding set clas CSS,全拼Cascading Style Sheets,層疊樣式表,用於控制html<body>的元素的樣式和布局。 一、CSS的三種引用方式 1.內嵌 <div sty

HTML CSS樣式表 四

技術分享 清除 上層 -1 絕對定位 有序 定位 color abs 一、頁面布局:div+css布局 1.<style >   *{     margin:0px;     padding:0px;   }   #ad{     width:100px;   

HTML CSS樣式表 二

auto ansi ext pan 字體樣式 平鋪 eat 文本 大小 一、 #ID{     width:寬度px;     height:高度px;     background-color:red; 背景顏色的兩種加法     background:rgba