成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

CSS層疊與繼承用法手冊(cè)

開發(fā) 前端
你對(duì)CSS層疊與繼承的概念是否了解,文檔中的一個(gè)元素可能同時(shí)被多個(gè)css選擇器選中,每個(gè)選擇器都有一些css規(guī)則,這就是層疊;而所謂繼承,就是父元素的規(guī)則也會(huì)適用于子元素。

本文向大家描述一下CSS層疊與繼承的用法,個(gè)元素可能同時(shí)被多個(gè)CSS選擇器選中,每個(gè)選擇器都有一些CSS規(guī)則,這就是層疊,而繼承得來的規(guī)則沒有特殊性。

CSS層疊與繼承

一、CSS層疊

  我們知道文檔中的一個(gè)元素可能同時(shí)被多個(gè)CSS選擇器選中,每個(gè)選擇器都有一些CSS規(guī)則,這就是層疊。這些規(guī)則有可能不矛盾的,自然這些規(guī)則將會(huì)同時(shí)起效,然而有些規(guī)則是相互沖突的,例如:

ExampleSourceCode 

  1. <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"> 
  2. <head> 
  3. <title>CSSCascadetitle> 
  4. <styletypestyletype="text/CSS"> 
  5. h1{color:Red;}  
  6. bodyh1{color:Blue;}  
  7. style> 
  8. head> 
  9. <body> 
  10. <h1>Hellodiv-CSS.neth1> 
  11. body> 
  12. html> 

   為此需要為每條規(guī)則制定特殊性,當(dāng)發(fā)生沖突的時(shí)候必須選出一條最高特殊性的規(guī)則來應(yīng)用。CSS規(guī)則的特殊性可以用4個(gè)整數(shù)來表示,例如0,0,0,0.計(jì)算規(guī)則如下:

對(duì)于規(guī)則中的每個(gè)ID選擇符,特殊性加0,1,0,0

對(duì)于規(guī)則中每個(gè)類選擇符和屬性選擇符以及偽類,特殊性加0,0,1,0

對(duì)于規(guī)則中的每個(gè)元素名或者偽元素,特殊性加0,0,0,1

對(duì)于通配符,特殊性加0,0,0,0.

對(duì)于內(nèi)聯(lián)規(guī)則,特殊性加1,0,0,0

  最終得到結(jié)果就是這個(gè)規(guī)則的特殊性。兩個(gè)特殊性的比較類似字符串大小的比較,是從左往右依次比較,第一個(gè)數(shù)字大的規(guī)則的特殊性高。上例中兩條規(guī)則的特殊性分別是0,0,0,1和0,0,0,2,顯然第二條勝出,因此最終字是藍(lán)色的。

  注意,通配符的特殊性0,0,0,0看起來沒有作用,實(shí)際上不是,還有一種沒有特殊性的規(guī)則,0,0,0,0要比沒有特殊性更特殊,下面會(huì)介紹。

  CSS還有一個(gè)!important標(biāo)簽,用來改變CSS規(guī)則的特殊性。實(shí)際上,在解析CSS規(guī)則特殊性的時(shí)候,是將具有!important的規(guī)則和沒有此標(biāo)簽的規(guī)則利用上述方法分別計(jì)算特殊性,分別選出特殊性最高的規(guī)則。最終合并的時(shí)候,具有任何特殊性的帶有!important標(biāo)記的規(guī)則勝出。#p#

二、CSS繼承

  所謂繼承,就是父元素的規(guī)則也會(huì)適用于子元素。比如給body設(shè)置為color:Red;那么他內(nèi)部的元素如果沒有其他的規(guī)則設(shè)置,也都會(huì)變成紅色。繼承得來的規(guī)則沒有特殊性。下面看一個(gè)簡單的例子:

ExampleSourceCode

  1. <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"> 
  2. <head> 
  3. <title>CSSCascadetitle> 
  4. <styletypestyletype="text/CSS"> 
  5. *{color:Blue;}  
  6. div{color:Black;}  
  7. .imp{color:Red!important;}  
  8. #content{color:Green;}  
  9. style> 
  10. head> 
  11. <body> 
  12. <div>Hello<span>div-CSS.netspan>div> 
  13. <dividdivid="content"> 
  14. <pclasspclass="imp">Titlep> 
  15. ContentGoesHere.  
  16. div> 
  17. body> 
  18. html> 
  19.  

   注意,第一行的CSS并沒有繼承div的黑色,這是因?yàn)橥ㄅ浞木壒省Mㄅ浞奶厥庑噪m然是全0,但是還是比繼承的特殊性要高。第二行展示了!important標(biāo)記的作用。
  另外,一些明顯不應(yīng)該繼承的屬性,比如border,margin,padding之類的是不會(huì)被繼承的,具體可以參考CSS手冊(cè)。

三、其他

  雖然有4個(gè)整數(shù)來表示一個(gè)特殊性,仍然有可能出現(xiàn)兩條沖突的規(guī)則的特殊性完全一致的情況,此時(shí)就按照CSS規(guī)則出現(xiàn)的順序來確定,在樣式表中最后一個(gè)出現(xiàn)的規(guī)則勝出。一般不會(huì)出現(xiàn)這樣的情況,只有一個(gè)情況例外,考慮如下樣式表:

ExampleSourceCode 

  1. :active{color:Red;}  
  2. :hover{color:Blue;}  
  3. :visited{color:Purple;}  
  4. :link{color:Green;}  
  5.  

  這樣頁面中的鏈接永遠(yuǎn)也不會(huì)顯示紅色和藍(lán)色,因?yàn)橐粋€(gè)鏈接要么被訪問過,要么沒有被訪問過。而這兩條規(guī)則在最后,因此總會(huì)勝出。如果改成這樣:

ExampleSourceCode 

  1. :link{color:Green;}  
  2. :visited{color:Purple;}  
  3. :hover{color:Blue;}  
  4. :active{color:Red;}  
  5.  

  就能實(shí)現(xiàn)鼠標(biāo)懸停和點(diǎn)擊的瞬間變色的效果。這樣的順序的首字母正好連成“LoVeHA”,這樣的順序被約定俗成的叫做LoveHa規(guī)則。特殊性規(guī)則從理論上講比較抽象和難懂,但在實(shí)踐中,只要樣式表是設(shè)計(jì)良好的,并不會(huì)有太多這方面的困擾,因此本文也不再做深究,更多的技術(shù)請(qǐng)參考div-CSS.net的文章更新!

文章來源:Div-CSS.net設(shè)計(jì)網(wǎng)參考:http://www.div-CSS.net/div_CSS/topic/index.asp?id=9998

【編輯推薦】

  1. CSS樣式實(shí)時(shí)切換技巧剖析
  2. CSS中margin邊界疊加問題及解決方案
  3. CSS樣式表高效使用八大秘訣
  4. 將XHTML+CSS頁面轉(zhuǎn)換為打印機(jī)頁面技巧
  5. 實(shí)現(xiàn)CSS垂直居中的五大方法及優(yōu)缺點(diǎn)
責(zé)任編輯:佚名 來源: div-css.net
相關(guān)推薦

2010-09-01 09:29:51

CSS層疊CSS繼承

2010-08-26 11:13:52

CSSwhite-space

2023-07-14 07:52:37

CSS優(yōu)先級(jí)Design

2010-09-06 09:41:28

CSS繼承

2015-10-09 09:43:28

CSS CSS3

2024-04-26 08:27:15

JavaScriptCSSHTML元素

2010-09-03 15:20:36

CSS組合CSS嵌套

2010-09-06 14:11:32

CSS

2010-07-20 09:45:04

Perl繼承

2010-08-26 11:01:00

ulliCSS

2010-08-30 10:52:39

CSSclassid

2010-08-24 08:47:20

paddingCSS

2010-08-24 16:17:27

CSS簡寫

2010-08-24 13:34:11

CSSpadding

2010-08-06 14:52:35

FlexCSS層疊樣式表

2010-08-23 10:57:14

CSSclassid

2010-10-09 09:18:14

JavaScriptArray對(duì)象

2009-12-23 13:53:21

ld-Linux用法

2010-08-25 14:26:09

CSSdisplay

2010-08-25 14:36:35

CSSheightwidth
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 色婷婷综合久久久中字幕精品久久 | 精品久久久久久久 | 在线亚洲人成电影网站色www | 国产精品视频一 | 午夜精品一区二区三区在线视频 | 色综合天天天天做夜夜夜夜做 | 青青青伊人| 亚洲国产成人一区二区 | 欧美日韩在线不卡 | 日韩欧美中文字幕在线视频 | 91精品国产92 | 激情综合五月 | 精品91久久| 一区二区在线 | 天天综合久久 | 成人免费看 | 久久精品一级 | 综合久久久久久久 | 欧美日韩亚洲国产综合 | 日韩www| 视频国产一区 | www.av在线 | 污片在线观看 | 欧美一区二区三区,视频 | 午夜一区二区三区视频 | 香蕉一区 | 日韩欧美一区二区三区四区 | 国产 日韩 欧美 制服 另类 | 亚洲国产精品区 | 久久人爽爽人爽爽 | 一区二区在线不卡 | 亚洲国产精品99久久久久久久久 | 狠狠久久| 在线欧美视频 | www.日本在线观看 | 久久精品播放 | 91精品久久久久久久久中文字幕 | 久久综合九九 | 亚洲一区二区三区视频在线 | 亚洲欧美日韩在线 | 91高清免费 |