css3選擇器(css3選擇器語法結(jié)構(gòu))

AI資訊2年前發(fā)布 AI工具箱
47 00

本文主要講的是css3選擇器,以及和css3選擇器語法結(jié)構(gòu)相關(guān)的知識,如果覺得本文對您有所幫助,不要忘了將本文分享給朋友。

css3的選擇器有哪些?

css3選擇器如下:

一、通配符選擇器(*)

通配符選擇器是用來選擇所有元素,,也可以選擇某個元素下的所有元素。

二、元素選擇器(E)

元素選擇器,是css選擇器中最常見而且最基本的選擇器。

三、類選擇器(.className)

類選擇器是以一獨立于文檔元素的方式來指定樣式,使用類選擇器之前需要在html元素上定義類名

四、id選擇器(#ID)

ID選擇器和上面說的類選擇器是很相似的,在使用ID選擇器之前也需要先在html文檔中加注ID名稱,這樣在樣式選擇器中才能找到相對應(yīng)的元素,不同的是ID選擇器是一個頁面中唯一的值,我們在類使用時是在相對應(yīng)的類名前加上一個“.”號(.className)而id選擇器是在名稱前使用"#"如(#id),

五、后代選擇器(E F)

后代選擇器也被稱作包含選擇器,所起作用就是可以選擇某元素的后代元素,比如說:E?

F,前面E為祖先元素,F(xiàn)為后代元素,所表達的意思就是選擇了E元素的所有后代F元素,請注意他們之間需要一個空格隔開。

六、子元素選擇器(Egt;F)

子元素選擇器只能選擇某元素的子元素,其中E為父元素,而F為子元素,其中Egt;F所表示的是選擇了E元素下的所有子元素F。這和后代選擇器(E?

F)不一樣,在后代選擇器中F是E的后代元素,而子元素選擇器E gt; F,其中F僅僅是E的子元素而以。

七、相鄰兄弟元素選擇器(E + F)

相鄰兄弟選擇器可以選擇緊接在另一元素后的元素,而且他們具有一個相同的父元素,換句話說,EF兩元素具有一個相同的父元素,而且F元素在E元素后面,而且相鄰,這樣我們就可以使用相鄰兄弟元素選擇器來選擇F元素。

CSS3新增的哪些選擇器和常見的屬性是哪些?

一、新增的選擇器

CSS3新增的屬性選擇器 {除ie6外的大部分瀏覽器支持)

1 ? ?E[att^=”val”] ? ?屬性att的值以”val”開頭的元素 ? ?div[id^=”nav”] { background:#ff0; }?

2 ? ?E[att$=”val”] ? ?屬性att的值以”val”結(jié)尾的元素 ? ?? ?

3 ? ?E[att*=”val”] ? ?屬性att的值包含”val”字符串的元素 ? ?? ?

結(jié)構(gòu)偽類選擇器(過濾選擇器)

(注:FireFox 1.5/2.0/3.0支持E:root,F(xiàn)ireFox 3.0支持E:last-child、E:only-child、E:empty。

由于IE6/7/8不支持,沒辦法,選擇合適的場合用吧。)

4 ? ?E:root ? ?匹配文檔的根元素,對于HTML文檔,就是HTML元素 ? ?? ?

5 ? ?E:nth-child(n) ? ?匹配其父元素的第n個子元素,第一個編號為1 ? ?p:nth-child(3) { color:#f00; } ?

6 ? ?E:nth-last-child(n) ? ?匹配其父元素的倒數(shù)第n個子元素,第一個編號為1 ? ?p:last-child { background:#ff0; } ?

7 ? ?E:nth-of-type(n) ? ?與:nth-child()作用類似,但是僅匹配使用同種標簽的元素 ? ?p:nth-of-type(2){color:red;}選擇父元素的第n個子元素p ?

8 ? ?E:nth-last-of-type(n) ? ?與:nth-last-child() 作用類似,但是僅匹配使用同種標簽的元素 ? ?? ?

9 ? ?E:last-child ? ?匹配父元素的最后一個子元素,等同于:nth-last-child(1) ? ?? ?

10 ? ?E:first-of-type ? ?匹配父元素下使用同種標簽的第一個子元素,等同于:nth-of-type(1) ? ?? ?

11 ? ?E:last-of-type ? ?匹配父元素下使用同種標簽的最后一個子元素,等同于:nth-last-of-type(1) ? ?? ?

12 ? ?E:only-child ? ?匹配父元素下僅有的一個子元素,等同于:first-child:last-child或 :nth-child(1):nth-last-child(1) ? ?p:only-child { background:#ff0; } ?

13 ? ?E:only-of-type ? ?匹配父元素下使用同種標簽的唯一一個子元素,等同于:first-of-type:last-of-type或 :nth-of-type(1):nth-last-of-type(1) ? ?? ?

14 ? ?E:empty ? ?匹配一個不包含任何子元素的元素,注意,文本節(jié)點也被看作子元素 ? ?p:empty { background:#ff0; } ?

與用戶界面(UI)有關(guān)的偽類(ie6 7 8不支持)? ??

15 ? ?E:enabled ? ?匹配表單中激活的元素 ? ?? ?

16 ? ?E:disabled ? ?匹配表單中禁用的元素 ? ?input[type=”text”]:disabled { background:#ddd; } ?

17 ? ?E:checked ? ?匹配表單中被選中的radio(單選框)或checkbox(復(fù)選框)元素 ? ?? ?

18 ? ?E::selection ? ?匹配用戶當前選中的元素 ? ?? ?

級元素通用選擇器

ie6不支持?

19 ? ?E ~ F ? ?匹配任何在E元素之后的同級F元素 ? ?p ~ ul { background:#ff0; } ?

反選偽類

(ie6 7 8 firefox3.0以下 Opera9.0不支持) ?

20 ? ?E:not(s) ? ?匹配不符合當前選擇器的任何元素 ? ?:not(p) { border:1px solid #ccc; } ?

:target 偽類

(ie6 7 8不支持) ?

21 ? ?E:target ? ?匹配文檔中特定”id”點擊后的效果 ? ?? ?

?二、css3新增屬性

一. box-shadow(陰影效果)

使用:

box-shadow: 20px 10px 0 #000;

-moz-box-shadow: 20px 10px 0 #000;

-webkit-box-shadow: 20px 10px 0 #000;

支持:

? ? FF3.5, Safari 4, Chrome 3

二. border-colors(為邊框設(shè)置多種顏色)

使用:

border: 10px solid #000;

-moz-border-bottom-colors: #555 #666 #777 #888 #999 #aaa #bbb #ccc;

-moz-border-top-colors: #555 #666 #777 #888 #999 #aaa #bbb #ccc;

-moz-border-left-colors: #555 #666 #777 #888 #999 #aaa #bbb #ccc;

-moz-border-right-colors: #555 #666 #777 #888 #999 #aaa #bbb #ccc;

說明:

? ? 顏色值數(shù)量不固定, 且FF的私有寫法不支持縮寫: -moz-border-colors: #333 #444 #555;

支持:

? ?FF3+

三. boder-image(圖片邊框)

使用:

? ??-moz-border-image: url(exam.png) 20 20 20 20 repeat;

? ? -webkit-border-image: url(exam.png) 20 20 20 20 repeat;

說明:

(1). 20 20 20 20 — 邊框的寬度, 分別對應(yīng)top, right, bottom, left邊框, 改變寬度可以實現(xiàn)不同的效果;

(2). 邊框圖片效果(目前僅實現(xiàn)了兩種):

? ?repeat — 邊框圖片會平鋪, 類似于背景重復(fù);

? ?stretch — 邊框圖片會以拉伸的方式來鋪滿整個邊框;

(3). 必須將元素的邊框厚度設(shè)置為非0非auto值.

支持:

? ??FF 3.5,?Safari 4, Chrome 3

四. text-shadow(文本陰影)

使用:

? ??text-shadow:?[顏色水平偏移縱向偏移模糊半徑] ||?[水平偏移縱向偏移模糊半徑顏色];

說明:

(1)?顏色和模糊半徑是可選的, 當顏色未指定時, 將使用文本顏色; 當模糊半徑未指定時, 半徑值為0;

(2)?shadow可以是逗號分隔的列表, 如:

??text-shadow: 2px 2px 2px #ccc, 3px 3px 3px #ddd;

(3)?陰影效果會按照shadow list中指定的順序應(yīng)用到元素上;

(4)?這些陰影效果有可能相互重疊, 但不會疊加文本本身;

(5)?陰影可能會跑到容器的邊界之外, 但不會影響容器的大小.

支持:

? ??FF 3.5, Opera 10, Safari 4, Chrome 3

五.??text-overflow(文本截斷)

使用:

? ??text-overflow: inherit | ellipsis | clip ;

? ? -o-text-overflow: inherit | ellipsis | clip;

說明:

(1) 還有一個屬性ellipsis-word, 但各瀏覽器均不支持.

支持:

? ? IE6+, Safari4, Chrome3, Opera10

六. word-wrap(自動換行)

使用:

? ??word-wrap: normal | break-word;

支持:

? ??IE6+, FF 3.5, Safari 4, Chrome 3

七. border-radius(圓角邊框)

使用:

? ?? -moz-border-radius: 5px;

-webkit-border-radius: 5px;

支持:

FF 3+, Safari 4 , Chrome 3

八. ? opacity(不透明度)

使用:

? ? opacity: 0.5;

? ? filter: alpha(opacity=50); /* for IE6, 7 */

? ? -ms-filter(opacity=50); /* for IE8 */

支持:

? ? all

九. box-sizing(控制盒模型的組成模式)

使用:

? ? box-sizing: content-box | border-box; // for opera

? ? -moz-box-sizing:?content-box | border-box;

? ? -webkit-box-sizing:?content-box | border-box;

說明:

? ?1. content-box:

? ?使用此值時,?盒模型的組成模式是, 元素寬度 = content + padding + border;

? ?2. border-box:

? ?使用此值時,?盒模型的組成模式是, 元素寬度 = content(即使設(shè)置了padding和border, 元素的寬度

? ?也不會變).

支持:

? ? FF3+, Opera 10, Safari 4, Chrome 3

十. resize(元素縮放)

使用:

? ? resize:? none | both | horizontal | vertical;

說明:

? ? 1. 必須將元素的overflow屬性設(shè)置為auto或hidden, 該屬性才能起作用(overflow設(shè)置為visible時, 無效);

? ? 2. 屬性值說明:

? ? (1). none — 禁用縮放;

? ? (2). both — 可同時縮放寬度和高度;

? ? (3). horizontal — 僅能縮放寬度;

? ? (4). vertical — 僅能縮放高度;

支持:

? ? safari 4, chrome 3

十一. outline(外邊框)

使用:

? ? outline: 邊框厚度 邊框樣式 邊框顏色;

? ? outline-offset: 偏移值;

說明:

? ? outline-offset需要獨立寫, 簡寫是無效的.

支持:

? ? FF3+, safari 4, chrome 3, opera 10

十二. background-size(指定背景圖片的尺寸)

使用:

? ? -o-background-size: [length | percentage] {1, 2};

? ? -webkit-background-size:?[length | percentage] {1, 2};

例如:

? ?-o-background-size: 50px 60px;

? ? -webkit-background-size:?50px 60px;

? ? 這會將背景圖片的寬設(shè)置了50px, 高60px.

支持:

? ?? safari 4, chrome 3, opera 10

十三. background-origin(指定背景圖片從哪里開始顯示)

使用:

? ? -webkit-background-origin: border | padding | content;

? ? -moz-background-origin: border | padding | content;

說明:

? ? (1) border —?從border區(qū)域開始顯示背景;

? ? (2) padding —?從padding區(qū)域開始顯示背景;

? ? (3) content —?從content區(qū)域開始顯示背景;

注意:

? ? 1. 必須先指定background屬性, 然后才能指定該屬性, 如果該屬性出現(xiàn)在background屬性之前,

會無效.

支持:

? ?? safari 4, chrome 3, FF 3+ ?? ?? ?

十四. background-clip(指定背景圖片從什么位置開始裁切)

使用:

? ? -webkit-background-origin: border-box | padding-box | content-box | no-clip;

說明:

? ? (1)?border-box?—?從border區(qū)域向外裁剪背景;

? ? (2)?padding-box?—?從padding區(qū)域向外裁剪背景;

? ? (3)?content-box?—?從content區(qū)域向外裁剪背景;

? ? (4) no-clip — 不裁切背景.

注意:

? ? 1. 必須先指定background屬性, 然后才能指定該屬性, 如果該屬性出現(xiàn)在background屬性之前,

會無效.

支持:

? ?? safari 4, chrome 3

十五. ?background(為一個元素指定多個背景)

使用:

? ? background:? [background-image] | [background-origin] | [background-clip] | [background-repeat] | [background-size] | [background-position]

例子:

? ? background: url(bg1.png) no-repeat left top, url(bg2.png) no-repeat right bottom;

支持:

? ?? safari 4, chrome 3

十六. hsl(通過色調(diào), 飽和度, 亮度來指定顏色值)

使用:

? ? hsl: (?length?||?percentage?||?percentage);

說明:

? ? (1) length: h(色調(diào)), ?0(或360)表示紅色, 120表示綠色, 240表示藍色;

? ? (2) percentage: s(飽和度), ?取值為0%到100%之間的值;

? ? (3) percentage: l(亮度), ?取值為0%到100%之間的值;

例子:

? ? background: hsl(240, 50%, 100%);

? ? color: hsl(100, 80, 100%);

支持:

? ?? safari 4, chrome 3, FF3, opera 10

十七. hsla(在hsl的基礎(chǔ)上上增加了一個透明度設(shè)置)

使用:

? ? hsla: (?length??||??percentage??||??percentage || opacity);

說明:

? ? (1) opacity: a(透明度), 取值在0到1之間;

例子:

? ? background: hsl(240, 50%, 100%, 0.5);

? ??color: hsl(240, 50%, 100%, 0.5);

支持:

? ?? safari 4, chrome 3, FF3, opera 10

十八. rgba(基于r,g,b三個顏色通道來設(shè)置顏色值, 通過a來設(shè)置透明度)

使用:

? ? rgba: (r, g, b, opacity);

說明:

? ? (1) r: 紅色,?正整數(shù) | 百分數(shù);

? ? (2) g: 綠色,?正整數(shù) | 百分數(shù);

? ? (3) b: 藍色,?正整數(shù) | 百分數(shù);

? ? (4) a: 透明度, 取值在0到1之間;

? ? (5) 正整數(shù)在0到255之間, 百分數(shù)在0%到100%之間.

例子:

? ? rgba: (100%, 244, 0, 0.5);

支持:

? ?? safari 4, chrome 3, FF3, opera 10

十九、?transition(a標簽hover漸隱效果)

a:hover{transition: color 0.15s linear 0s, background-color 0.3s linear 0s;}

-webkit-transition:color 0.15s linear 0s, background-color 0.3s linear 0s;

-moz-transition:color 0.15s linear 0s, background-color 0.3s linear 0s;

-o-transition:color 0.15s linear 0s, background-color 0.3s linear 0s;

-ms-transition:color 0.15s linear 0s, background-color 0.3s linear 0s;

transition:color 0.15s linear 0s, background-color 0.3s linear 0s;

CSS3 選擇器

css3中,追加了三個屬性選擇器分別為:

結(jié)構(gòu)性偽類選擇器由兩部分構(gòu)成,一是偽類選擇器,一是偽元素選擇器。

偽類選擇器 ,要注意命名不要與系統(tǒng)定義好的選擇器重名,例如link、hover

偽元素選擇器 中包含 first-line、first-letter、before、after。

當root和body起沖突時,body就對內(nèi)容區(qū)域生效,在內(nèi)容區(qū)外則是root生效。

格式:not(selector)

1. first-child對一個父元素中的 第一個 子元素進行樣式的指定

2. last-child對一個父元素中的 最后一個 子元素進行樣式的指定

3. nth-child(positon)對一個父元素中的 指定序號 的子元素進行樣式的指定

4. nth-last-child 對一個父元素中的 指定倒數(shù)序號 的子元素進行樣式的指定

2)使用nth-of-type(odd)和nth-of-type(even)

1)使用nth-child

2)使用nth-child(an+b),a表示每次循環(huán)中,包括幾種樣式,b表示指定的樣式在循環(huán)中所處的位置。

only-child選擇器,在元素只有一個子元素時,可以代替使用 nth-child(1)/nth-last-child(1) 。

在css3選擇器中,除了結(jié)構(gòu)性偽類選擇器外,還有一種UI元素狀態(tài)選擇器——只有當元素處于某種狀態(tài)下才起作用,在默認狀態(tài)下不起作用。

通過js改變輸入框的可輸入和不可輸入狀態(tài),通過css樣式改變輸入框可輸入和不可輸入狀態(tài)時的背景顏色。

用來位于同一個父元素之下的,給與一個子元素平級的另一個子元素設(shè)定樣式

css3有哪些選擇器?

css3選擇器如下:

一、通配符選擇器(*)

通配符選擇器是用來選擇所有元素,,也可以選擇某個元素下的所有元素。

二、元素選擇器(E)

元素選擇器,是css選擇器中最常見而且最基本的選擇器。

三、類選擇器(.className)

類選擇器是以一獨立于文檔元素的方式來指定樣式,使用類選擇器之前需要在html元素上定義類名

四、id選擇器(#ID)

ID選擇器和上面說的類選擇器是很相似的,在使用ID選擇器之前也需要先在html文檔中加注ID名稱,這樣在樣式選擇器中才能找到相對應(yīng)的元素,不同的是ID選擇器是一個頁面中唯一的值,我們在類使用時是在相對應(yīng)的類名前加上一個“.”號(.className)而id選擇器是在名稱前使用”#”如(#id),

五、后代選擇器(E F)

后代選擇器也被稱作包含選擇器,所起作用就是可以選擇某元素的后代元素,比如說:E

F,前面E為祖先元素,F(xiàn)為后代元素,所表達的意思就是選擇了E元素的所有后代F元素,請注意他們之間需要一個空格隔開。

六、子元素選擇器(EF)

子元素選擇器只能選擇某元素的子元素,其中E為父元素,而F為子元素,其中EF所表示的是選擇了E元素下的所有子元素F。這和后代選擇器(E

F)不一樣,在后代選擇器中F是E的后代元素,而子元素選擇器EF,其中F僅僅是E的子元素而以。

七、相鄰兄弟元素選擇器(E + F)

相鄰兄弟選擇器可以選擇緊接在另一元素后的元素,而且他們具有一個相同的父元素,換句話說,EF兩元素具有一個相同的父元素,而且F元素在E元素后面,而且相鄰,這樣我們就可以使用相鄰兄弟元素選擇器來選擇F元素。

css3 新增選擇器有哪些?

一、css3之前的選擇器

ID選擇器,#

類選擇器,.

包含選擇器(E F)

偽類選擇器(:link,visited,hover,active,focus,first-child)

偽元素選擇器(::first-line,first-letter,before,after)

通配選擇器(.)

屬性選擇器(foo[name=’martin’])

子包含選擇器(EF)

相鄰兄弟選擇器(E+F)

二、css3新增選擇器

新增屬性選擇器:

E[foo^=’bar’] 匹配E元素,該元素包含foo屬性,且foo屬性值以bar開頭

E[foo$=’bar’] 匹配E元素,該元素包含foo屬性,且foo屬性值以bar結(jié)尾

E[foo*=’bar’] 匹配E元素,該元素包含foo屬性,且foo屬性值包含bar字符串

新增結(jié)構(gòu)偽類選擇器:

E:root 匹配文檔所在的根元素

E:nth-child(n) 匹配E所在父元素第n個匹配E的元素,非E的子元素也參與排序,若第n個子元素不是E元素,則該語句沒有效果(注意這里的n從1開始)

E:nth-last-child(n) 匹配E所在父元素倒數(shù)第n個匹配E的元素

E:nth-of-type(n) 匹配E所在父元素第n個匹配E的元素,非E的子元素不參與排序(n同樣是從1開始)注意區(qū)別nth-child(n)

E:last-child

E:first-of-type

E:last-of-type

E:only-child

E:only-of-type

E:empty

另外,使用前要考慮瀏覽器版本,新增css3選擇器存在兼容性問題。平時多多練習(xí),多動手。

CSS3中選擇器有哪些語法

ss3選擇器如下:

一、通配符選擇器(*)

通配符選擇器是用來選擇所有元素,,也可以選擇某個元素下的所有元素。

二、元素選擇器(E)

元素選擇器,是css選擇器中最常見而且最基本的選擇器。

三、類選擇器(.className)

類選擇器是以一獨立于文檔元素的方式來指定樣式,使用類選擇器之前需要在html元素上定義類名

四、id選擇器(#ID)

ID選擇器和上面說的類選擇器是很相似的,在使用ID選擇器之前也需要先在html文檔中加注ID名稱,這樣在樣式選擇器中才能找到相對應(yīng)的元素,不同的是ID選擇器是一個頁面中唯一的值,我們在類使用時是在相對應(yīng)的類名前加上一個“.”號(.className)而id選擇器是在名稱前使用”#”如(#id),

五、后代選擇器(E F)

后代選擇器也被稱作包含選擇器,所起作用就是可以選擇某元素的后代元素,比如說:E

F,前面E為祖先元素,F(xiàn)為后代元素,所表達的意思就是選擇了E元素的所有后代F元素,請注意他們之間需要一個空格隔開。

六、子元素選擇器(EF)

子元素選擇器只能選擇某元素的子元素,其中E為父元素,而F為子元素,其中EF所表示的是選擇了E元素下的所有子元素F。這和后代選擇器(E

F)不一樣,在后代選擇器中F是E的后代元素,而子元素選擇器EF,其中F僅僅是E的子元素而以。

七、相鄰兄弟元素選擇器(E + F)

相鄰兄弟選擇器可以選擇緊接在另一元素后的元素,而且他們具有一個相同的父元素,換句話說,EF兩元素具有一個相同的父元素,而且F元素在E元素后面,而且相鄰,這樣我們就可以使用相鄰兄弟元素選擇器來選擇F元素。

關(guān)于css3選擇器和css3選擇器語法結(jié)構(gòu)的相關(guān)介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

? 版權(quán)聲明

相關(guān)文章

暫無評論

none
暫無評論...