CSS3新增的選擇器和屬性


<!doctype html>無標題文檔

一、新增的選擇器

CSS3新增的屬性選擇器

{除ie6外的大部分瀏覽器支持)
序號 選擇器 含義 實例
1 E[att^="val"] 屬性att的值以"val"開頭的元素 div[id^="nav"] { background:#ff0; }
2 E[att$="val"] 屬性att的值以"val"結尾的元素  
3 E[att*="val"] 屬性att的值包含"val"字符串的元素  

結構偽類選擇器(過濾選擇器)

(注:FireFox 1.5/2.0/3.0支持E:root,FireFox 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) 匹配其父元素的倒數第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 匹配一個不包含任何子元素的元素,注意,文本節點也被看作子元素 p:empty { background:#ff0; }

與用戶界面(UI)有關的偽類

(ie6 7 8不支持)
序號 選擇器 含義 實例
15 E:enabled 匹配表單中激活的元素  
16 E:disabled 匹配表單中禁用的元素 input[type="text"]:disabled { background:#ddd; }
17 E:checked 匹配表單中被選中的radio(單選框)或checkbox(復選框)元素  
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(為邊框設置多種顏色)

使用:

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;

說明: 

       顏色值數量不固定, 且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 ---> 邊框的寬度, 分別對應top, right, bottom, left邊框, 改變寬度可以實現不同的效果;

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

      repeat --- 邊框圖片會平鋪, 類似於背景重復;

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

(3). 必須將元素的邊框厚度設置為非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中指定的順序應用到元素上;

(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(即使設置了padding和border, 元素的寬度

      也不會變).

支持:

       FF3+, Opera 10, Safari 4, Chrome 3

 

十. resize(元素縮放)

使用: 

       resize:  none | both | horizontal | vertical;

說明:

       1. 必須將元素的overflow屬性設置為auto或hidden, 該屬性才能起作用(overflow設置為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;

       這會將背景圖片的寬設置了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區域開始顯示背景;

       (2) padding --> 從padding區域開始顯示背景;

       (3) content --> 從content區域開始顯示背景;

注意:

       1. 必須先指定background屬性, 然后才能指定該屬性, 如果該屬性出現在background屬性之前, 

會無效.
支持:

        safari 4, chrome 3, FF 3+           

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

使用: 

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

說明:

       (1) border-box --> 從border區域向外裁剪背景;

       (2) padding-box --> 從padding區域向外裁剪背景;

       (3) content-box --> 從content區域向外裁剪背景;

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

注意:

       1. 必須先指定background屬性, 然后才能指定該屬性, 如果該屬性出現在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(通過色調, 飽和度, 亮度來指定顏色值)

使用:

       hsl: ( <length> || <percentage> || <percentage>);

說明:

       (1) length: h(色調),  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的基礎上上增加了一個透明度設置)

使用:

       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三個顏色通道來設置顏色值, 通過a來設置透明度)

使用:

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

說明:

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

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

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

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

       (5) 正整數在0到255之間, 百分數在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;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM